Revision: 201021 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 09 Jun 2010 11:20:54 +0300
branchRCL_3
changeset 23 545d349d14da
parent 20 67584cc761d1
child 28 f50f14318409
Revision: 201021 Kit: 2010123
devsound/a3facf/group/bld.inf
devsound/a3facf/inc/mcontexteffectiveclient.h
devsound/a3fdevsound/bwins/mmfdevsoundadaptor.def
devsound/a3fdevsound/eabi/mmfdevsoundadaptor.def
devsound/a3fdevsound/src/devsoundadaptor/cdevaudio.cpp
devsound/a3fdevsound/src/devsoundadaptor/cdevaudio.h
devsound/a3fdevsound/src/devsoundadaptor/cdevcommoncontrol.cpp
devsound/a3fdevsound/src/devsoundadaptor/mmfdevsoundadaptation.cpp
devsound/a3fdevsound/src/devsoundadaptor/mmfdevsoundadaptation.h
devsound/a3fdevsound/src/devsoundadaptor/mmfdevsoundadaptationbody.cpp
devsound/a3fdevsound/src/devsoundadaptor/mmfdevsoundadaptationbody.h
devsound/a3fdevsound/src/mmfdevsoundserver/mmfdevsoundsession.cpp
imagingandcamerafws/imagingfws/ImageProcessor/bwins/imageprocessor.def
imagingandcamerafws/imagingfws/ImageProcessor/eabi/imageprocessor.def
imagingandcamerafws/imagingfws/ImageProcessor/src/imageprocessorinputinfo.cpp
imagingandcamerafws/imagingfws/ImageProcessor/src/imageprocessoroutputinfo.cpp
mdfdevvideoextensions/nga_mdf_postprocessor/inc/NGAPostProcHwDevice.h
mdfdevvideoextensions/nga_mdf_postprocessor/inc/surface_hints.h
mdfdevvideoextensions/nga_mdf_postprocessor/src/NGAPostProcHwDevice.cpp
mm_plat/audio_routing_api/inc/AudioOutput.h
mm_plat/audio_routing_proxy_api/inc/AudioInputProxy.h
mm_plat/audio_routing_proxy_api/inc/AudioOutputProxy.h
mm_plat/custom_interface_proxy_factory_api/inc/CustomInterfaceProxyFactory.h
mm_plat/custom_interface_utility_api/inc/CustomCommandUtility.h
mm_plat/custom_interface_utility_api/inc/CustomInterfaceUtility.h
mm_pub/audio_effects_api/inc/AudioEqualizerBase.h
mm_pub/audio_effects_api/inc/BassBoostBase.h
mm_pub/audio_effects_api/inc/DistanceAttenuationBase.h
mm_pub/audio_effects_api/inc/DopplerBase.h
mm_pub/audio_effects_api/inc/EnvironmentalReverbBase.h
mm_pub/audio_effects_api/inc/ListenerDopplerBase.h
mm_pub/audio_effects_api/inc/ListenerLocationBase.h
mm_pub/audio_effects_api/inc/ListenerOrientationBase.h
mm_pub/audio_effects_api/inc/LoudnessBase.h
mm_pub/audio_effects_api/inc/OrientationBase.h
mm_pub/audio_effects_api/inc/RoomLevelBase.h
mm_pub/audio_effects_api/inc/SourceDopplerBase.h
mm_pub/audio_effects_api/inc/SourceLocationBase.h
mm_pub/audio_effects_api/inc/SourceOrientationBase.h
mm_pub/audio_effects_api/inc/StereoWideningBase.h
mm_pub/drm_audio_player_api/tsrc/data/mmc/drm/test3gp.dcf
mm_pub/drm_audio_player_api/tsrc/data/mmc/drm/testmp3.dcf
mmapitest/devsoundexthaitest/common/inc/DataWrapperBase.h
mmapitest/devsoundexthaitest/common/src/DataWrapperBase.cpp
mmapitest/devsoundexthaitest/group/bld.inf
mmapitest/devsoundexthaitest/group/device.cfg
mmapitest/devsoundexthaitest/group/devsoundexthaitest.mrp
mmapitest/devsoundexthaitest/group/release.txt
mmapitest/devsoundexthaitest/group/t_devsoundext.iby
mmapitest/devsoundexthaitest/group/t_devsoundext.mmp
mmapitest/devsoundexthaitest/group/t_devsoundext_binaries.iby
mmapitest/devsoundexthaitest/group/t_devsoundext_testdata.iby
mmapitest/devsoundexthaitest/group/testdriversetup.bat
mmapitest/devsoundexthaitest/group/testdriversetup.pl
mmapitest/devsoundexthaitest/inc/T_CAudioInputData.h
mmapitest/devsoundexthaitest/inc/T_CAudioOutputData.h
mmapitest/devsoundexthaitest/inc/T_CErrorConcealmentIntfcData.h
mmapitest/devsoundexthaitest/inc/T_CG711DecoderIntfcData.h
mmapitest/devsoundexthaitest/inc/T_CMMFDevSoundData.h
mmapitest/devsoundexthaitest/inc/T_CRestrictedAudioOutputData.h
mmapitest/devsoundexthaitest/inc/T_CTelephonyAudioRoutingData.h
mmapitest/devsoundexthaitest/inc/T_DevSoundServer.h
mmapitest/devsoundexthaitest/inc/T_DevSoundServer.inl
mmapitest/devsoundexthaitest/pkg/t_devsoundext.bat
mmapitest/devsoundexthaitest/scripts/multimedia-mmf-devsoundext-stress-automated-recording.script
mmapitest/devsoundexthaitest/scripts/multimedia-mmf-devsoundext-validation-automated-comb_pr.script
mmapitest/devsoundexthaitest/scripts/multimedia-mmf-devsoundext-validation-automated-comb_rr.script
mmapitest/devsoundexthaitest/scripts/multimedia-mmf-devsoundext-validation-automated-p.script
mmapitest/devsoundexthaitest/scripts/multimedia-mmf-devsoundext-validation-automated-r.script
mmapitest/devsoundexthaitest/src/T_CAudioInputData.cpp
mmapitest/devsoundexthaitest/src/T_CAudioOutputData.cpp
mmapitest/devsoundexthaitest/src/T_CErrorConcealmentIntfcData.cpp
mmapitest/devsoundexthaitest/src/T_CG711DecoderIntfcData.cpp
mmapitest/devsoundexthaitest/src/T_CMMFDevSoundData.cpp
mmapitest/devsoundexthaitest/src/T_CRestrictedAudioOutputData.cpp
mmapitest/devsoundexthaitest/src/T_CTelephonyAudioRoutingData.cpp
mmapitest/devsoundexthaitest/src/T_DevSoundServer.cpp
mmapitest/devsoundexthaitest/testdata/devlon52/t_devsoundext.ini
mmapitest/devsoundexthaitest/testdata/devlon52/t_devsoundext.tcs
mmapitest/devsoundexthaitest/testdata/h6hrp/t_devsoundext.ini
mmapitest/devsoundexthaitest/testdata/h6hrp/t_devsoundext.tcs
mmapitest/devsoundexthaitest/testdata/multimedia-mmf-devsoundext-stress-automated-recording.ini
mmapitest/devsoundexthaitest/testdata/multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
mmapitest/devsoundexthaitest/testdata/multimedia-mmf-devsoundext-validation-automated-comb_rr.ini
mmapitest/devsoundexthaitest/testdata/multimedia-mmf-devsoundext-validation-automated-p.ini
mmapitest/devsoundexthaitest/testdata/multimedia-mmf-devsoundext-validation-automated-r.ini
mmapitest/devsoundexthaitest/testdata/t_devsoundext_environment.ini
mmapitest/devsoundexthaitest/testdata/tube/t_devsoundext.ini
mmapitest/devsoundexthaitest/testdata/tube/t_devsoundext.tcs
mmapitest/devsoundexthaitest/testsuites/group/bld.inf
mmapitest/devsoundexthaitest/testsuites/multimedia/devsoundexthai.driver
mmapitest/devsoundhaitest/common/inc/DataWrapperBase.h
mmapitest/devsoundhaitest/common/src/DataWrapperBase.cpp
mmapitest/devsoundhaitest/group/bld.inf
mmapitest/devsoundhaitest/group/device.cfg
mmapitest/devsoundhaitest/group/devsoundhaitest.mrp
mmapitest/devsoundhaitest/group/release.txt
mmapitest/devsoundhaitest/group/t_devsound.iby
mmapitest/devsoundhaitest/group/t_devsound.mmp
mmapitest/devsoundhaitest/group/t_devsound_binaries.iby
mmapitest/devsoundhaitest/group/t_devsound_testdata.iby
mmapitest/devsoundhaitest/group/testdriversetup.bat
mmapitest/devsoundhaitest/group/testdriversetup.pl
mmapitest/devsoundhaitest/inc/T_CMMFDevSoundData.h
mmapitest/devsoundhaitest/inc/T_CRepositoryData.h
mmapitest/devsoundhaitest/inc/T_DevSoundServer.h
mmapitest/devsoundhaitest/inc/T_DevSoundServer.inl
mmapitest/devsoundhaitest/pkg/t_devsound.bat
mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-stress-automated-playback.script
mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-stress-automated-recording.script
mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-stress-automated-tones.script
mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-stress-automated.script
mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-comb_pp.script
mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-comb_pr.script
mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-comb_pt.script
mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-comb_rr.script
mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-comb_rt.script
mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-comb_tt.script
mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-playback.script
mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-recording.script
mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-tones.script
mmapitest/devsoundhaitest/src/T_CMMFDevSoundData.cpp
mmapitest/devsoundhaitest/src/T_CRepositoryData.cpp
mmapitest/devsoundhaitest/src/T_DevSoundServer.cpp
mmapitest/devsoundhaitest/testdata/devlon52/t_devsound.ini
mmapitest/devsoundhaitest/testdata/devlon52/t_devsound.tcs
mmapitest/devsoundhaitest/testdata/h6hrp/t_devsound.ini
mmapitest/devsoundhaitest/testdata/h6hrp/t_devsound.tcs
mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-stress-automated-playback.ini
mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-stress-automated-recording.ini
mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-stress-automated-tones.ini
mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-stress-automated.ini
mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-comb_pp.ini
mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-comb_pr.ini
mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-comb_pt.ini
mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-comb_rr.ini
mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-comb_rt.ini
mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-comb_tt.ini
mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-playback.ini
mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-recording.ini
mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-tones.ini
mmapitest/devsoundhaitest/testdata/t_devsound_environment.ini
mmapitest/devsoundhaitest/testdata/tube/t_devsound.ini
mmapitest/devsoundhaitest/testdata/tube/t_devsound.tcs
mmapitest/devsoundhaitest/testsuites/group/bld.inf
mmapitest/devsoundhaitest/testsuites/multimedia/devsoundhai.driver
mmapitest/devvideohaitest/common/inc/datawrapperbase.h
mmapitest/devvideohaitest/common/src/datawrapperbase.cpp
mmapitest/devvideohaitest/group/bld.inf
mmapitest/devvideohaitest/group/device.cfg
mmapitest/devvideohaitest/group/devvideohaitest.mrp
mmapitest/devvideohaitest/group/release.txt
mmapitest/devvideohaitest/group/t_devvideo.iby
mmapitest/devvideohaitest/group/t_devvideo.mmp
mmapitest/devvideohaitest/group/t_devvideo_binaries.iby
mmapitest/devvideohaitest/group/t_devvideo_testdata.iby
mmapitest/devvideohaitest/group/testdriversetup.bat
mmapitest/devvideohaitest/group/testdriversetup.pl
mmapitest/devvideohaitest/inc/T_DevVideoConstants.h
mmapitest/devvideohaitest/inc/T_DevvideoServer.h
mmapitest/devvideohaitest/inc/T_DevvideoServer.inl
mmapitest/devvideohaitest/inc/h264dectestengine.h
mmapitest/devvideohaitest/inc/t_cmmfdevvideoplaydata.h
mmapitest/devvideohaitest/inc/t_cmmfdevvideorecorddata.h
mmapitest/devvideohaitest/pkg/t_devvideo.bat
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h263-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h263-scale-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h264-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h264-backward-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h264-forward-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h264-negative-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h264-pause-resume-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h264-scale-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-mpeg4-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-mpeg4-backward-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-mpeg4-forward-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-mpeg4-rotation-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-mpeg4-scale-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-record-h263-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-record-h263-pause-resume-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-record-h264-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-record-h264-pause-resume-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-record-mpeg4-automated.script
mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-record-mpeg4-pause-resume-automated.script
mmapitest/devvideohaitest/src/T_CMMFDevVideoPlayData.cpp
mmapitest/devvideohaitest/src/T_CMMFDevVideoRecordData.cpp
mmapitest/devvideohaitest/src/T_DevvideoServer.cpp
mmapitest/devvideohaitest/src/h264dectestengine.cpp
mmapitest/devvideohaitest/testdata/devlon52/t_devvideo.ini
mmapitest/devvideohaitest/testdata/devlon52/t_devvideo.tcs
mmapitest/devvideohaitest/testdata/h4hrp/t_devvideo.ini
mmapitest/devvideohaitest/testdata/h4hrp/t_devvideo.tcs
mmapitest/devvideohaitest/testdata/h6hrp/t_devvideo.ini
mmapitest/devvideohaitest/testdata/h6hrp/t_devvideo.tcs
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h263-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h263-scale-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h264-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h264-backward-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h264-forward-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h264-negative-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h264-pause-resume-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h264-scale-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-mpeg4-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-mpeg4-backward-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-mpeg4-forward-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-mpeg4-scale-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-record-h263-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-record-h263-pause-resume-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-record-h264-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-record-h264-pause-resume-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-record-mpeg4-automated.ini
mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
mmapitest/devvideohaitest/testdata/t_devvideo_environment.ini
mmapitest/devvideohaitest/testdata/tube/t_devvideo.ini
mmapitest/devvideohaitest/testdata/tube/t_devvideo.tcs
mmapitest/devvideohaitest/testsuites/group/bld.inf
mmapitest/devvideohaitest/testsuites/multimedia/devvideohai.driver
mmapitest/devvideohaitest/testsuites/multimedia/h6_devvideohai.driver
mmapitest/mmsvs/group/mmsvs.mrp
mmapitest/mmsvs/group/release.txt
mmapitest/mmsvs/suite/common/inc/DataWrapperBase.h
mmapitest/mmsvs/suite/common/inc/T_MMUtil.h
mmapitest/mmsvs/suite/common/src/DataWrapperBase.cpp
mmapitest/mmsvs/suite/common/src/T_MMUtil.cpp
mmapitest/mmsvs/suite/config/t_multimedia.tcs
mmapitest/mmsvs/suite/ecam/T_Camera/group/T_Camera.mmp
mmapitest/mmsvs/suite/ecam/T_Camera/group/bld.inf
mmapitest/mmsvs/suite/ecam/T_Camera/group/t_camera.iby
mmapitest/mmsvs/suite/ecam/T_Camera/group/t_camera_binaries.iby
mmapitest/mmsvs/suite/ecam/T_Camera/group/t_camera_testdata.iby
mmapitest/mmsvs/suite/ecam/T_Camera/inc/T_CameraParams.h
mmapitest/mmsvs/suite/ecam/T_Camera/inc/T_CameraServer.h
mmapitest/mmsvs/suite/ecam/T_Camera/inc/T_CameraServer.inl
mmapitest/mmsvs/suite/ecam/T_Camera/inc/T_MMDataCamera.h
mmapitest/mmsvs/suite/ecam/T_Camera/pkg/T_Camera.pkg
mmapitest/mmsvs/suite/ecam/T_Camera/pkg/tcamera.bat
mmapitest/mmsvs/suite/ecam/T_Camera/scripts/MM-ECM-PublicApi.script
mmapitest/mmsvs/suite/ecam/T_Camera/scripts/setup-MM-ECM-PublicApi.script
mmapitest/mmsvs/suite/ecam/T_Camera/src/T_CameraServer.cpp
mmapitest/mmsvs/suite/ecam/T_Camera/src/T_MMDataCamera.cpp
mmapitest/mmsvs/suite/ecam/T_Camera/testdata/MM-ECM-PublicApi.ini
mmapitest/mmsvs/suite/group/102070CC.txt
mmapitest/mmsvs/suite/group/bld.inf
mmapitest/mmsvs/suite/group/dummyavi.iby
mmapitest/mmsvs/suite/group/makerom.bat
mmapitest/mmsvs/suite/group/makesisfiles.bat
mmapitest/mmsvs/suite/group/maketdrom.bat
mmapitest/mmsvs/suite/group/mmsetup.bat
mmapitest/mmsvs/suite/group/mmsetup.pl
mmapitest/mmsvs/suite/group/t_multimedia.oby
mmapitest/mmsvs/suite/group/td_multimedia.oby
mmapitest/mmsvs/suite/group/testdriversetup.bat
mmapitest/mmsvs/suite/group/testdriversetup.pl
mmapitest/mmsvs/suite/icl/T_ImageDecoder/group/T_ImageDecoder.mmp
mmapitest/mmsvs/suite/icl/T_ImageDecoder/group/bld.inf
mmapitest/mmsvs/suite/icl/T_ImageDecoder/group/t_imagedecoder.iby
mmapitest/mmsvs/suite/icl/T_ImageDecoder/group/t_imagedecoder_binaries.iby
mmapitest/mmsvs/suite/icl/T_ImageDecoder/group/t_imagedecoder_testdata.iby
mmapitest/mmsvs/suite/icl/T_ImageDecoder/inc/T_ImageDecoderServer.h
mmapitest/mmsvs/suite/icl/T_ImageDecoder/inc/T_ImageDecoderServer.inl
mmapitest/mmsvs/suite/icl/T_ImageDecoder/inc/T_MMDataImageDecoder.h
mmapitest/mmsvs/suite/icl/T_ImageDecoder/pkg/T_ImageDecoder.pkg
mmapitest/mmsvs/suite/icl/T_ImageDecoder/pkg/timagedecoder.bat
mmapitest/mmsvs/suite/icl/T_ImageDecoder/scripts/MM-ICL-DECDE-PublicApi.script
mmapitest/mmsvs/suite/icl/T_ImageDecoder/scripts/setup-MM-ICL-DECDE-PublicApi.script
mmapitest/mmsvs/suite/icl/T_ImageDecoder/src/T_ImageDecoderServer.cpp
mmapitest/mmsvs/suite/icl/T_ImageDecoder/src/T_MMDataImageDecoder.cpp
mmapitest/mmsvs/suite/icl/T_ImageDecoder/testdata/MM-ICL-DECDE-PublicApi.ini
mmapitest/mmsvs/suite/icl/T_ImageEncoder/group/T_ImageEncoder.mmp
mmapitest/mmsvs/suite/icl/T_ImageEncoder/group/bld.inf
mmapitest/mmsvs/suite/icl/T_ImageEncoder/group/t_imageencoder.iby
mmapitest/mmsvs/suite/icl/T_ImageEncoder/group/t_imageencoder_binaries.iby
mmapitest/mmsvs/suite/icl/T_ImageEncoder/group/t_imageencoder_testdata.iby
mmapitest/mmsvs/suite/icl/T_ImageEncoder/inc/T_ImageEncoderServer.h
mmapitest/mmsvs/suite/icl/T_ImageEncoder/inc/T_ImageEncoderServer.inl
mmapitest/mmsvs/suite/icl/T_ImageEncoder/inc/T_MMDataImageEncoder.h
mmapitest/mmsvs/suite/icl/T_ImageEncoder/pkg/T_ImageEncoder.pkg
mmapitest/mmsvs/suite/icl/T_ImageEncoder/pkg/timageencoder.bat
mmapitest/mmsvs/suite/icl/T_ImageEncoder/scripts/MM-ICL-ENCDE-PublicApi.script
mmapitest/mmsvs/suite/icl/T_ImageEncoder/scripts/setup-MM-ICL-ENCDE-PublicApi.script
mmapitest/mmsvs/suite/icl/T_ImageEncoder/src/T_ImageEncoderServer.cpp
mmapitest/mmsvs/suite/icl/T_ImageEncoder/src/T_MMDataImageEncoder.cpp
mmapitest/mmsvs/suite/icl/T_ImageEncoder/src/leopard.bmp
mmapitest/mmsvs/suite/icl/T_ImageEncoder/testdata/MM-ICL-ENCDE-PublicApi.ini
mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/group/T_MdaAudioConvertUtility.mmp
mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/group/bld.inf
mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/group/t_mdaaudioconvertutility.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/group/t_mdaaudioconvertutility_binaries.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/group/t_mdaaudioconvertutility_testdata.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/inc/T_MMDataMdaAudioConvertUtility.h
mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/inc/T_MdaAudioConvertUtilityServer.h
mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/inc/T_MdaAudioConvertUtilityServer.inl
mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/pkg/T_MdaAudioConvertUtility.pkg
mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/pkg/tmdaaudioconvertutility.bat
mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/scripts/MM-MMF-ACLNT-CNVRT-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/scripts/setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/src/T_MMDataMdaAudioConvertUtility.cpp
mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/src/T_MdaAudioConvertUtilityServer.cpp
mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/testdata/MM-MMF-ACLNT-CNVRT-PublicAPI.ini
mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/group/T_MdaAudioInputStream.mmp
mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/group/bld.inf
mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/group/t_mdaaudioinputstream.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/group/t_mdaaudioinputstream_binaries.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/group/t_mdaaudioinputstream_testdata.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/inc/T_MMDataMdaAudioInputStream.h
mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/inc/T_MdaAudioInputStreamServer.h
mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/inc/T_MdaAudioInputStreamServer.inl
mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/pkg/T_MdaAudioInputStream.pkg
mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/pkg/tmdaaudioinputstream.bat
mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/scripts/MM-MMF-ACLNT-INPT-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/scripts/setup-MM-MMF-ACLNT-INPT-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/src/T_MMDataMdaAudioInputStream.cpp
mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/src/T_MdaAudioInputStreamServer.cpp
mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/testdata/MM-MMF-ACLNT-INPT-PublicAPI.ini
mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/group/T_MdaAudioOutputStream.mmp
mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/group/bld.inf
mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/group/t_mdaaudiooutputstream.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/group/t_mdaaudiooutputstream_binaries.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/group/t_mdaaudiooutputstream_testdata.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/inc/T_MMDataMdaAudioOutputStream.h
mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/inc/T_MdaAudioOutputStreamServer.h
mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/inc/T_MdaAudioOutputStreamServer.inl
mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/pkg/T_MdaAudioOutputStream.pkg
mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/pkg/tmdaaudiooutputstream.bat
mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/scripts/MM-MMF-ACLNT-OUTPT-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/scripts/setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/src/T_MMDataMdaAudioOutputStream.cpp
mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/src/T_MdaAudioOutputStreamServer.cpp
mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/testdata/MM-MMF-ACLNT-OUTPT-PublicAPI.ini
mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/group/T_MdaAudioPlayerUtility.mmp
mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/group/bld.inf
mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/group/t_mdaaudioplayerutility.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/group/t_mdaaudioplayerutility_binaries.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/group/t_mdaaudioplayerutility_testdata.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/inc/T_MMDataMdaAudioPlayerUtility.h
mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/inc/T_MdaAudioPlayerUtilityServer.h
mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/inc/T_MdaAudioPlayerUtilityServer.inl
mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/pkg/T_MdaAudioPlayerUtility.pkg
mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/pkg/tmdaaudioplayerutility.bat
mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/scripts/MM-MMF-ACLNT-PLYR-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/scripts/setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/src/T_MMDataMdaAudioPlayerUtility.cpp
mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/src/T_MdaAudioPlayerUtilityServer.cpp
mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/testdata/MM-MMF-ACLNT-PLYR-PublicAPI.ini
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/group/T_MdaAudioRecorderUtility.mmp
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/group/bld.inf
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/group/t_mdaaudiorecorderutility.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/group/t_mdaaudiorecorderutility_binaries.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/group/t_mdaaudiorecorderutility_testdata.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/inc/T_MMDataMdaAudioRecorderUtility.h
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/inc/T_MMDataMdaAudioRecorderUtility.inl
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/inc/T_MdaAudioRecorderUtilityServer.h
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/inc/T_MdaAudioRecorderUtilityServer.inl
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/pkg/T_MdaAudioRecorderUtility.pkg
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/pkg/tmdaaudiorecorderutility.bat
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/scripts/MM-MMF-ACLNT-RCRDR-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/scripts/setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/src/T_MMDataMdaAudioRecorderUtility.cpp
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/src/T_MdaAudioRecorderUtilityServer.cpp
mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/testdata/MM-MMF-ACLNT-RCRDR-PublicAPI.ini
mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/group/T_MdaAudioToneUtility.mmp
mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/group/bld.inf
mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/group/t_mdaaudiotoneutility.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/group/t_mdaaudiotoneutility_binaries.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/group/t_mdaaudiotoneutility_testdata.iby
mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/inc/T_MMDataAudioToneUtility.h
mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/inc/T_MdaAudioToneUtilityServer.h
mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/inc/T_MdaAudioToneUtilityServer.inl
mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/pkg/T_MdaAudioToneUtility.pkg
mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/pkg/tmdaaudiotoneutility.bat
mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/scripts/MM-MMF-ACLNT-TONE-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/scripts/setup-MM-MMF-ACLNT-TONE-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/src/T_MMDataAudioToneUtility.cpp
mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/src/T_MdaAudioToneUtilityServer.cpp
mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/testdata/MM-MMF-ACLNT-TONE-PublicAPI.ini
mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/group/T_MidiClientUtility.mmp
mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/group/bld.inf
mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/group/t_midiclientutility.iby
mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/group/t_midiclientutility_binaries.iby
mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/group/t_midiclientutility_testdata.iby
mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/inc/T_MMDataMidiClientUtility.h
mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/inc/T_MidiClientUtilityServer.h
mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/inc/T_MidiClientUtilityServer.inl
mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/pkg/T_MidiClientUtility.pkg
mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/pkg/tmidiclientutility.bat
mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/scripts/MM-MMF-MIDI-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/scripts/setup-MM-MMF-MIDI-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/src/T_MMDataMidiClientUtility.cpp
mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/src/T_MidiClientUtilityServer.cpp
mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/testdata/MM-MMF-MIDI-PublicAPI.ini
mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/group/T_VideoPlayerUtility.mmp
mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/group/bld.inf
mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/group/t_videoplayerutility.iby
mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/group/t_videoplayerutility_binaries.iby
mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/group/t_videoplayerutility_testdata.iby
mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/inc/T_MMDataVideoPlayerUtility.h
mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/inc/T_VideoPlayerUtilityServer.h
mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/inc/T_VideoPlayerUtilityServer.inl
mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/pkg/T_VideoPlayerUtility.pkg
mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/pkg/tvideoplayerutility.bat
mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/scripts/MM-MMF-VCLNT-PLYR-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/scripts/setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/src/T_MMDataVideoPlayerUtility.cpp
mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/src/T_VideoPlayerUtilityServer.cpp
mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/testdata/MM-MMF-VCLNT-PLYR-PublicAPI.ini
mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/group/T_VideoRecorderUtility.mmp
mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/group/bld.inf
mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/group/t_videorecorderutility.iby
mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/group/t_videorecorderutility_binaries.iby
mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/group/t_videorecorderutility_testdata.iby
mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/inc/T_MMDataVideoRecorderUtility.h
mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/inc/T_VideoRecorderUtilityServer.h
mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/inc/T_VideoRecorderUtilityServer.inl
mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/pkg/T_VideoRecorderUtility.pkg
mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/pkg/tvideorecorderutility.bat
mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/scripts/MM-MMF-VCLNT-RCRDR-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/scripts/setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/src/T_MMDataVideoRecorderUtility.cpp
mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/src/T_VideoRecorderUtilityServer.cpp
mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/testdata/MM-MMF-VCLNT-RCRDR-PublicAPI.ini
mmapitest/mmsvs/suite/scripts/setup_t_multimedia.script
mmapitest/mmsvs/suite/scripts/t_multimedia.script
mmapitest/mmsvs/suite/testdata/102070CC.txt
mmapitest/mmsvs/suite/testdata/t_multimedia.ini
mmapitest/mmsvs/suite/testdata/t_multimedia_location.ini
mmapitest/mmsvs/suite/testsuites/group/bld.inf
mmapitest/mmsvs/suite/testsuites/multimedia/multimedia.driver
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bit.bmp
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bit.gif
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bit.ota
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bit.png
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bit.tif
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bit.wbmp
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bitG3.tif
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bitG4.tif
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.apm
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.bmp
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.clp
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.jpg
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.mng
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.png
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.tif
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.wmf
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/2bit.gif
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/4bit.ICO
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/4bit.bmp
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/4bit.gif
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/4bit.png
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/4bit.tif
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/6bit.gif
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/8bit.ICO
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/8bit.bmp
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/8bit.gif
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/8bit.jpg
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/8bit.png
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/8bit.tif
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/commented.gif
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/commented.jpg
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/corrupted.bmp
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/partial.bmp
mmapitest/mmsvs/testdata/icl/T_ImageDecoder/thumbnail.JPG
mmapitest/mmsvs/testdata/icl/T_ImageEncoder/corrupted.mbm
mmapitest/mmsvs/testdata/mmf/T_MdaAudioConvertUtility/armv5/explode.wav
mmapitest/mmsvs/testdata/mmf/T_MdaAudioConvertUtility/corrupted.wav
mmapitest/mmsvs/testdata/mmf/T_MdaAudioConvertUtility/note.raw
mmapitest/mmsvs/testdata/mmf/T_MdaAudioConvertUtility/note.wav
mmapitest/mmsvs/testdata/mmf/T_MdaAudioConvertUtility/winscw/explode.wav
mmapitest/mmsvs/testdata/mmf/T_MdaAudioOutputStream/MM-MMF-ACLNT-OUTPT-PublicAPI.raw
mmapitest/mmsvs/testdata/mmf/T_MdaAudioPlayerUtility/answeringmachine.wav
mmapitest/mmsvs/testdata/mmf/T_MdaAudioPlayerUtility/empty.wav
mmapitest/mmsvs/testdata/mmf/T_MdaAudioPlayerUtility/explode.au
mmapitest/mmsvs/testdata/mmf/T_MdaAudioPlayerUtility/test.bad
mmapitest/mmsvs/testdata/mmf/T_MdaAudioPlayerUtility/test.wav
mmapitest/mmsvs/testdata/mmf/T_MdaAudioPlayerUtility/test_err.wav
mmapitest/mmsvs/testdata/mmf/T_MdaAudioRecorderUtility/corrupted.wav
mmapitest/mmsvs/testdata/mmf/T_MdaAudioRecorderUtility/pcm16stereo8khz.wav
mmapitest/mmsvs/testdata/mmf/T_MdaAudioToneUtility/badsequence.sqn
mmapitest/mmsvs/testdata/mmf/T_MdaAudioToneUtility/sequence1.sqn
mmapitest/mmsvs/testdata/mmf/T_MdaAudioToneUtility/sequence2.sqn
mmapitest/mmsvs/testdata/mmf/T_MidiClientUtility/midi.mid
mmapitest/mmsvs/testdata/mmf/T_MidiClientUtility/midiclienttest.gm
mmapitest/mmsvs/testdata/mmf/T_MidiClientUtility/textmidi.mid
mmapitest/mmsvs/testdata/mmf/T_VideoPlayerUtility/alter.mp4
mmapitest/mmsvs/testdata/mmf/T_VideoPlayerUtility/corrupted.avi
mmapitest/mmsvs/testdata/mmf/T_VideoPlayerUtility/xvid_clock.avi
mmlibs/mmfw/MMPFiles/client/MediaClientVideo.mmp
mmlibs/mmfw/MMPFiles/client/mediaclientvideodisplay.mmp
mmlibs/mmfw/src/Client/Audio/mmfclienttoneplayer.cpp
mmlibs/mmfw/src/Client/Video/mediaclientpolicyserverclient.cpp
mmlibs/mmfw/src/Client/Video/mediaclientvideodisplaybody.cpp
mmlibs/mmfw/src/Client/Video/mediaclientvideodisplaybody.h
mmplugins/lib3gp/impl/bwins/3gpmp4libu.def
mmplugins/lib3gp/impl/eabi/3gpmp4libu.def
mmplugins/lib3gp/impl/inc/filewriter.h
mmplugins/lib3gp/impl/inc/mp4atom.h
mmplugins/lib3gp/impl/inc/mp4lib.h
mmplugins/lib3gp/impl/src/atom.cpp
mmplugins/lib3gp/impl/src/file.cpp
mmplugins/lib3gp/impl/src/filewriter.cpp
mmplugins/lib3gp/impl/src/mp4parse.cpp
--- a/devsound/a3facf/group/bld.inf	Tue May 25 14:20:15 2010 +0300
+++ b/devsound/a3facf/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -40,6 +40,7 @@
 ../inc/mbuffersource.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(a3f/mbuffersource.h)
 ../inc/msynccisupport.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(a3f/msynccisupport.h)
 ../inc/tonedata.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(a3f/tonedata.h)
+../inc/mcontexteffectiveclient.h	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(a3f/mcontexteffectiveclient.h)
 
 // DEF FILES
 ../bwins/audiocontextfactory.def	/epoc32/include/def/bwins/audiocontextfactory.def
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/devsound/a3facf/inc/mcontexteffectiveclient.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,34 @@
+// Copyright (c) 2006-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 MCONTEXTEFFECTIVECLIENT_H
+#define MCONTEXTEFFECTIVECLIENT_H
+
+#include <e32base.h>
+#include <a3f/a3fbase.h>
+
+const TUid KSetClientInfoUid = {0x2002C396};
+class MContextSetEffectiveClient
+    {
+public:
+    /**
+     * Add process id of effective client (usually the effective devsound client)
+     * @param aActualProcessId process id of actual/effective client
+     * @return An error code. KErrNone on success, otherwise one of the system wide error codes.
+     */
+    virtual TInt SetEffectiveClientInfo(const TProcessId& aActualProcessId) = 0;
+    };
+
+#endif // MCONTEXTEFFECTIVECLIENT_H
--- a/devsound/a3fdevsound/bwins/mmfdevsoundadaptor.def	Tue May 25 14:20:15 2010 +0300
+++ b/devsound/a3fdevsound/bwins/mmfdevsoundadaptor.def	Wed Jun 09 11:20:54 2010 +0300
@@ -2,7 +2,7 @@
 	??1CMMFDevSoundAdaptation@@UAE@XZ @ 1 NONAME ; CMMFDevSoundAdaptation::~CMMFDevSoundAdaptation(void)
 	?CancelInitialize@CMMFDevSoundAdaptation@@QAEHXZ @ 2 NONAME ; int CMMFDevSoundAdaptation::CancelInitialize(void)
 	?Capabilities@CMMFDevSoundAdaptation@@QAEHAAVTMMFCapabilities@@@Z @ 3 NONAME ; int CMMFDevSoundAdaptation::Capabilities(class TMMFCapabilities &)
-	?ClientConfig@CMMFDevSoundAdaptation@@QBEABVTMMFClientConfig@@XZ @ 4 NONAME ; class TMMFClientConfig const & CMMFDevSoundAdaptation::ClientConfig(void) const
+	?ClientConfig@CMMFDevSoundAdaptation@@QBEABVTMMFClientConfig@@XZ @ 4 NONAME ABSENT ; class TMMFClientConfig const & CMMFDevSoundAdaptation::ClientConfig(void) const
 	?CloseDevSound@CMMFDevSoundAdaptation@@QAEHXZ @ 5 NONAME ; int CMMFDevSoundAdaptation::CloseDevSound(void)
 	?Config@CMMFDevSoundAdaptation@@QBE?AVTMMFCapabilities@@XZ @ 6 NONAME ; class TMMFCapabilities CMMFDevSoundAdaptation::Config(void) const
 	?CustomInterface@CMMFDevSoundAdaptation@@QAEPAXVTUid@@@Z @ 7 NONAME ; void * CMMFDevSoundAdaptation::CustomInterface(class TUid)
@@ -34,7 +34,7 @@
 	?RecordInitL@CMMFDevSoundAdaptation@@QAEXXZ @ 33 NONAME ; void CMMFDevSoundAdaptation::RecordInitL(void)
 	?SamplesPlayed@CMMFDevSoundAdaptation@@QAEHXZ @ 34 NONAME ; int CMMFDevSoundAdaptation::SamplesPlayed(void)
 	?SamplesRecorded@CMMFDevSoundAdaptation@@QAEHXZ @ 35 NONAME ; int CMMFDevSoundAdaptation::SamplesRecorded(void)
-	?SetClientConfig@CMMFDevSoundAdaptation@@QAEHABVTMMFClientConfig@@@Z @ 36 NONAME ; int CMMFDevSoundAdaptation::SetClientConfig(class TMMFClientConfig const &)
+	?SetClientConfig@CMMFDevSoundAdaptation@@QAEHABVTProcessId@@@Z @ 36  NONAME ; int CMMFDevSoundAdaptation::SetClientConfig(class TProcessId const &)
 	?SetConfigL@CMMFDevSoundAdaptation@@QAEXABVTMMFCapabilities@@@Z @ 37 NONAME ; void CMMFDevSoundAdaptation::SetConfigL(class TMMFCapabilities const &)
 	?SetDTMFLengths@CMMFDevSoundAdaptation@@QAEHAAVTTimeIntervalMicroSeconds32@@00@Z @ 38 NONAME ; int CMMFDevSoundAdaptation::SetDTMFLengths(class TTimeIntervalMicroSeconds32 &, class TTimeIntervalMicroSeconds32 &, class TTimeIntervalMicroSeconds32 &)
 	?SetGain@CMMFDevSoundAdaptation@@QAEHHAAH@Z @ 39 NONAME ; int CMMFDevSoundAdaptation::SetGain(int, int &)
@@ -56,4 +56,5 @@
 	?BufferErrorEvent@CMMFDevSoundAdaptation@@QAEXXZ @ 55 NONAME ; void CMMFDevSoundAdaptation::BufferErrorEvent(void)
 	?ProcessingError@CMMFDevSoundAdaptation@@QAEHAAH@Z @ 56 NONAME ; int CMMFDevSoundAdaptation::ProcessingError(int &)
 	?RollbackAdaptorActiveStateToBeforeCommit@CMMFDevSoundAdaptation@@QAEXXZ @ 57 NONAME ; void CMMFDevSoundAdaptation::RollbackAdaptorActiveStateToBeforeCommit(void)
+	?SetClientConfig@CMMFDevSoundAdaptation@@QAEHABVTProcessId@@0@Z @ 58  NONAME ; int CMMFDevSoundAdaptation::SetClientConfig(class TProcessId const &, class TProcessId const &)
 
--- a/devsound/a3fdevsound/eabi/mmfdevsoundadaptor.def	Tue May 25 14:20:15 2010 +0300
+++ b/devsound/a3fdevsound/eabi/mmfdevsoundadaptor.def	Wed Jun 09 11:20:54 2010 +0300
@@ -17,7 +17,7 @@
 	_ZN22CMMFDevSoundAdaptation15GetPlayBalanceLERiS0_ @ 16 NONAME
 	_ZN22CMMFDevSoundAdaptation15PlayDTMFStringLERK7TDesC16 @ 17 NONAME
 	_ZN22CMMFDevSoundAdaptation15SamplesRecordedEv @ 18 NONAME
-	_ZN22CMMFDevSoundAdaptation15SetClientConfigERK16TMMFClientConfig @ 19 NONAME
+	_ZN22CMMFDevSoundAdaptation15SetClientConfigERK16TMMFClientConfig @ 19 NONAME ABSENT
 	_ZN22CMMFDevSoundAdaptation15SetPlayBalanceLEiiRi @ 20 NONAME
 	_ZN22CMMFDevSoundAdaptation16CancelInitializeEv @ 21 NONAME
 	_ZN22CMMFDevSoundAdaptation17FixedSequenceNameEi @ 22 NONAME
@@ -44,7 +44,7 @@
 	_ZN22CMMFDevSoundAdaptationD0Ev @ 43 NONAME
 	_ZN22CMMFDevSoundAdaptationD1Ev @ 44 NONAME
 	_ZN22CMMFDevSoundAdaptationD2Ev @ 45 NONAME
-	_ZNK22CMMFDevSoundAdaptation12ClientConfigEv @ 46 NONAME
+	_ZNK22CMMFDevSoundAdaptation12ClientConfigEv @ 46 NONAME ABSENT
 	_ZNK22CMMFDevSoundAdaptation27GetSupportedInputDataTypesLER6RArrayI7TFourCCERK20TMMFPrioritySettings @ 47 NONAME
 	_ZNK22CMMFDevSoundAdaptation28GetSupportedOutputDataTypesLER6RArrayI7TFourCCERK20TMMFPrioritySettings @ 48 NONAME
 	_ZNK22CMMFDevSoundAdaptation6ConfigEv @ 49 NONAME
@@ -63,4 +63,6 @@
 	_ZN22CMMFDevSoundAdaptation16BufferErrorEventEv @ 62 NONAME
 	_ZN22CMMFDevSoundAdaptation15ProcessingErrorERi @ 63 NONAME
 	_ZN22CMMFDevSoundAdaptation40RollbackAdaptorActiveStateToBeforeCommitEv @ 64 NONAME
+	_ZN22CMMFDevSoundAdaptation15SetClientConfigERK10TProcessId @ 65 NONAME
+	_ZN22CMMFDevSoundAdaptation15SetClientConfigERK10TProcessIdS2_ @ 66 NONAME
 
--- a/devsound/a3fdevsound/src/devsoundadaptor/cdevaudio.cpp	Tue May 25 14:20:15 2010 +0300
+++ b/devsound/a3fdevsound/src/devsoundadaptor/cdevaudio.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -28,6 +28,7 @@
 #include <a3f/audiocontextfactory.h>
 #include <a3f/maudioprocessingunit.h>
 #include <a3f/maudiocontext.h>
+#include <a3f/mcontexteffectiveclient.h>
 #include <a3f/maudiostream.h>
 #include <a3f/maudiocodec.h>
 #include <a3f/maudiogaincontrol.h>
@@ -495,11 +496,6 @@
 	DP_IN();
 	TInt err(KErrNone);
 
-	if(	iActiveState != EDevSoundAdaptorInitialised_Initialised)
-		{
-		DP0_RET(KErrNotReady, "%d");
-		}
-
 	// Redo partial cancelling of initialization after pre-emption clash event in
 	// EDevSoundAdaptorRemovingProcessingUnits state.
 	if (iActiveState == EDevSoundAdaptorUnitialised_Uninitialised &&
@@ -508,7 +504,11 @@
 		err = iCurrentAudioControl->RemoveProcessingUnits();
 		DP0_RET(err, "%d");
 		}
-			
+	else if(iActiveState != EDevSoundAdaptorInitialised_Initialised)
+		{
+		DP0_RET(KErrNotReady, "%d");
+		}
+
 	err = iCurrentAudioControl->Uninitialize();
 	
 	DP0_RET(err, "%d");
@@ -557,18 +557,19 @@
 	{
 	return iPriorityFlag;
 	}
+
 // -----------------------------------------------------------------------------
 // CDevAudio::SetClientConfig
 // -----------------------------------------------------------------------------
 //
-TInt CDevAudio::SetClientConfig(const TMMFClientConfig& aClientConfig)
+TInt CDevAudio::SetClientConfig(const TProcessId& aProcessId)
 	{
 	DP_CONTEXT(CDevAudio::SetClientConfig *CD1*, CtxDevSound, DPLOCAL);
 	DP_IN();
 	// TODO: Check if the TClientContextSettings atributte go back since 
 	// if not there is no way to send the vendor id
 	TClientContextSettings context;
-	context.iProcessId = aClientConfig.iProcessId;
+	context.iProcessId = aProcessId;
 	TInt err = iAudioContext->SetClientSettings(context);
 	if (err != KErrNone)
 		{
@@ -577,6 +578,43 @@
 	DP0_RET(err, "%d");
 	}
 
+TInt CDevAudio::SetClientConfig(const TProcessId& aActualProcessId, const TProcessId& aProcessId)
+	{
+	DP_CONTEXT(CDevAudio::SetClientConfig *CD1*, CtxDevSound, DPLOCAL);
+	DP_IN();
+	
+	MContextSetEffectiveClient* setEffectiveClient
+        = static_cast<MContextSetEffectiveClient*>(iAudioContext->Interface(KSetClientInfoUid));
+	
+	TInt err;
+	
+	if (!setEffectiveClient)
+	    {
+        DP0(DLINFO, "MContextSetEffectiveClient not supported, revert to old behaviour of just passing actual client info");
+        err = SetClientConfig(aActualProcessId);
+	    }
+	else
+	    {
+        TClientContextSettings context;
+        context.iProcessId = aProcessId;
+        err = iAudioContext->SetClientSettings(context);
+        if (err != KErrNone)
+            {
+            DP1(DLERR, "Error %d setting client context!",err);
+            }
+        if (!err)
+            {
+            err = setEffectiveClient->SetEffectiveClientInfo(aActualProcessId);
+            if (err != KErrNone)
+                {
+                DP1(DLERR, "Error %d setting effective client context!",err);
+                }
+            }
+	    }
+
+	DP0_RET(err, "%d");
+	}
+
 
 void CDevAudio::ContextEvent(TUid /*aEvent*/, TInt /*aError*/)
 	{
--- a/devsound/a3fdevsound/src/devsoundadaptor/cdevaudio.h	Tue May 25 14:20:15 2010 +0300
+++ b/devsound/a3fdevsound/src/devsoundadaptor/cdevaudio.h	Wed Jun 09 11:20:54 2010 +0300
@@ -143,10 +143,11 @@
 	/**
 	* Sets client configuration
 	* @since
-	* @param TMMFClientConfig& aClientConfig A reference to client
-	*        configuration object.
+	* @param aProcessId DevSound's client process
+	* @param aActualProcessId DevSound's effective/actual client (supplied by SetClientThreadInfo)
 	*/
-	TInt SetClientConfig(const TMMFClientConfig& aClientConfig);
+    TInt SetClientConfig(const TProcessId& aProcessId);
+    TInt SetClientConfig(const TProcessId& aActualProcessId, const TProcessId& aProcessId);
 
 
 	/**
--- a/devsound/a3fdevsound/src/devsoundadaptor/cdevcommoncontrol.cpp	Tue May 25 14:20:15 2010 +0300
+++ b/devsound/a3fdevsound/src/devsoundadaptor/cdevcommoncontrol.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -107,10 +107,6 @@
     DP_IN();
     
     TInt err = KErrNone;
-    if(iDevAudio->iActiveState != EDevSoundAdaptorPaused_Primed)
-        {
-        err = KErrNotReady;
-        }
 
     //If following condition is true, then we are here because of a
     //pre-emption clash in last Commit cycle started from
@@ -121,6 +117,10 @@
 		err = Unload();
 		DP0_RET(err,"%d");
     	}
+    else if(iDevAudio->iActiveState != EDevSoundAdaptorPaused_Primed)
+        {
+        DP0_RET(KErrNotReady, "%d");
+        }
 
     if(err == KErrNone)
         {
--- a/devsound/a3fdevsound/src/devsoundadaptor/mmfdevsoundadaptation.cpp	Tue May 25 14:20:15 2010 +0300
+++ b/devsound/a3fdevsound/src/devsoundadaptor/mmfdevsoundadaptation.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -750,27 +750,23 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C TInt CMMFDevSoundAdaptation::SetClientConfig(
-								const TMMFClientConfig& aClientConfig)
-	{
-	DP_CONTEXT(CMMFDevSoundAdaptation::SetClientConfig *CD1*, CtxDevSound, DPLOCAL);
-	DP_IN();
-	TInt retVal = iBody->SetClientConfig(aClientConfig);
-	DP0_RET(retVal, "%d");
-	}
+                                const TProcessId& aProcessId)
+    {
+    DP_CONTEXT(CMMFDevSoundAdaptation::SetClientConfig *CD1*, CtxDevSound, DPLOCAL);
+    DP_IN();
+    TInt retVal = iBody->SetClientConfig(aProcessId);
+    DP0_RET(retVal, "%d");
+    }
 
-// -----------------------------------------------------------------------------
-// CMMFDevSoundAdaptation::ClientConfig
-// Returns client capabilities of this instance of DevSound Adaptation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TMMFClientConfig& CMMFDevSoundAdaptation::ClientConfig() const
-	{
-	DP_CONTEXT(CMMFDevSoundAdaptation::ClientConfig *CD1*, CtxDevSound, DPLOCAL);
-	DP_IN();
-	DP_OUT();
-	return(iBody->ClientConfig());
-	}
+EXPORT_C TInt CMMFDevSoundAdaptation::SetClientConfig(
+                                const TProcessId& aActualProcessId,
+                                const TProcessId& aProcessId)
+    {
+    DP_CONTEXT(CMMFDevSoundAdaptation::SetClientConfig *CD1*, CtxDevSound, DPLOCAL);
+    DP_IN();
+    TInt retVal = iBody->SetClientConfig(aActualProcessId, aProcessId);
+    DP0_RET(retVal, "%d");
+    }
 
 // -----------------------------------------------------------------------------
 // CMMFDevSoundAdaptation::EmptyBuffers
--- a/devsound/a3fdevsound/src/devsoundadaptor/mmfdevsoundadaptation.h	Tue May 25 14:20:15 2010 +0300
+++ b/devsound/a3fdevsound/src/devsoundadaptor/mmfdevsoundadaptation.h	Wed Jun 09 11:20:54 2010 +0300
@@ -252,21 +252,6 @@
 
 	};
 
-
-/**
-@publishedAll
-@released
-*  A class representing client application information.
-*
-*  @lib MmfDevSoundAdaptation.lib
-*  @since
-*/
-class TMMFClientConfig
-	{
-	public:
-		TProcessId                  iProcessId; //<<< Application Process Id
-	};
-
 // CLASS DECLARATION
 
 /**
@@ -827,18 +812,12 @@
 	/**
 	* Sets client configuration
 	* @since
-	* @param TMMFClientConfig& aClientConfig A reference to client
-	*        configuration object.
+    * @param aActualProcessId the effective devsound client (supplied with SetClientThreadInfo)
+    * @param aProcessId the client of DevSound
 	* @return KErrNone if successful, system wide error otherwise
 	*/
-	IMPORT_C TInt SetClientConfig(const TMMFClientConfig& aClientConfig);
-
-	/**
-	* Returns client configuration
-	* @since
-	* @return void
-	*/
-	IMPORT_C const TMMFClientConfig& ClientConfig() const;
+    IMPORT_C TInt SetClientConfig(const TProcessId& aProcessId);
+    IMPORT_C TInt SetClientConfig(const TProcessId& aActualProcessId, const TProcessId& aProcessId);
 
 	/**
 	* Empties the buffers below DevSound without deleting the codec.
--- a/devsound/a3fdevsound/src/devsoundadaptor/mmfdevsoundadaptationbody.cpp	Tue May 25 14:20:15 2010 +0300
+++ b/devsound/a3fdevsound/src/devsoundadaptor/mmfdevsoundadaptationbody.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -1004,33 +1004,25 @@
 // -----------------------------------------------------------------------------
 //
 TInt CMMFDevSoundAdaptation::CBody::SetClientConfig(
-								const TMMFClientConfig& aClientConfig)
-	{
-	DP_CONTEXT(CMMFDevSoundAdaptation::CBody::SetClientConfig *CD1*, CtxDevSound, DPLOCAL);
-	DP_IN();
+                                const TProcessId& aActualProcessId,
+                                const TProcessId& aProcessId)
+    {
+    DP_CONTEXT(CMMFDevSoundAdaptation::CBody::SetClientConfig *CD1*, CtxDevSound, DPLOCAL);
+    DP_IN();
 
-	TInt err = iDevAudio->SetClientConfig(aClientConfig);
-	if (err == KErrNone)
-		{
-		iClientConfig = aClientConfig;
-		}
-	DP0_RET(err, "%d");
-	}
+    TInt err = iDevAudio->SetClientConfig(aActualProcessId, aProcessId);
+    DP0_RET(err, "%d");
+    }
 
-// -----------------------------------------------------------------------------
-// TMMFClientConfig& CMMFDevSoundAdaptation::CBody::ClientConfig
-// Returns client capabilities of this instance of DevSound Adaptation.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TMMFClientConfig& CMMFDevSoundAdaptation::CBody::ClientConfig() const
-	{
-	DP_CONTEXT(CMMFDevSoundAdaptation::CBody::ClientConfig *CD1*, CtxDevSound, DPLOCAL);
-	DP_IN();
-	DP_OUT();
-	return iClientConfig;
-	}
+TInt CMMFDevSoundAdaptation::CBody::SetClientConfig(
+                                const TProcessId& aProcessId)
+    {
+    DP_CONTEXT(CMMFDevSoundAdaptation::CBody::SetClientConfig *CD1*, CtxDevSound, DPLOCAL);
+    DP_IN();
 
+    TInt err = iDevAudio->SetClientConfig(aProcessId);
+    DP0_RET(err, "%d");
+    }
 
 TBool CMMFDevSoundAdaptation::CBody::CloseDevSound()
 	{
--- a/devsound/a3fdevsound/src/devsoundadaptor/mmfdevsoundadaptationbody.h	Tue May 25 14:20:15 2010 +0300
+++ b/devsound/a3fdevsound/src/devsoundadaptor/mmfdevsoundadaptationbody.h	Wed Jun 09 11:20:54 2010 +0300
@@ -590,19 +590,12 @@
 	/**
 	* Sets client configuration
 	* @since
-	* @param TMMFClientConfig& aClientConfig A reference to client
-	*        configuration object.
+	* @param aActualProcessId the effective devsound client (supplied with SetClientThreadInfo)
+	* @param aProcessId the client of DevSound
 	* @return KErrNone if successful, system wide error otherwise
 	*/
-	TInt SetClientConfig(const TMMFClientConfig& aClientConfig);
-
-	/**
-	* Returns client configuration
-	* @since
-	* @return const TMMFClientConfig& A constant reference to client
-	*        configuration.
-	*/
-	const TMMFClientConfig& ClientConfig() const;
+    TInt SetClientConfig(const TProcessId& aProcessId);
+    TInt SetClientConfig(const TProcessId& aActualProcessId, const TProcessId& aProcessId);
 
 	/**
 	* Return to idle state, preparing for destruction.
@@ -709,11 +702,6 @@
 	TMMFCapabilities iMmfConfig;
 
 	/**
-	* holds client platsec related information (VID,SID,PID,caps)
-	*/
-	TMMFClientConfig iClientConfig;
-
-	/**
 	* holds client audio type information
 	*/
 	TMMFPrioritySettings iPrioritySettings;
--- a/devsound/a3fdevsound/src/mmfdevsoundserver/mmfdevsoundsession.cpp	Tue May 25 14:20:15 2010 +0300
+++ b/devsound/a3fdevsound/src/mmfdevsoundserver/mmfdevsoundsession.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -2314,11 +2314,20 @@
 				static_cast<const CMMFDevSoundServer*>(Server()));
 			
 		ASSERT(server); // session should always have a server!
+		
+		TProcessId actualProcessId = server->ActualProcessId();
+		TProcessId processId = server->ProcessId();
+		
+		if (actualProcessId!=processId)
+		    {
+            // we have a differing actual process id, so pass that to the adaptor too
+            err = iAdapter->SetClientConfig(actualProcessId, processId);
+		    }
+		else
+		    {
+            err = iAdapter->SetClientConfig(processId);
+		    }
 
-		TMMFClientConfig clientConfig;
-		clientConfig.iProcessId = server->ActualProcessId();
-
-		err = iAdapter->SetClientConfig(clientConfig);
 		if (!err)
 			{
 			iSetClientConfigApplied = ETrue;
--- a/imagingandcamerafws/imagingfws/ImageProcessor/bwins/imageprocessor.def	Tue May 25 14:20:15 2010 +0300
+++ b/imagingandcamerafws/imagingfws/ImageProcessor/bwins/imageprocessor.def	Wed Jun 09 11:20:54 2010 +0300
@@ -164,4 +164,6 @@
 	?ZoomL@TPreview@ImageProcessor@@QBEMXZ @ 163 NONAME ; float ImageProcessor::TPreview::ZoomL(void) const
 	??1CImgProcessor@ImageProcessor@@UAE@XZ @ 164 NONAME ; ImageProcessor::CImgProcessor::~CImgProcessor(void)
 	?SetInputL@CImgProcessor@ImageProcessor@@QAEXAAVCImagePanorama@@@Z @ 165 NONAME ; void ImageProcessor::CImgProcessor::SetInputL(class CImagePanorama &)
+	?Extension@TInputInfo@ImageProcessor@@QBEPAXVTUid@@@Z @ 166 NONAME ; void * ImageProcessor::TInputInfo::Extension(class TUid) const
+	?Extension@TOutputInfo@ImageProcessor@@QBEPAXVTUid@@@Z @ 167 NONAME ; void * ImageProcessor::TOutputInfo::Extension(class TUid) const
 
--- a/imagingandcamerafws/imagingfws/ImageProcessor/eabi/imageprocessor.def	Tue May 25 14:20:15 2010 +0300
+++ b/imagingandcamerafws/imagingfws/ImageProcessor/eabi/imageprocessor.def	Wed Jun 09 11:20:54 2010 +0300
@@ -168,4 +168,6 @@
 	_ZN14ImageProcessor13CImgProcessorD1Ev @ 167 NONAME
 	_ZN14ImageProcessor13CImgProcessorD2Ev @ 168 NONAME
 	_ZN14ImageProcessor13CImgProcessor9SetInputLER14CImagePanorama @ 169 NONAME
+	_ZNK14ImageProcessor10TInputInfo9ExtensionE4TUid @ 170 NONAME
+	_ZNK14ImageProcessor11TOutputInfo9ExtensionE4TUid @ 171 NONAME
 
--- a/imagingandcamerafws/imagingfws/ImageProcessor/src/imageprocessorinputinfo.cpp	Tue May 25 14:20:15 2010 +0300
+++ b/imagingandcamerafws/imagingfws/ImageProcessor/src/imageprocessorinputinfo.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -135,6 +135,18 @@
 	return iInputInfoImpl.HasAlphaL();
 	}
 
-	}//namespace ImageProcessor
+
+/**
+Retrieves access to a custom extension.
+
+@param  aExtension
+        The UID of the extension to be retrieved
 
+@return Extension corresponding to the UID given as a parameter.
+*/
+EXPORT_C TAny* TInputInfo::Extension(TUid /*aExtension*/) const 
+    {
+    return NULL;    
+    }
+    }//namespace ImageProcessor
 //EOF
--- a/imagingandcamerafws/imagingfws/ImageProcessor/src/imageprocessoroutputinfo.cpp	Tue May 25 14:20:15 2010 +0300
+++ b/imagingandcamerafws/imagingfws/ImageProcessor/src/imageprocessoroutputinfo.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -53,6 +53,17 @@
 	iOutputInfoImpl.SetSamplingL(aSampling);
 	}
 
-	}//namespace ImageProcessor
+/**
+Retrieves access to a custom extension.
+
+@param  aExtension
+        The UID of the extension to be retrieved
 
+@return Extension corresponding to the UID given as a parameter.
+*/
+EXPORT_C TAny* TOutputInfo::Extension(TUid /*aExtension*/) const
+    {
+    return NULL;    
+    }
+    }//namespace ImageProcessor
 //EOF
--- a/mdfdevvideoextensions/nga_mdf_postprocessor/inc/NGAPostProcHwDevice.h	Tue May 25 14:20:15 2010 +0300
+++ b/mdfdevvideoextensions/nga_mdf_postprocessor/inc/NGAPostProcHwDevice.h	Wed Jun 09 11:20:54 2010 +0300
@@ -1092,6 +1092,8 @@
 	MMmfVideoPropertiesObserver*				iVPObserver;
 	RWsSession									iWsSession;
 	TSize										iPicSize;
+	TUint										iAspectRatioNum;
+	TUint										iAspectRatioDenom;
 	//-- members for Trickplay support --
 	TInt                                iStepFrameCount;
     TInt                                iPlayRate;       
--- a/mdfdevvideoextensions/nga_mdf_postprocessor/inc/surface_hints.h	Tue May 25 14:20:15 2010 +0300
+++ b/mdfdevvideoextensions/nga_mdf_postprocessor/inc/surface_hints.h	Wed Jun 09 11:20:54 2010 +0300
@@ -12,12 +12,17 @@
 * Contributors:
 *
 * Description:
-*
+* Surface Manager API
 */
 
 #ifndef __SURFACE_HINTS_LOCAL_H__
 #define __SURFACE_HINTS_LOCAL_H__
 
+//- Include Files  ----------------------------------------------------------
+
+#include <e32cmn.h>
+
+
 //- Namespace ---------------------------------------------------------------
 
 namespace surfaceHints
@@ -25,7 +30,7 @@
 
 //- Constants ---------------------------------------------------------------
 
-/** Hint of surface the content.
+/** Hint of the surface content.
     @see TSurfaceContent for possible values
 */
 const TInt KSurfaceContent = 0x1;
@@ -37,17 +42,37 @@
 */
 const TInt KSurfaceUpdate = 0x2;
 
-/** Hint of the surface content copy protected and can it be
+/** Hint whether the surface content is copy protected and can it be
     shown on external displays.
     @see TSurfaceProtection for possible values.
 */
 const TInt KSurfaceProtection = 0x3;
 
-/** Hint of the color space of the surface content.
-    Value is a pointer to TColorspace stucture.
-    @see TColorspace
-*/
-const TInt KSurfaceColorspace = 0x4;
+
+/** Values used for the KSurfaceContent key */
+enum TSurfaceContent
+    {
+    /** No specific use-case */
+    EGeneric,
+    /** Camera viewfinder frames */
+    EViewFinder,
+    /** Images captured by camera */
+    EStillImage,
+    /** Decoded video frames */
+    EVideoPlayback,
+    /** Video frames from video telephony */
+    EVideoTelephony,
+    /** EGL surface */
+    EGfx,
+    /** Main UI surface */
+    EUi,
+    /** Composition target surface */
+    ECompositionTarget,
+    /** Indicates that the surface has to accessible by ARM.
+        This can be orr'ed with other TSurfaceContent enumerations. */
+    EArmAccess = 0x80000000
+    };
+
 
 /** Values used for the KSurfaceProtection key. The values are bitmasks and can be combined
 * e.g. EAllowAnalogProtectionRequired | EAllowDigitalProtectionRequired.
@@ -95,6 +120,72 @@
     EAllowDigitalProtectionRequired     = 0x00000800,
     };
 
+
+class TSurfaceUpdate
+    {
+    /** Constructor.
+        @param aUpdateRate   How often the surface content is redrawn per second.
+        @param aTearingFree  When ETrue surface updates should be synchronized
+                             with display refresh rate, otherwise surface can
+                             be updated as fast as possible.
+    */
+    inline TSurfaceUpdate(TUint aUpdateRate, TBool aTearingFree);
+
+    /** Converts a value to TSurfaceUpdate */
+    inline TSurfaceUpdate(TInt aValue);
+
+    /** Converts TSurfaceUpdate to a signed integer, so it can be used as
+        a value for KSurfaceUpdate key. */
+    inline operator TInt() const;
+
+    /** Getter for surface update rate.
+        @return updates per second
+    */
+    inline TUint UpdateRate() const;
+
+    /** Getter for surface update synchronization.
+        @return ETrue - updates should be synchronized with display refresh rate,
+                EFalse - surface can be updated as fast as possible.
+    */
+    inline TBool TearingFree() const;
+
+    private:
+        TUint iValue;
+    };
+
+
+//- Forward Declarations ----------------------------------------------------
+
+
+//- Class Definitions -------------------------------------------------------
+
+
+//- Inline Functions --------------------------------------------------------
+
+TSurfaceUpdate::TSurfaceUpdate(TUint aUpdateRate, TBool aTearingFree)
+    : iValue( ( aUpdateRate & 0xFFFF ) | ( aTearingFree ? 0x80000000 : 0x0 ) )
+    {
+    }
+TSurfaceUpdate::TSurfaceUpdate(TInt aValue)
+    : iValue( static_cast<TUint>( aValue ) )
+    {
+    }
+
+TSurfaceUpdate::operator TInt() const
+    {
+    return static_cast<TInt>( iValue );
+    }
+
+TUint TSurfaceUpdate::UpdateRate() const
+    {
+    return ( iValue & 0xFFFF );
+    }
+
+TBool TSurfaceUpdate::TearingFree() const
+    {
+    return ( iValue & 0x80000000 ) ? ETrue : EFalse;
+    }
+
 }; //namespace surfaceHints
 
 #endif //__SURFACE_HINTS_LOCAL_H__
--- a/mdfdevvideoextensions/nga_mdf_postprocessor/src/NGAPostProcHwDevice.cpp	Tue May 25 14:20:15 2010 +0300
+++ b/mdfdevvideoextensions/nga_mdf_postprocessor/src/NGAPostProcHwDevice.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -107,6 +107,8 @@
             iVideoSurfaceObserver(NULL),
             iVPObserver(NULL),
             iPicSize(0,0),
+			iAspectRatioNum(1),
+			iAspectRatioDenom(1),
             iStepFrameCount(0),
             iPlayRate(KDefPlayRate),
             iKeyFrameMode(EFalse),
@@ -180,7 +182,12 @@
     	if(!iSurfaceId.IsNull())
     	{
     		PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::UnregisterSurface"), this);
-    		iWsSession.UnregisterSurface(0, iSurfaceId);
+			TInt numScreens = iWsSession.NumberOfScreens();
+    		for(TInt i=0;i < numScreens;i++)
+    		{
+    			iWsSession.UnregisterSurface(i, iSurfaceId);
+    		}
+    		iWsSession.Flush();
         	iSurfaceHandler->DestroySurface(iSurfaceId);
     	}
         delete iSurfaceHandler;
@@ -1414,10 +1421,12 @@
 		{
 			aCropRect.Intersection( iPicSize);
 		}
-	aPixelAspectRatio = TVideoAspectRatio(1,1);
-	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvssGetSurfaceParametersL()--  \
-		cropRectWidth = %d cropRectHeight = %d --"), this, aCropRect.Width(), aCropRect.Height());
-
+	aPixelAspectRatio = TVideoAspectRatio(iAspectRatioNum,iAspectRatioDenom);
+	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvssGetSurfaceParametersL()  \
+		cropRectWidth = %d cropRectHeight = %d"), this, aCropRect.Width(), aCropRect.Height());
+	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvssGetSurfaceParametersL()  \
+		PAR Num = %d PAR Denom = %d"), this, aPixelAspectRatio.iNumerator, aPixelAspectRatio.iDenominator);
+	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvssGetSurfaceParametersL() --"), this);
 }
 
 void CNGAPostProcHwDevice::MmvssSurfaceRemovedL(const TSurfaceId& aSurfaceId)
@@ -1426,10 +1435,20 @@
 	if(!aSurfaceId.IsNull())
 	{
 		PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvssSurfaceRemovedL(): UnregisterSurface ID = 0x%x"), this, aSurfaceId );
-		iWsSession.UnregisterSurface(0, aSurfaceId);
+		TInt numScreens = iWsSession.NumberOfScreens();
+		for(TInt i=0;i < numScreens;i++)
+		{
+			iWsSession.UnregisterSurface(i, aSurfaceId);
+		}
+		iWsSession.Flush();
 		iSurfaceHandler->DestroySurface(aSurfaceId);
+		if(iSurfaceId == aSurfaceId)
+		{
+			iSurfaceCreatedEventPublished = EFalse;
+			iSurfaceId = TSurfaceId::CreateNullId();
+			iChunk.Close();
+		}
 	}
-		
 	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvssSurfaceRemovedL() --"), this);
 }
 
@@ -1441,7 +1460,9 @@
 	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvpoUpdateVideoProperties PAR \
 		iAspectRatioNum = %d, iAspectRatioDenom = %d"), this,
 					 aYuvFormat.iAspectRatioNum,aYuvFormat.iAspectRatioDenom);
-					 iPicSize = aPictureSize;
+	iPicSize = aPictureSize;
+	iAspectRatioNum = aYuvFormat.iAspectRatioNum;
+	iAspectRatioDenom = aYuvFormat.iAspectRatioDenom;
 	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvpoUpdateVideoProperties Picture Size \
 		iWidth = %d, iHeight = %d, iSurfaceCreatedEventPublished = %d"), 
 		this, iPicSize.iWidth,iPicSize.iHeight, iSurfaceCreatedEventPublished?1:0);
@@ -1523,22 +1544,13 @@
 {
     PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface ++"), this);
 	
-	TSize 			surfaceSize; 
     TUint8*         lPtr;
     TInt 			offset;
-    if(iPicSize.iWidth > iPicSize.iHeight)
-    {
-    	surfaceSize.iWidth = iPicSize.iWidth;
-    	surfaceSize.iHeight = iPicSize.iWidth;
-    }
-    else
-    {
-    	surfaceSize.iWidth = iPicSize.iHeight;
-    	surfaceSize.iHeight = iPicSize.iHeight;
-    }
+
+    PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface -- Creating %d x %d surface"), this, iPicSize.iWidth, iPicSize.iHeight);
 
    	TInt err = KErrNone;
-	SetSurfaceAttributes(surfaceSize, 1); 
+	SetSurfaceAttributes(iPicSize, 1); 
 	
   	err = iSurfaceHandler->CreateSurface(iAttributes, iSurfaceId);
   	if (err != KErrNone)
@@ -1548,6 +1560,36 @@
 		iProxy->MdvppFatalError(this, err);	   				
 	    return;
 	}
+
+	err = iSurfaceHandler->SurfaceInfo(iSurfaceId, iInfo);
+	if (err != KErrNone)
+	{
+	   PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvshcRedrawBufferToSurface -- failed to get Surface info %d"), 
+	   				this, err);
+	   	iSurfaceHandler->DestroySurface(iSurfaceId);
+	   	iSurfaceId = TSurfaceId::CreateNullId();
+		iProxy->MdvppFatalError(this, err);	   				
+	    return;
+	}
+
+	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvshcRedrawBufferToSurface() \
+		surfaceWidth = %d surfaceHeight = %d surfaceStride = %d"), this, iInfo().iSize.iWidth, iInfo().iSize.iHeight, iInfo().iStride);
+
+	TInt redrawBufferSize = aRedrawBuffer.Size();
+	TInt surfaceSize = iInfo().iStride * iInfo().iSize.iHeight;
+
+    PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface RedrawBuffer size= %d Surface size = %d"), this, redrawBufferSize, surfaceSize);
+
+	// Check whether redraw buffer will fit onto the surface.
+	// If this check fails then we won't raise a fatal error - We just won't create the redraw surface
+	if (redrawBufferSize > surfaceSize)
+	{
+    	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface Redraw buffer size larger than surface size"), this);
+    	iSurfaceHandler->DestroySurface(iSurfaceId);
+	   	iSurfaceId = TSurfaceId::CreateNullId();
+    	return;
+	}
+
 	err = iSurfaceHandler->MapSurface(iSurfaceId, iChunk);
 	if (err != KErrNone)
 	{
@@ -1558,19 +1600,6 @@
 		iProxy->MdvppFatalError(this, err);	   				
 	    return;
 	}
-	err = iSurfaceHandler->SurfaceInfo(iSurfaceId, iInfo);
-	if (err != KErrNone)
-	{
-	   PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvshcRedrawBufferToSurface -- failed to get Surface info %d"), 
-	   				this, err);
-	   	iSurfaceHandler->DestroySurface(iSurfaceId);
-	   	iSurfaceId = TSurfaceId::CreateNullId();
-		iChunk.Close();
-		iProxy->MdvppFatalError(this, err);	   				
-	    return;
-	}
-	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvshcRedrawBufferToSurface() \
-		surfaceWidth = %d surfaceHeight = %d --"), this, iInfo().iSize.iWidth, iInfo().iSize.iHeight);
 
     if((err = iSurfaceHandler->GetBufferOffset(iSurfaceId, 0, offset)) != KErrNone)
     {
@@ -1581,18 +1610,23 @@
     	iProxy->MdvppFatalError(this, err);
     	return;
     }
-    PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface offset = %d aRedrawBuffer.Size()= %d  --"), this, offset, aRedrawBuffer.Size());
-    
+
+    PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface offset = %d"), this, offset);
+
 	lPtr = reinterpret_cast<TUint8*>(iChunk.Base() + offset);
-	memcpy((TAny *)lPtr, (TAny *)aRedrawBuffer.Ptr(), aRedrawBuffer.Size());
+	memcpy((TAny *)lPtr, (TAny *)aRedrawBuffer.Ptr(), redrawBufferSize);
 
 	iRedrawSurfaceInUse = ETrue;
 
+	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface(): New surface = 0x%x"), this, iSurfaceId);
+
     PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface error = %d --"), this, err);
 }
 
 TInt CNGAPostProcHwDevice::SetupExternalSurface(const TSurfaceId &aSurfaceID)
 {
+	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:SetupExternalSurface(): aSurfaceID = 0x%x"), this, aSurfaceID );
+
     TInt err = KErrNone;
     
     if(!iSurfaceId.IsNull())
@@ -1607,7 +1641,12 @@
 		{
 			// We never told the client about the surface, so we must destroy it ourselves
 			PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:SetupExternalSurface - Destroying old surface"), this);
-   			iWsSession.UnregisterSurface(0, iSurfaceId);
+			TInt numScreens = iWsSession.NumberOfScreens();
+    		for(TInt i=0;i < numScreens;i++)
+    		{
+    			iWsSession.UnregisterSurface(i, iSurfaceId);
+    		}
+   			iWsSession.Flush();
 			iSurfaceHandler->DestroySurface(iSurfaceId);
 		}
 
@@ -2060,7 +2099,13 @@
 TInt CNGAPostProcHwDevice::RegisterSurface(const TSurfaceId& aSurfaceId)
 {
 	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:RegisterSurface(): RegisterSurface ID = 0x%x"), this, aSurfaceId);
-	return(iWsSession.RegisterSurface(0, aSurfaceId));
+	TInt err = KErrNone;
+	TInt numScreens = iWsSession.NumberOfScreens();
+	for(TInt i=0; (i < numScreens && err == KErrNone); i++)
+	{
+		err = iWsSession.RegisterSurface(i, aSurfaceId);
+	}	
+	return(err);
 }
 
 TInt CNGAPostProcHwDevice::IsGceReady()
@@ -2291,6 +2336,16 @@
 		err = iSurfaceHandler->SetSurfaceHint(iSurfaceId,iHint);
    }
    PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:AddHints. err = %d --"), this,err);
+   iHint.iKey.iUid = surfaceHints::KSurfaceContent;
+   iHint.iValue = surfaceHints::EVideoPlayback;
+   iHint.iMutable = ETrue;
+   err = iSurfaceHandler->AddSurfaceHint(iSurfaceId,iHint);
+   if(err == KErrAlreadyExists)
+   {
+		err = KErrNone;
+		err = iSurfaceHandler->SetSurfaceHint(iSurfaceId,iHint);
+   }
+   PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:AddHints. err = %d --"), this,err);
    return err;
 }
 
--- a/mm_plat/audio_routing_api/inc/AudioOutput.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_plat/audio_routing_api/inc/AudioOutput.h	Wed Jun 09 11:20:54 2010 +0300
@@ -25,7 +25,7 @@
 #include <mdaaudiotoneplayer.h>
 #include <mdaaudiooutputstream.h>
 #include <midiclientutility.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 // FORWARD DECLARATIONS
 class MAudioOutputObserver;
--- a/mm_plat/audio_routing_proxy_api/inc/AudioInputProxy.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_plat/audio_routing_proxy_api/inc/AudioInputProxy.h	Wed Jun 09 11:20:54 2010 +0300
@@ -22,7 +22,7 @@
 //  INCLUDES
 #include "AudioInput.h"
 #include <mmf/common/mmfcontrollerframework.h>
-#include <mcustomcommand.h>
+#include <MCustomCommand.h>
 // FORWARD DECLARATIONS
 class CCustomCommandUtility;
 class CCustomInterfaceUtility;
--- a/mm_plat/audio_routing_proxy_api/inc/AudioOutputProxy.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_plat/audio_routing_proxy_api/inc/AudioOutputProxy.h	Wed Jun 09 11:20:54 2010 +0300
@@ -22,7 +22,7 @@
 //  INCLUDES
 #include "AudioOutput.h"
 #include <mmf/common/mmfcontrollerframework.h>
-#include <mcustomcommand.h>
+#include <MCustomCommand.h>
 
 // FORWARD DECLARATIONS
 class CCustomCommandUtility;
--- a/mm_plat/custom_interface_proxy_factory_api/inc/CustomInterfaceProxyFactory.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_plat/custom_interface_proxy_factory_api/inc/CustomInterfaceProxyFactory.h	Wed Jun 09 11:20:54 2010 +0300
@@ -19,7 +19,7 @@
 #define __CUSTOMINTERFACEPROXYFACTORY_H
 
 #include <e32std.h>
-#include <mcustomcommand.h>
+#include <MCustomCommand.h>
 #include <CustomInterfaceUtility.h>
 
 class CCustomInterfaceProxyFactory
--- a/mm_plat/custom_interface_utility_api/inc/CustomCommandUtility.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_plat/custom_interface_utility_api/inc/CustomCommandUtility.h	Wed Jun 09 11:20:54 2010 +0300
@@ -20,7 +20,7 @@
 #define __CUSTOMCOMMANDUTILITY_H
 
 #include <e32base.h>
-#include <mcustomcommand.h>
+#include <MCustomCommand.h>
 //#include "CustomCommandTypes.h"
 
 
--- a/mm_plat/custom_interface_utility_api/inc/CustomInterfaceUtility.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_plat/custom_interface_utility_api/inc/CustomInterfaceUtility.h	Wed Jun 09 11:20:54 2010 +0300
@@ -19,7 +19,7 @@
 #define __CUSTOMINTERFACEUTILITY_H
 
 #include <e32base.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 //#include "CustomCommandTypes.h"
 #include <CustomCommandUtility.h>
 class CProxyCustomInterfaceUtility;
--- a/mm_pub/audio_effects_api/inc/AudioEqualizerBase.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_pub/audio_effects_api/inc/AudioEqualizerBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -24,7 +24,7 @@
 #include <e32base.h>
 #include <AudioEffectBase.h>
 #include <AudioEqualizerData.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 
 const TUid KUidAudioEqualizerEffect = {0x1020382A};
--- a/mm_pub/audio_effects_api/inc/BassBoostBase.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_pub/audio_effects_api/inc/BassBoostBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -24,7 +24,7 @@
 #include <e32base.h>
 #include <AudioEffectBase.h>
 #include <BassBoostData.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 const TUid KUidBassBoostEffect = {0x10203827};
 
--- a/mm_pub/audio_effects_api/inc/DistanceAttenuationBase.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_pub/audio_effects_api/inc/DistanceAttenuationBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -24,7 +24,7 @@
 #include <e32base.h>
 #include <AudioEffectBase.h>
 #include <DistanceAttenuationData.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 
 const TUid KUidDistanceAttenuationEffect = {0x1020382C};
--- a/mm_pub/audio_effects_api/inc/DopplerBase.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_pub/audio_effects_api/inc/DopplerBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -25,7 +25,7 @@
 #include <e32base.h>
 #include <AudioEffectBase.h>
 #include <DopplerData.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 // CLASS DECLARATION
 
--- a/mm_pub/audio_effects_api/inc/EnvironmentalReverbBase.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_pub/audio_effects_api/inc/EnvironmentalReverbBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -24,7 +24,7 @@
 #include <e32base.h>
 #include <AudioEffectBase.h>
 #include <EnvironmentalReverbData.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 const TUid KUidEnvironmentalReverbEffect = {0x10203837};
 
--- a/mm_pub/audio_effects_api/inc/ListenerDopplerBase.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_pub/audio_effects_api/inc/ListenerDopplerBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -23,7 +23,7 @@
 
 #include <e32base.h>
 #include <DopplerBase.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 const TUid KUidListenerDopplerEffect = {0x10207B16};
 
--- a/mm_pub/audio_effects_api/inc/ListenerLocationBase.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_pub/audio_effects_api/inc/ListenerLocationBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -23,7 +23,7 @@
 
 #include <e32base.h>
 #include <LocationBase.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 const TUid KUidListenerLocationEffect = {0x1020382D};
 
--- a/mm_pub/audio_effects_api/inc/ListenerOrientationBase.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_pub/audio_effects_api/inc/ListenerOrientationBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -23,7 +23,7 @@
 
 #include <e32base.h>
 #include <OrientationBase.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 const TUid KUidListenerOrientationEffect = {0x1020382E};
 
--- a/mm_pub/audio_effects_api/inc/LoudnessBase.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_pub/audio_effects_api/inc/LoudnessBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -24,7 +24,7 @@
 #include <e32base.h>
 #include <AudioEffectBase.h>
 #include <LoudnessData.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 const TUid KUidLoudnessEffect = {0x10207AA8};
 
--- a/mm_pub/audio_effects_api/inc/OrientationBase.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_pub/audio_effects_api/inc/OrientationBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -25,7 +25,7 @@
 #include <e32base.h>
 #include <AudioEffectBase.h>
 #include <OrientationData.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 // CLASS DECLARATION
 
--- a/mm_pub/audio_effects_api/inc/RoomLevelBase.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_pub/audio_effects_api/inc/RoomLevelBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -24,7 +24,7 @@
 #include <e32base.h>
 #include <AudioEffectBase.h>
 #include <RoomLevelData.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 const TUid KUidRoomLevelEffect = {0x10207B3C};
 
--- a/mm_pub/audio_effects_api/inc/SourceDopplerBase.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_pub/audio_effects_api/inc/SourceDopplerBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -23,7 +23,7 @@
 
 #include <e32base.h>
 #include <DopplerBase.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 const TUid KUidSourceDopplerEffect = {0x10207B15};
 
--- a/mm_pub/audio_effects_api/inc/SourceLocationBase.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_pub/audio_effects_api/inc/SourceLocationBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -23,7 +23,7 @@
 
 #include <e32base.h>
 #include <LocationBase.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 const TUid KUidSourceLocationEffect = {0x10203835};
 
--- a/mm_pub/audio_effects_api/inc/SourceOrientationBase.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_pub/audio_effects_api/inc/SourceOrientationBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -23,7 +23,7 @@
 
 #include <e32base.h>
 #include <OrientationBase.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 const TUid KUidSourceOrientationEffect = {0x10203834};
 
--- a/mm_pub/audio_effects_api/inc/StereoWideningBase.h	Tue May 25 14:20:15 2010 +0300
+++ b/mm_pub/audio_effects_api/inc/StereoWideningBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -24,7 +24,7 @@
 #include <e32base.h>
 #include <AudioEffectBase.h>
 #include <StereoWideningData.h>
-#include <mcustominterface.h>
+#include <MCustomInterface.h>
 
 const TUid KUidStereoWideningEffect = {0x10203836};
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/common/inc/DataWrapperBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 DATA_WRAPPER_BASE_H
+#define DATA_WRAPPER_BASE_H
+
+//	EPOC includes
+#include <datawrapper.h>
+#define SECS_TO_MS(x)  (x*1000000)
+
+_LIT(KConsname,				"Test Console");
+
+class CDataWrapperBase : public CDataWrapper
+	{
+public:
+	class TEnumEntryTable
+		{
+	public:
+		const TDesC&	iString;
+		TInt			iValue;
+		};
+
+public:
+	TBool					GetBoolFromConfig(const TDesC& aSectName,const TDesC& aKeyName,TBool& aResult);
+	TBool					GetIntFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult);
+	TBool GetRealFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TReal& aResult);
+	TBool					GetStringFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult);
+	TBool					GetHexFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult);
+	TBool					GetUintFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TUint& aResult);
+	TBool					GetArrayRectFromConfig(const TDesC& aSectName, const TDesC& aKeyName, RPointerArray<HBufC>& aResult);
+	TBool 					KeyPress();
+	void 					Timedelay(TInt aTimeoutInSecs);
+	virtual void			InitialiseL();
+	inline RFs&				FileServer() { return iFs; }
+	inline CConsoleBase*	GetConsole() { return(Console::NewL(KConsname,TSize(KConsFullScreen,KConsFullScreen)));}
+	TBool					GetEnumFromConfig(const TDesC& aSectName, const TDesC& aKeyName, const TEnumEntryTable* aTable, TInt& aResult);
+
+protected:
+	CDataWrapperBase();
+	virtual ~CDataWrapperBase();
+
+private:
+	TBool	GetCommandStringParameterL(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult);
+	TBool 	KeyCheck();
+
+private:
+	// Included ini files
+	RPointerArray<CIniData>	iInclude;
+	RPointerArray<HBufC>	iBuffer;
+	RFs                     iFs;
+	RTimer					iTimer;
+	};
+
+#endif // DATA_WRAPPER_BASE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/common/src/DataWrapperBase.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,447 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "datawrapperbase.h"
+
+/*@{*/
+///	Constant Literals used.
+_LIT(KPrefixHex,			"0x");
+_LIT(KPrefixOctal,			"0");
+_LIT(KSuffixBinary,			"b");
+
+_LIT(KIncludeSection,		"include");
+_LIT(KFile,					"file%d");
+_LIT(KMatch,				"*{*,*}*");
+_LIT(KStart,				"{");
+_LIT(KSeparator,			",");
+_LIT(KEnd,					"}");
+_LIT(KDataRead,				"INI READ : %S %S %S");
+
+/*@}*/
+
+CDataWrapperBase::CDataWrapperBase()
+:	CDataWrapper()
+	{
+	}
+
+/**
+ * Public destructor
+ */
+CDataWrapperBase::~CDataWrapperBase()
+	{
+	iInclude.ResetAndDestroy();
+	iBuffer.ResetAndDestroy();
+	iFs.Close();
+	}
+
+void CDataWrapperBase::InitialiseL()
+	{
+	iTimer.CreateLocal();
+	CDataWrapper::InitialiseL();
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TPtrC		fileName;
+	TBool		moreData=ETrue;
+	TBool		index=0;
+	while ( moreData )
+		{
+		tempStore.Format(KFile(), ++index);
+		moreData=GetStringFromConfig(KIncludeSection, tempStore, fileName);
+
+		if (moreData)
+			{
+			CIniData*	iniData=CIniData::NewL(fileName);
+			CleanupStack::PushL(iniData);
+			iInclude.Append(iniData);
+			CleanupStack::Pop(iniData);
+			}
+		}
+	User::LeaveIfError(iFs.Connect());
+	}
+
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TBool reference passed in possible values TRUE, FALSE
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - The value of the boolean
+ * @return TBool - ETrue for found, EFalse for not found 
+ */
+TBool CDataWrapperBase::GetBoolFromConfig(const TDesC& aSectName,const TDesC& aKeyName,TBool& aResult)
+	{
+	TBool	ret=EFalse;
+	TPtrC	result;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	if ( ret )
+		{
+		_LIT(KTrue,"true");
+		aResult=(result.FindF(KTrue) != KErrNotFound);
+		}
+
+	return ret;
+	}
+
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TInt reference passed in
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - The value of the integer
+ * @return TBool - ETrue for found, EFalse for not found 
+ */
+TBool CDataWrapperBase::GetIntFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult)
+	{
+	TPtrC	result;
+	TBool	ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	if ( ret )
+		{
+		TLex	lex(result);
+		ret=(lex.Val(aResult)==KErrNone);
+		}
+
+	return ret;
+	}
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TReal reference passed in
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - The value of the real
+ * @return TBool - ETrue for found, EFalse for not found 
+ */
+TBool CDataWrapperBase::GetRealFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TReal& aResult)
+	{
+	TPtrC result;
+	TBool ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret = EFalse;
+		}
+	if ( ret )
+		{
+		TLex lex(result);
+		ret = ( lex.Val(aResult)==KErrNone );
+		}
+	return ret;
+	}
+
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TPtrC reference passed in
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - Reference to the string on the heap
+ * @return TBool - ETrue for found, EFalse for not found 
+ */
+TBool CDataWrapperBase::GetStringFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult)
+	{
+	TBool	ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, aResult));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	return ret;
+	}
+
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TInt reference passed in. The value can optionally be prefixed with 0x
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - The integer value of the Hex input
+ * @return TBool - ETrue for found, EFalse for not found 
+ */	
+TBool CDataWrapperBase::GetHexFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult)
+	{
+	TPtrC	result;
+	TBool	ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	if ( ret )
+		{
+		TLex	lex;
+		if( result.FindC(KPrefixHex)==KErrNone )
+			{
+			lex=result.Mid(KPrefixHex().Length());
+			}
+		else
+			{
+			lex=result;
+			}
+		ret=(lex.Val((TUint &)aResult, EHex)==KErrNone);
+		}
+
+	return ret;
+	}
+
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TUint reference passed in.
+ * If the value is prefixed with 0x the value is read as a hexidecimal value
+ * If the value is suffixed with b the value is read as a binary value
+ * If the value is prefixed with a 0 the value is read as an octal value
+ * If it does not match the above it is read in as an integer
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - The integer value of the Hex input
+ * @return TBool - ETrue for found, EFalse for not found 
+ */	
+TBool CDataWrapperBase::GetUintFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TUint& aResult)
+	{
+	TPtrC	result;
+	TBool	ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	if ( ret )
+		{
+		TLex	lex(result);
+		if( result.FindC(KPrefixHex)==KErrNone )
+			{
+			lex=result.Mid(KPrefixHex().Length());
+			ret=(lex.Val(aResult, EHex)==KErrNone);
+			}
+		else
+			{
+			TInt	binarySuffixPosition=result.Length()-KSuffixBinary().Length();
+			if ( result.FindC(KSuffixBinary)==binarySuffixPosition )
+				{
+				lex=result.Left(binarySuffixPosition);
+				ret=(lex.Val(aResult, EBinary)==KErrNone);
+				}
+			else
+				{
+				if( result.FindC(KPrefixOctal)==KErrNone )
+					{
+					ret=(lex.Val(aResult, EOctal)==KErrNone);
+					}
+				else
+					{
+					TInt	intResult;
+					ret=(lex.Val(intResult)==KErrNone);
+					if ( ret )
+						{
+						aResult=(TUint)intResult;
+						}
+					}
+				}
+			}
+		}
+
+	return ret;
+	}
+
+/**
+ *   Return array of string parameters i.e. key=a1,a2,a3 returns array which contains
+ *   String a1, a2 and a3.
+ *   @return ret - EFalse if can't get a String parameter from Config file.  ETrue if KErrNone
+ */
+TBool CDataWrapperBase::GetArrayRectFromConfig(const TDesC& aSectName, const TDesC& aKeyName, RPointerArray<HBufC>& aResult)
+	{
+	TBool	ret=EFalse;
+	TPtrC completeArray;
+	
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, completeArray));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+
+    TLex16 lex(completeArray); // Here we have the array as a string i.e. "a1,a2,a3"
+    TBuf<256> buf;
+    TChar chr;
+    
+    while(!lex.Eos())
+        {
+        chr = lex.Get();
+        // Check if there was a list separator
+        if ((chr == ',') && (lex.Peek() == '('))
+            {
+            HBufC* param = buf.AllocLC();
+            buf.Zero();
+            aResult.Append(param);
+            CleanupStack::Pop(param); // pointer to buf is stored in RPointerArray
+            }
+        // If not separator character we can store the character into array
+        else
+            {
+            buf.Append(chr);
+            }
+        }
+    // Remember to put last token into array (,a3)
+    HBufC* param = buf.AllocLC();
+    aResult.Append(param);
+    CleanupStack::Pop(param);
+    
+    return ret;
+	}
+
+/**
+ * Reads the parameter	asociated to the specified command
+ * @param aSectName	Section on ini file
+ * @param aKeyName		Name of the parameter
+ * @param aResult			descriptor containing parameter
+ * @return TBool  ETrue for found, EFalse for not found 
+ */
+TBool CDataWrapperBase::GetCommandStringParameterL(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult)
+	{
+	TBool	ret=EFalse;
+
+	if ( aSectName.Length()!=0 )
+		{
+		ret=CDataWrapper::GetStringFromConfig(aSectName, aKeyName, aResult);
+
+		for ( TInt index=iInclude.Count(); (index>0) && (!ret); )
+			{
+			ret=iInclude[--index]->FindVar(aSectName, aKeyName, aResult);
+			}
+		}
+
+	if ( ret )
+		{
+		if ( aResult.Match(KMatch)!=KErrNotFound )
+			{
+			//	We have an entry of the format
+			//	entry =*{section,entry}*
+			//	where * is one or more characters
+			//	We need to construct this from other data in the ini file replacing {*,*}
+			//	with the data from
+			//	[section]
+			//	entry =some_value
+			HBufC*	buffer=HBufC::NewLC(aResult.Length());
+			buffer->Des().Copy(aResult);
+
+			TInt	startLength=KStart().Length();
+			TInt	sparatorLength=KSeparator().Length();
+			TInt	endLength=KEnd().Length();
+			TInt	bufferLength;
+			TInt	start;
+			TInt	sparator;
+			TInt	end;
+			TPtrC	remaining;
+			TLex	lex;
+			do
+				{
+				bufferLength=buffer->Length();
+				start=buffer->Find(KStart);
+
+				remaining.Set(buffer->Des().Right(bufferLength-start-startLength));
+				sparator=remaining.Find(KSeparator);
+				remaining.Set(remaining.Right(remaining.Length()-sparator-sparatorLength));
+				sparator += (start + startLength);
+
+				end=remaining.Find(KEnd) + sparator + sparatorLength;
+
+				TPtrC	sectionName(buffer->Ptr()+start+startLength, sparator-start-startLength);
+				TPtrC	keyName(buffer->Ptr()+sparator+sparatorLength, end-sparator-sparatorLength);
+				sectionName.Set(TLex(sectionName).NextToken());
+				keyName.Set(TLex(keyName).NextToken());
+
+				TInt	entrySize=0;
+				TPtrC	entryData;
+				TBool	found=CDataWrapper::GetStringFromConfig(sectionName, keyName, entryData);
+				for ( TInt index=iInclude.Count(); (index>0) && (!found);  )
+					{
+					found=iInclude[--index]->FindVar(sectionName, keyName, entryData);
+					}
+				if ( found )
+					{
+					entrySize=entryData.Length();
+					}
+
+				TInt	newLength=start + bufferLength - end - endLength + entrySize;
+				HBufC*	bufferNew=HBufC::NewLC(newLength);
+				bufferNew->Des().Copy(buffer->Ptr(), start);
+				if ( entrySize>0 )
+					{
+					bufferNew->Des().Append(entryData);
+					}
+				bufferNew->Des().Append(buffer->Ptr() + end + endLength, bufferLength - end - endLength);
+				CleanupStack::Pop(bufferNew);
+				CleanupStack::PopAndDestroy(buffer);
+				buffer=bufferNew;
+				CleanupStack::PushL(buffer);
+				}
+			while ( buffer->Match(KMatch)!=KErrNotFound );
+			iBuffer.Append(buffer);
+			CleanupStack::Pop(buffer);
+			aResult.Set(*buffer);
+			INFO_PRINTF4(KDataRead, &aSectName, &aKeyName , &aResult);
+			}
+		}
+
+	return ret;
+	}
+
+/**
+ * Utility function to produce time delay
+ * @param aTimeoutInSecs Times in micro seconds
+ */
+void CDataWrapperBase::Timedelay(TInt aTimeoutInSecs)
+	{
+	TRequestStatus	status;
+	iTimer.After(status, aTimeoutInSecs);
+	User::WaitForRequest(status);
+	}
+
+TBool CDataWrapperBase::GetEnumFromConfig(const TDesC& aSectName, const TDesC& aKeyName, const TEnumEntryTable* aTable, TInt& aResult)
+	{
+	TPtrC	str;
+	TBool	ret=GetStringFromConfig(aSectName, aKeyName, str);
+
+	if ( ret )
+		{
+		TBool	found=EFalse;
+		TInt	index=0;
+		while ( (aTable[index].iValue!=-1) && !found )
+			{
+			if ( aTable[index].iString==str )
+				{
+				found=ETrue;
+				aResult=aTable[index].iValue;
+				}
+			else
+				{
+				++index;
+				}
+			}
+
+		if ( !found )
+			{
+			ret=GetIntFromConfig(aSectName, aKeyName, aResult);
+			}
+		}
+
+	return ret;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,60 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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 "device.cfg"
+
+#include "../testsuites/group/bld.inf"
+
+PRJ_TESTEXPORTS
+t_devsoundext.iby									                                           /epoc32/rom/haitests/t_devsoundext.iby
+t_devsoundext_binaries.iby							                                     /epoc32/rom/haitests/t_devsoundext_binaries.iby
+t_devsoundext_testdata.iby							                                     /epoc32/rom/haitests/t_devsoundext_testdata.iby
+../pkg/t_devsoundext.bat 							                                       c:/multimedia/mmf/devsound/t_devsoundext.bat
+../testdata/t_devsoundext_environment.ini 										               c:/multimedia/mmf/devsound/t_devsoundext_environment.ini 
+
+../scripts/multimedia-mmf-devsoundext-validation-automated-p.script	         c:/multimedia/mmf/devsound/multimedia-mmf-devsoundext-validation-automated-p.script
+../scripts/multimedia-mmf-devsoundext-validation-automated-r.script	         c:/multimedia/mmf/devsound/multimedia-mmf-devsoundext-validation-automated-r.script
+../scripts/multimedia-mmf-devsoundext-validation-automated-comb_pr.script	   c:/multimedia/mmf/devsound/multimedia-mmf-devsoundext-validation-automated-comb_pr.script
+../scripts/multimedia-mmf-devsoundext-validation-automated-comb_rr.script	   c:/multimedia/mmf/devsound/multimedia-mmf-devsoundext-validation-automated-comb_rr.script
+../scripts/multimedia-mmf-devsoundext-stress-automated-recording.script	     c:/multimedia/mmf/devsound/multimedia-mmf-devsoundext-stress-automated-recording.script
+
+../testdata/multimedia-mmf-devsoundext-validation-automated-p.ini	           c:/multimedia/mmf/devsound/multimedia-mmf-devsoundext-validation-automated-p.ini
+../testdata/multimedia-mmf-devsoundext-validation-automated-r.ini	           c:/multimedia/mmf/devsound/multimedia-mmf-devsoundext-validation-automated-r.ini
+../testdata/multimedia-mmf-devsoundext-validation-automated-comb_pr.ini	     c:/multimedia/mmf/devsound/multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+../testdata/multimedia-mmf-devsoundext-validation-automated-comb_rr.ini	     c:/multimedia/mmf/devsound/multimedia-mmf-devsoundext-validation-automated-comb_rr.ini
+../testdata/multimedia-mmf-devsoundext-stress-automated-recording.ini	       c:/multimedia/mmf/devsound/multimedia-mmf-devsoundext-stress-automated-recording.ini
+
+
+
+#if defined(TEST_DEVICE_DEVLON52)
+../testdata/devlon52/t_devsoundext.ini                                         c:/multimedia/mmf/devsound/t_devsoundext.ini
+../testdata/devlon52/t_devsoundext.tcs                                         c:/multimedia/mmf/devsound/t_devsoundext.tcs
+#endif
+
+#if defined(TEST_DEVICE_TUBE)
+../testdata/tube/t_devsoundext.ini                                         c:/multimedia/mmf/devsound/t_devsoundext.ini
+../testdata/tube/t_devsoundext.tcs                                         c:/multimedia/mmf/devsound/t_devsoundext.tcs
+#endif
+
+#if defined(TEST_DEVICE_H6HRP)
+../testdata/h6hrp/t_devsoundext.ini                                         c:/multimedia/mmf/devsound/t_devsoundext.ini
+../testdata/h6hrp/t_devsoundext.tcs                                         c:/multimedia/mmf/devsound/t_devsoundext.tcs
+#endif
+
+
+PRJ_TESTMMPFILES
+t_devsoundext.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/group/device.cfg	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,25 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+
+// Used within the build process to export the correct files for the supported devices
+// Uncomment only one of the devices definied in  listed below
+
+
+//#define	TEST_DEVICE_DEVLON52
+#define	TEST_DEVICE_TUBE
+//#define	TEST_DEVICE_H6HRP
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/group/devsoundexthaitest.mrp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,20 @@
+#
+# Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#
+component		devsoundexthaitest
+source			\sf\os\mm\mmapitest\devsoundexthaitest
+notes_source	\sf\os\mm\mmapitest\devsoundexthaitest\group\release.txt
+ipr				T
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/group/release.txt	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,5 @@
+NOTESRC_RELEASER
+Nokia Corporation
+
+NOTESRC_RELEASE_REASON
+DevSoundExt SALT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/group/t_devsoundext.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,25 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_DEVSOUNDEXT_IBY__)
+#define __T_DEVSOUNDEXT_IBY__
+
+//Test Includes
+#include <..\haitests\t_devsoundext_binaries.iby>
+#include <..\haitests\t_devsoundext_testdata.iby>
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/group/t_devsoundext.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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>
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+TARGET			t_devsoundext.exe
+TARGETTYPE		exe
+UID				0x1000007A 0x200041CA
+VENDORID		0x70000001
+
+capability		All -Tcb
+
+SOURCEPATH		../src
+
+SOURCE			../common/src/datawrapperbase.cpp
+SOURCE			t_cmmfdevsounddata.cpp
+SOURCE			t_devsoundserver.cpp
+SOURCE			t_crestrictedaudiooutputdata.cpp
+SOURCE			t_ctelephonyaudioroutingdata.cpp
+SOURCE			t_caudiooutputdata.cpp
+SOURCE			t_caudioinputdata.cpp
+SOURCE			t_cg711decoderintfcdata.cpp
+
+USERINCLUDE		../inc
+USERINCLUDE		../common/inc 
+
+SYSTEMINCLUDE	/epoc32/include/test
+SYSTEMINCLUDE	/epoc32/include/mmf/server
+
+LIBRARY			euser.lib
+LIBRARY			efsrv.lib
+LIBRARY			testexecuteutils.lib
+LIBRARY			testexecutelogclient.lib
+LIBRARY     iniparser.lib
+LIBRARY 		accclient.lib
+LIBRARY			ecom.lib
+LIBRARY			mmfdevsound.lib
+LIBRARY			centralrepository.lib
+LIBRARY			restrictedaudiooutput.lib
+LIBRARY			telephonyaudiorouting.lib
+
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/group/t_devsoundext_binaries.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,23 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_DEVSOUNDEXT_BINARIES_IBY__)
+#define __T_DEVSOUNDEXT_BINARIES_IBY__
+
+file=\Epoc32\Release\armv5\urel\t_devsoundext.exe		\sys\bin\t_devsoundext.exe
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/group/t_devsoundext_testdata.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,38 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_DEVSOUNDEXT_TESTDATA_IBY__)
+#define __T_DEVSOUNDEXT_TESTDATA_IBY__
+
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-p.script	multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-p.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-r.script	multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-r.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.script	multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_rr.script	multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_rr.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-stress-automated-recording.script	multimedia\mmf\devsound\multimedia-mmf-devsoundext-stress-automated-recording.script
+
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-p.ini	multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-p.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-r.ini	multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-r.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini	multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_rr.ini	multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_rr.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-stress-automated-recording.ini	multimedia\mmf\devsound\multimedia-mmf-devsoundext-stress-automated-recording.ini
+
+
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\t_devsoundext.ini						multimedia\mmf\devsound\t_devsoundext.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\t_devsoundext.bat						multimedia\mmf\devsound\t_devsoundext.bat
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\t_devsoundext.tcs						multimedia\mmf\devsound\t_devsoundext.tcs
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\t_devsoundext_environment.ini						multimedia\mmf\devsound\t_devsoundext_environment.ini
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/group/testdriversetup.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+perl testdriversetup.pl --statlite=false
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/group/testdriversetup.pl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,82 @@
+#
+# Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#
+
+use Getopt::Long;
+use Cwd;
+
+
+sub Usage()
+	{
+	print <<USAGE_EOF;
+Usage
+perl testdriversetup.pl --statlite=StatLite
+
+    StatLite = [true | false ]
+
+    --help                      : This help
+USAGE_EOF
+	exit( 0 )
+	}
+
+sub main()
+	{
+	my	$help='';
+	my	$statLite="";
+
+	GetOptions(
+		'statlite=s'=> \$statLite,
+		'help' 		=> \$help
+	);
+
+	if($help or (($statLite ne "true") and ($statLite ne "false")) )
+		{
+		Usage();
+		exit(0);
+		}
+
+	my $theEpocRoot=$ENV{EPOCROOT};
+	my $epoc32Location="$theEpocRoot.\\epoc32";
+
+	my $currentDirectory=cwd;
+	$currentDirectory =~ s/Group//i;
+	$currentDirectory =~ s/\//\\/g;
+
+	my $currentDrive = substr($currentDirectory,0,2);
+
+	my	$cmd="TestDriver config";
+	my	$suite="file:/$currentDrive$epoc32Location\\testdriver\\salt\\devsoundexthai.driver";
+	$suite =~ s.\\./.g;
+	$suite =~ s\/./\/\g;
+
+	$cmd .= " --bldclean OFF";
+	$cmd .= " --bldmake OFF";
+	$cmd .= " -e $currentDrive$theEpocRoot";
+	$cmd .= " -x $currentDrive$epoc32Location\\testdriver\\salt";
+	$cmd .= " --repos $currentDrive$epoc32Location\\testdriver\\Repository";
+	$cmd .= " -c $currentDrive$epoc32Location\\testdriver\\Results";
+	$cmd .= " -i $currentDirectory";
+	$cmd .= " -s $suite";
+	$cmd .= " --source $currentDirectory";
+	$cmd .= " --tp $currentDirectory";
+	$cmd .= " --testexec ON";
+	$cmd .= " --statlite $statLite";
+	$cmd .= " --teflite true";
+	$cmd .= " --commdb overwrite";
+	system("$cmd");
+	}
+
+main();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/inc/T_CAudioInputData.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 T_CAUDIO_INPUT_H
+#define T_CAUDIO_INPUT_H
+
+//User Includes
+#include "datawrapperbase.h"
+
+//Epoc includes
+#include <audioinput.h>//CAudioInput
+#include <audioinputmessagetypes.h>
+#include <sounddevice.h>//CMMFDevSound
+
+class CT_CAudioInputData : public CDataWrapperBase
+	{
+public:
+	static	CT_CAudioInputData* NewL();
+	virtual TAny* GetObject();
+	virtual TBool DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	CT_CAudioInputData();
+	
+private:
+	void DestroyData();
+
+protected:
+	void DoCmdNewL(const TTEFSectionName& aSection);
+	void DoCmdDestructor();
+
+	void DoCmdAudioInput();
+	void DoCmdSetAudioInputL(const TTEFSectionName& aSection);
+	
+private:
+	/**
+	 * Wrapped object
+	 */
+    CAudioInput* iAudioInput; 
+    /**
+     * Enum for input options
+     */
+    static const TEnumEntryTable iEnumInputOptions[];
+	};
+
+#endif //T_CAUDIO_INPUT_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/inc/T_CAudioOutputData.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 T_CAUDIO_OUTPUT_H
+#define T_CAUDIO_OUTPUT_H
+
+//User Includes
+#include "datawrapperbase.h"
+
+//Epoc Includes
+#include <audiooutput.h>//CAudioOutput
+#include <audiooutputmessagetypes.h>
+#include <maudiooutputobserver.h>
+#include <sounddevice.h>//CMMFDevSound
+
+class CT_CAudioOutputData : public CDataWrapperBase, public MAudioOutputObserver
+	{
+public:
+	static	CT_CAudioOutputData* NewL();
+	virtual TAny* GetObject();
+	virtual TBool DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	CT_CAudioOutputData();
+	
+private:
+	void DestroyData();
+
+protected:
+	void DoCmdNewL(const TTEFSectionName& aSection);
+	void DoCmdDestructor();
+
+	void DoCmdAudioOutput();
+	void DoCmdDefaultAudioOutput();
+	void DoCmdRegisterObserverL();
+	void DoCmdSecureOutput();
+	void DoCmdSetAudioOutputL(const TTEFSectionName& aSection);
+	void DoCmdSetSecureOutputL(const TTEFSectionName& aSection);
+	void DoCmdUnregisterObserver();
+
+public:
+	/**
+     * From MAudioOutputObserver.
+     */                
+     void DefaultAudioOutputChanged( CAudioOutput& aAudioOutput, CAudioOutput::TAudioOutputPreference aNewDefault );
+	
+private:
+	/**
+	 * Wrapped object
+	 */
+    CAudioOutput* iAudioOutput; 
+    /**
+     * Pref of audio output
+     */
+    CAudioOutput::TAudioOutputPreference audioOutputPref;
+    /**
+     * Secure Output(DoCmdSecureOutput)
+     */
+    TBool iSecureOutput;
+    /**
+     * Enum for output options
+     */
+    static const TEnumEntryTable iEnumOutputOptions[];
+	};
+
+
+#endif //T_CAUDIO_OUTPUT_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/inc/T_CErrorConcealmentIntfcData.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 T_CERRORCONCEALMENTINTFCDATA_H
+#define T_CERRORCONCEALMENTINTFCDATA_H
+
+//User includes
+#include "datawrapperbase.h"
+
+//Epoc includes
+#include <ErrorConcealmentIntfc.h>//CErrorConcealmentIntfc
+
+
+class CT_CErrorConcealmentIntfcData : public CDataWrapperBase
+    {
+    public:
+    	~CT_CErrorConcealmentIntfcData();
+    	static	CT_CErrorConcealmentIntfcData* NewL();
+        virtual TAny* GetObject();
+        virtual TBool DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	    CT_CErrorConcealmentIntfcData();
+	    
+    private:
+    	void DestroyData();
+    	
+    protected:
+    	void DoCmdNewL();
+    	void DoCmdDestructor();
+        void DoCmdConcealErrorForNextBuffer(const TTEFSectionName& aSection);
+		void DoCmdSetFrameMode(const TTEFSectionName& aSection);
+		void DoCmdFrameModeRqrdForEC(const TTEFSectionName& aSection);
+		
+            
+    private:
+    /**
+     * Wrapped object
+     */
+    	CErrorConcealmentIntfc* iErrorConcealmentIntfc;
+    };
+
+#endif /*T_CERRORCONCEALMENTINTFCDATA_H*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/inc/T_CG711DecoderIntfcData.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 G711HWDDEVICE
+#define G711HWDDEVICE
+
+//User includes
+#include "datawrapperbase.h"
+
+//Epoc includes
+#include <g711decoderintfc.h>//CG711DecoderIntfc
+#include <g711encoderintfc.h>//CG711EncoderIntfc
+
+
+
+class CT_CG711DecoderIntfcData : public CDataWrapperBase
+    {
+    protected:
+    	void DestroyData();
+    	void DoCmdNewL();
+    	void DoCmdDestructor();
+        void DoCmdSet(const TTEFSectionName& aSection);
+
+    public: 
+     	~CT_CG711DecoderIntfcData();
+	     static	CT_CG711DecoderIntfcData* NewL();
+         virtual TAny* GetObject();
+	     virtual TBool DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	     CT_CG711DecoderIntfcData();
+
+        void DoCmdSetDecoderMode(const TTEFSectionName& aSection);
+		void DoCmdSetCng(const TTEFSectionName& aSection);
+            
+    private: 
+	    /**
+	     * Decoder for G711
+	     */
+	    CG711DecoderIntfc* iG711Decoder;   
+        /**
+         * TBool for SetCng
+         */
+        TBool iCng;                           
+    };
+
+
+#endif /*G711HWDDEVICE*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/inc/T_CMMFDevSoundData.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,252 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 T_CMMFDEVSOUND_DATA_H
+#define T_CMMFDEVSOUND_DATA_H
+
+//User includes
+#include "datawrapperbase.h"
+
+//Epoc Includes
+#include <sounddevice.h> //CMMFDevSound
+
+/**
+ * This class tests the CMMFDevSound API's
+ */
+
+enum THwDeviceType
+	{
+	EDecoder,
+	EEncoder
+	};
+
+class CT_CMMFDevSoundData : public CDataWrapperBase, public MDevSoundObserver
+	{
+public:
+	~CT_CMMFDevSoundData();
+	static  CT_CMMFDevSoundData* NewL();
+	virtual TAny* GetObject();
+	virtual TBool DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+
+protected:
+	CT_CMMFDevSoundData();
+	void ConstructL();
+
+private:
+	void UtilityFourCCToHwDeviceUidL(const TDesC& aFourCC, THwDeviceType aType, TUid& aHwDeviceUid);
+	void DestroyData();
+	void Stop();
+	void PlayData();
+	void RecordData();
+	
+	/** From MDevSoundObserver */
+	virtual void InitializeComplete(TInt aError);
+	virtual void ToneFinished(TInt aError);
+	virtual void BufferToBeFilled(CMMFBuffer* aBuffer);
+	virtual void PlayError(TInt aError);
+	virtual void BufferToBeEmptied(CMMFBuffer* aBuffer);
+	virtual void RecordError(TInt aError);
+	virtual void ConvertError(TInt aError);
+	virtual void DeviceMessage(TUid uid, const TDesC8& aMsg);
+
+protected:
+	void DoCmdNewL();
+	void DoCmdNewLLoopL(const TTEFSectionName&aSection);
+	void DoCmdDestructor();
+	void DoCmdCapabilities();
+	void DoCmdConfig();
+	void DoCmdMaxGain(const TTEFSectionName& aSection);
+	void DoCmdMaxVolume(const TTEFSectionName& aSection);
+	void DoCmdGetPlayBalanceL(const TTEFSectionName& aSection);
+	void DoCmdGetRecordBalanceL(const TTEFSectionName& aSection);
+	void DoCmdGetSupportedInputDataTypesL();
+	void DoCmdGetSupportedOutputDataTypesL();
+	void DoCmdSamplesPlayed();
+	void DoCmdSamplesRecorded();
+	void DoCmdVolume(const TTEFSectionName& aSection);
+	void DoCmdGain(const TTEFSectionName& aSection);
+	void DoCmdFixedSequenceCount();
+	void DoCmdFixedSequenceName(const TTEFSectionName& aSection);
+	void DoCmdSetConfigL(const TTEFSectionName& aSection);
+	void DoCmdSetDTMFLengths(const TTEFSectionName& aSection);
+	void DoCmdSetGain(const TTEFSectionName& aSection);
+	void DoCmdSetPlayBalanceL(const TTEFSectionName& aSection);
+	void DoCmdSetPrioritySettings(const TTEFSectionName& aSection);
+	void DoCmdSetRecordBalanceL(const TTEFSectionName& aSection);
+	void DoCmdSetToneRepeats(const TTEFSectionName& aSection);
+	void DoCmdSetVolume(const TTEFSectionName& aSection);
+	void DoCmdSetVolumeRamp(const TTEFSectionName& aSection);
+	void DoCmdInitializeL(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	void DoCmdPlayDTMFStringL(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	void DoCmdPlayData();
+	void DoCmdPlayDualToneL(const TTEFSectionName& aSection);
+	void DoCmdPlayInitL(const TInt aAsyncErrorIndex);
+	void DoCmdPlayToneL(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	void DoCmdPlayToneSequenceL(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	void DoCmdRecordData();
+	void DoCmdRecordInitL(const TInt aAsyncErrorIndex);
+	void DoCmdStop(const TTEFSectionName& aSection);
+	void DoCmdSetVolumeLoop(const TTEFSectionName& aSection);
+
+	void DoCmdUtilityErrorConceal();
+	void DoCmdUtilityReplaceFile(const TTEFSectionName& aSection);
+	void DoCmdUtilityOpenFile(const TTEFSectionName& aSection);
+	void DoCmdUtilityCloseFile();
+	void DoCmdUtilityFileStartPosition();
+
+private:
+
+	/**
+	 * Wrapped object
+	 */
+	CMMFDevSound* iDevSound;
+	/**
+	 * Array to store DevSound objects
+	 */
+	RPointerArray<CMMFDevSound> iObjectsDevSound;
+	/**
+	 * Prority settings
+	 */
+	TMMFPrioritySettings iPrioritySettings;
+	/**
+	 * Capabilities
+	 */
+	TMMFCapabilities iCapabilities;
+	/**
+	 * Store the volume value
+	 */
+	TInt iVolumeValue;
+	/**
+	 * Store the gain value
+	 */
+	TInt iGainValue;
+	/**
+	 * Left percentage
+	 */
+	TInt iLeftPercentage;
+	/**
+	 * Right percentage
+	 */
+	TInt iRightPercentage;
+	/**
+	 * File Server
+	 */
+	RFs iFs;
+	/**
+	 * File for tones
+	 */
+	RFile iToneFile;
+	/**
+	 * File for audio
+	 */
+	RFile iAudiofile;
+	/**
+	 * Buffer to be filled or to review if it's empty
+	 */
+	CMMFBuffer* iBuffer;
+	/**
+	 * Last sample of audio file
+	 */
+	TInt iLastSample;
+	/**
+	 * for control the pause (DoCmdPause)
+	 */
+	TBool iPaused;
+	/**
+	 * Conceal the error
+	 */
+	TBool iErrorConceal;
+	/**
+	 * End of file
+	 */
+	TBool iEndFile;
+	/**
+	 * Buffer to be filled with tone sequence
+	 */
+	TBuf8<1024> iToneSequence;
+	/**
+	 * Index for Async error for command InitializeComplete
+	 */
+	TInt iInitializeCompleteError;
+	/**
+	 * Index for Async error for command ToneFinished
+	 */
+	TInt iToneFinishedError;
+	/**
+	 * Index for Async error for command BufferToBeFilled
+	 */
+	TInt iBufferToBeFilledError;
+	/**
+	 * Index for Async error for command PlayError
+	 */
+	TInt iPlayErrorError;
+	/**
+	 * Index for Async error for command BufferToBeEmptied
+	 */
+	TInt iBufferToBeEmptiedError;
+	/**
+	 * Index for Async error for command RecordError
+	 */
+	TInt iRecordErrorError;
+	/**
+	 * Index for Async error for command ConvertError
+	 */
+	TInt iConvertErrorError;
+	/**
+	 * Index for Async error for command DeviceMessage
+	 */
+	TInt iDeviceMessageError;
+	/**
+	 * Index for Async error for command UtilityFourCCToHwDeviceUidL
+	 */
+	TInt iUtilityFourCCToHwDeviceUidLError;
+  	/**
+	 * Index for Async error 
+	 */
+	TInt iAsyncErrorIndex_initialize; 
+    TInt iAsyncErrorIndex_play;
+    TInt iAsyncErrorIndex_record;
+    TInt iAsyncErrorIndex_tone;
+	/**
+	 * Enum for channels
+	 */
+	static const TEnumEntryTable iEnumChannels[];
+	/**
+	 * Enum for sample rate
+	 */
+	static const TEnumEntryTable iEnumSampleRate[];
+	/**
+	 * Enum for the mode
+	 */
+	static const TEnumEntryTable iEnumMode[];
+	/**
+	 * Enum for the priorities
+	 */
+	static const TEnumEntryTable iEnumPriority[];
+	/**
+	 * Enum for the priority preference
+	 */
+	static const TEnumEntryTable iEnumPriorityPreference[];
+	/**
+	 * Enum for initialize(FourCC, HwDevice) the mode and state
+	 */
+	static const TEnumEntryTable iEnumInitializeLType[];
+	};
+
+#endif // T_CMMFDEVSOUND_DATA_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/inc/T_CRestrictedAudioOutputData.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 T_CRESTRICTEDAUDIOOUTPUTDATA_H_
+#define T_CRESTRICTEDAUDIOOUTPUTDATA_H_
+
+//User Includes
+#include "datawrapperbase.h"
+
+//Epoc Includes
+#include <restrictedaudiooutput.h>//CRestrictedAudioOutput
+#include <restrictedaudiooutputmessagetypes.h>
+#include <sounddevice.h>//CMMFDevSound
+
+/** 
+ * This class tests the CRestrictedAudioOutput API's 
+ */
+
+class CT_CRestrictedAudioOutputData : public CDataWrapperBase
+	{
+public:
+	~CT_CRestrictedAudioOutputData();
+	static CT_CRestrictedAudioOutputData* NewL();
+	virtual TAny* GetObject();
+	virtual TBool DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt /*aAsyncErrorIndex*/);
+
+private:
+	void DestroyData();
+protected:
+	void DoCmdNewL(const TTEFSectionName& aSection);
+	void DoCmdDestructor();
+	void DoCmdAppendAllowedOutput(const TTEFSectionName& aSection);
+	void DoCmdRemoveAllowedOutput(const TTEFSectionName& aSection);
+	void DoCmdGetAllowedOutput(const TTEFSectionName& aSection);
+	void DoCmdGetAllowedOutputCount();
+	void DoCmdReset();
+	void DoCmdCommit();
+
+private:
+	/**
+	 * Wrapped object
+	 */
+	CRestrictedAudioOutput* iRestrictedAudioOutput;		
+	/**
+	 * Enum that contain allowed output preference
+	 */
+	static const TEnumEntryTable iEnumAllowedOutputPreference[];
+	};
+	
+#endif /*T_CRESTRICTEDAUDIOOUTPUTDATA_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/inc/T_CTelephonyAudioRoutingData.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 T_CTELEPHONYAUDIOROUTINGDATA_H_
+#define T_CTELEPHONYAUDIOROUTINGDATA_H_
+
+//User includes
+#include "datawrapperbase.h"
+
+//Epoc includes
+#include <mtelephonyaudioroutingobserver.h>//MTelephonyAudioRoutingObserver
+#include <telephonyaudiorouting.h>//CTelephonyAudioRouting
+/** 
+ * This class tests the CTelephonyAudioRouting API's 
+ */
+
+class CT_CTelephonyAudioRoutingData : public CDataWrapperBase, public MTelephonyAudioRoutingObserver
+	{
+public:
+	~CT_CTelephonyAudioRoutingData();
+	static CT_CTelephonyAudioRoutingData* NewL();
+	virtual TAny* GetObject();
+	virtual TBool DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	
+private:
+	CT_CTelephonyAudioRoutingData();
+	// void ConstructL();
+	void DestroyData();
+
+public:
+	/**
+	 * From MAudioOutputObserver
+	 */
+	void AvailableOutputsChanged( CTelephonyAudioRouting& /*aTelephonyAudioRouting*/);
+	void OutputChanged( CTelephonyAudioRouting& /*aTelephonyAudioRouting*/);
+	void SetOutputComplete( CTelephonyAudioRouting& /*aTelephonyAudioRouting*/, TInt aError);
+    
+protected:
+	void DoCmdNewL();
+	void DoCmdDestructor();
+	void DoCmdAvailableOutputs();
+	void DoCmdOutput();
+	void DoCmdPreviousOutput();
+	void DoCmdSetShowNote(const TTEFSectionName& aSection);
+	void DoCmdGetShowNote();
+	void DoCmdSetOutputL(const TTEFSectionName& aSection);
+  
+private:
+	/**
+	 * Wrapped object
+	 */
+	CTelephonyAudioRouting* iTelephonyAudioRouting;	
+	/**
+	 * Current output configured
+	 */
+	CTelephonyAudioRouting::TAudioOutput iOutput;
+	/**
+	 * Enum for output routing
+	 */
+	static const TEnumEntryTable iEnumOutput[];
+	};
+
+#endif /*T_CTELEPHONYAUDIOROUTING_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/inc/T_DevSoundServer.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 T_DEVSOUND_SERVER_H
+#define T_DEVSOUND_SERVER_H
+
+#include <testserver2.h>
+
+class CT_DevSoundServer : public CTestServer2
+	{
+private:
+	class CT_DevSoundBlock : public CTestBlockController
+		{
+	public:
+		inline CT_DevSoundBlock();
+		inline ~CT_DevSoundBlock();
+		CDataWrapper* CreateDataL( const TDesC& aData );
+
+		};
+
+public:
+	static CT_DevSoundServer* NewL();
+	inline CTestBlockController* CreateTestBlock();
+	void DoCmdutilStartApp();
+	};
+
+#include "t_devsoundserver.inl"
+
+#endif // T_DEVSOUND_SERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/inc/T_DevSoundServer.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+CT_DevSoundServer::CT_DevSoundBlock::CT_DevSoundBlock()
+:	CTestBlockController()
+	{
+	}
+
+CT_DevSoundServer::CT_DevSoundBlock::~CT_DevSoundBlock()
+	{
+	}
+
+CTestBlockController* CT_DevSoundServer::CreateTestBlock()
+	{
+	return new CT_DevSoundBlock();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/pkg/t_devsoundext.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,21 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsoundext-stress-automated-recording.script -tcx c:\multimedia\mmf\devsound\t_devsoundext.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.script -tcx c:\multimedia\mmf\devsound\t_devsoundext.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_rr.script -tcx c:\multimedia\mmf\devsound\t_devsoundext.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-p.script -tcx c:\multimedia\mmf\devsound\t_devsoundext.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-r.script -tcx c:\multimedia\mmf\devsound\t_devsoundext.tcs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/scripts/multimedia-mmf-devsoundext-stress-automated-recording.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,119 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsoundext-stress-automated-recording
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsoundext
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-STRESS-AUTOMATED-RECORDING-0001
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-devsoundext-STRESS-AUTOMATED-RECORDING-0001
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		PoC call stress test
+//!@SYMTestActions
+//!                1. Create Devsound Instance1
+//!                2. Create Devsound Instance2 
+//!                3.Replace File1 ( Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\PoCCallStressTest.amr)   
+//!                4. Initialize DevSound (Mode = EMMFStateRecording; FourCC = AMR)      
+//!                5. Set Priority (Priority = {Priority,PriorityPocCallUp} ; Preference = {PriorityPreference,PriorityPreferencePocCallUp} ; PriorityState=EMMFStateRecording) 
+//!                6. Capabilities1      
+//!                7. Set Configuration1 (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)          
+//!                8. Open File2 (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr)      
+//!                9. Initialize Devsound2 (InitializeMode = EInitializeFourCCMode; Mode = EMMFStatePlaying; FourCC = AMR)          
+//!                10. Set Priority2 (Priority = {Priority,PriorityPocCallDown} ; Preference = {PriorityPreference,PriorityPreferencePocCallDown} ;; PriorityState=EMMFStatePlaying)   
+//!                11. Capabilities2     
+//!                12. Set Configuration2 (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)   
+//!                13. Start Record for 5 seconds         
+//!                14. Stop Record for 2 seconds       
+//!                15. Start Record for 3 seconds     
+//!                16. Stop Record for 4 seconds       
+//!                17. Start Play for 2 seconds         
+//!                18. Stop Play for 1 second      
+//!                19. Start Play for 5 seconds     
+//!                20. Stop Play           
+//!                21. Close File2       
+//!                22. Destroy Devsound Instance2       
+//!                23. Close File1           
+//!                24.Destroy Devsound Instance1
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Record one File with PocCallUp Priority and PocCallUp Preference.Play another File with PocCallDown Priority  and PocCallDown Preference. Stop , Record and Play both Files
+//!@SYMTestType			
+
+	START_TEST_BLOCK	60	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-stress-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CMMFDevSound		devsound2
+		COMMAND		devsound1		NewL
+		COMMAND		devsound2		NewL
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-ReplaceFile_command03
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-SetPrioritySettings_command05
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-SetConfigL_command07
+		COMMAND		devsound2		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-OpenFile_command08
+		COMMAND		devsound2		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-InitializeL_command09
+        OUTSTANDING
+		COMMAND		devsound2		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-SetPrioritySettings_command10
+		COMMAND		devsound2		Capabilities
+		COMMAND		devsound2		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-SetConfigL_command12
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  5000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound1		Stop
+		DELAY  4000000 
+		COMMAND		devsound2		PlayInitL
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound2		Stop
+		DELAY  1000000 
+		COMMAND		devsound2		PlayInitL
+		ASYNC_DELAY  5000000 
+		COMMAND		devsound2		Stop
+		COMMAND		devsound2		CloseFile
+		COMMAND		devsound2		~
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-STRESS-AUTOMATED-RECORDING-0001
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/scripts/multimedia-mmf-devsoundext-validation-automated-comb_pr.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1620 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsoundext-validation-automated-comb_pr
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsoundext
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0002
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0002
+//!@SYMAPI
+//!                CMMFDevSound::PlayInitL()
+//!                 CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CAudioOutput::SetAudioOutputL( TAudioOutputPreference aAudioOutput = ENoPreference )
+//!                 CAudioInput::SetAudioInputL(TAudioInputArray )
+//! TEST_BLOCK 001
+//!                CMMFDevSound::PlayInitL()
+//!                 CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CAudioOutput::SetAudioOutputL( TAudioOutputPreference aAudioOutput = ENoPreference )
+//! TEST_BLOCK 002
+//!                CMMFDevSound::PlayInitL()
+//!                 CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CAudioInput::SetAudioInputL(TAudioInputArray )
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Audio recording during secured audio playback when recording has higher priority
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Create AudioOutput instance (DevSoundInstanceName = devsound1)
+//!                3. Set secure output (SecureOutput = 1)
+//!                4. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                5. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                6. Capabilities
+//!                7. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)    
+//!                8. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3)  
+//!                9. Play   
+//!                10. Close file   
+//!                11. Delete AudioOutput instance  
+//!                12. Delete DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Create AudioInput instance (DevSoundInstanceName = devsound1)
+//!                3. Initialize DevSound (Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                4. Set Priority (Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceAudioRecording};PriorityState=EMMFStateRecording)
+//!                5. Capabilities
+//!                6. Set Configuration and delay for 10 seconds (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)
+//!                7. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecHigherDuringSecPlay.pcm)       
+//!                8. Set audio input (AudioInput = Input_OutputtoSpeaker)              
+//!                9. Record 10 seconds               
+//!                10. Stop                       
+//!                11. Close file              
+//!                12. Delete AudioOutput instance                  
+//!                13. Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Audio recording during secured audio playback when recording has higher priority
+//! TEST_BLOCK 001
+//!                Audio recording during secured audio playback when recording has higher priority_1
+//! TEST_BLOCK 002
+//!                Audio recording during secured audio playback when recording has higher priority_2
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioOutput		audiooutput1
+		COMMAND		devsound1		NewL
+		COMMAND		audiooutput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0001-NewL_command02
+		COMMAND		audiooutput1		SetSecureOutput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0001-SetSecureOutput_command03
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0001-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0001-SetPrioritySettings_command05
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0001-SetConfigL_command07
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0001-OpenFile_command08
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		audiooutput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0002-NewL_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0002-SetConfigL_command06
+		DELAY  10000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0002-ReplaceFile_command07
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0002-SetAudioInput_command08
+		COMMAND     devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0002
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0003
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0003
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CAudioOutput::SetAudioOutputL( TAudioOutputPreference aAudioOutput = ENoPreference )
+//! TEST_BLOCK 002
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Recording with visualization preferences during secured audio playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. CreateAudioOutput instance (DevSoundInstanceName=devsound1)
+//!                3. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)        
+//!                4. Set secure output (SecureOutput=1)     
+//!                5. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})        
+//!                6. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)  
+//!                7. Capabilities                
+//!                8. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)                       
+//!                9.Start play 20s                       
+//!                10.Stop                  
+//!                11. Close file                 
+//!                12. Destroy AudioOutput instance                 
+//!                13. Destroy DevSound instance                      
+//!                
+
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\VisRecordDuringSecPlay.pcm)                   
+//!                3. Initialize DevSound (Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})                
+//!                4. Set Priority (Priority = {Priority,PriorityVisualization}; Preference = {PriorityPreference,PriorityPreferenceVisualization};PriorityState=EMMFStateRecording)  
+//!                5. Capabilities                       
+//!                6. Set Configuration delay 10s (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)                    
+//!                7. Start record 20s                           
+//!                8. Close file                                    
+//!                9.Destroy DevSound instance                         
+//!                
+
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults   1, in TestBlock 001, step 9, Play without error.
+//!                          2, in TestBlock 002, step 7, record return expected error -21.
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	90	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioOutput		audiooutput1
+		COMMAND		devsound1		NewL
+		COMMAND		audiooutput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0001-NewL_command02
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0001-OpenFile_command03
+		COMMAND		audiooutput1		SetSecureOutput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0001-SetSecureOutput_command04
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0001-InitializeL_command05
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0001-SetPrioritySettings_command06
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0001-SetConfigL_command08
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		audiooutput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	90	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0002-ReplaceFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0002-SetConfigL_command06
+		DELAY  10000000 
+		COMMAND  !AsyncError=-21 devsound1   RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0003
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0004
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0004
+//!@SYMAPI
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//! TEST_BLOCK 001
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//!                 CAudioInput::SetAudioInputL(TAudioInputArray )
+//! TEST_BLOCK 002
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//!                 CAudioInput::SetAudioInputL(TAudioInputArray )
+//! TEST_BLOCK 003
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CAudioOutput::SetAudioOutputL( TAudioOutputPreference aAudioOutput = ENoPreference )
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Secured audio playback during multiple recordings
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Create AudioInput instance (DevSoundInstanceName = devsound1)
+//!                3. Initialize DevSound (Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                4. Set Priority (Priority = {Priority,PriorityVisualization}; Preference = {PriorityPreference,PriorityPreferenceAudioRecording} ; PriorityState=EMMFStateRecording)
+//!                5. Capabilities
+//!                6. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)
+//!                7. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\SecPlayDuringMultipleRecordings1.pcm)      
+//!                8. Set audio input (AudioInput = Input_OutputtoSpeaker)                      
+//!                9. Record 30 seconds                                                
+//!                10. Close file                                              
+//!                11. Delete AudioInput instance                
+//!                12. Delete DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Create AudioInput instance (DevSoundInstanceName = devsound1)
+//!                3. Initialize DevSound (Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                4. Set Priority (Priority = {Priority,PriorityVisualization}; Preference = {PriorityPreference,PriorityPreferenceAudioRecording} ; PriorityState=EMMFStateRecording)
+//!                5. Capabilities
+//!                6. Set Configuration and delay 10 seconds(Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)
+//!                7. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\SecPlayDuringMultipleRecordings2.pcm)                   
+//!                8. Set audio input (AudioInput = Input_OutputtoSpeaker)     
+//!                9. Record 20 seconds                                   
+//!                10. Close file                                               
+//!                11. Delete AudioInput instance                
+//!                12. Delete DevSound instance
+//! TEST_BLOCK 003
+//!                1. Create DevSound instance
+//!                2. Create AudioOutput instance (DevSoundInstanceName = devsound1)
+//!                3. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceSWISPlayback} ; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities
+//!                6. Set Configuration and delay 20 seconds(Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                7. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3)                 
+//!                8. Set secure output (SecureOutput = 1)                             
+//!                9. Play 10 seconds                                                          
+//!                10. Stop                                                    
+//!                11. Close file                                      
+//!                12. Delete AudioOutput instance                 
+//!                13. Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AA_Secured audio playback during multiple recordings
+//! TEST_BLOCK 001
+//!                AA_Secured audio playback during multiple recordings
+//! TEST_BLOCK 002
+//!                AA_Secured audio playback during multiple recordings
+//! TEST_BLOCK 003
+//!                AA_Secured audio playback during multiple recordings
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	300	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound2
+		CREATE_OBJECT	CAudioInput		audioinput2
+		COMMAND		devsound2		NewL
+		COMMAND		audioinput2		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0001-NewL_command02
+		COMMAND		devsound2		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound2		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0001-SetPrioritySettings_command04
+		COMMAND		devsound2		Capabilities
+		COMMAND		devsound2		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0001-SetConfigL_command06
+		COMMAND		devsound2		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0001-ReplaceFile_command07
+		COMMAND		audioinput2		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0001-SetAudioInput_command08
+		COMMAND	!AsyncError=-13 devsound2  RecordInitL
+		ASYNC_DELAY  30000000
+		COMMAND		devsound2		Stop 
+		COMMAND		devsound2		CloseFile
+		COMMAND		audioinput2		~
+		COMMAND		devsound2		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound3
+		CREATE_OBJECT	CAudioInput		audioinput3
+		COMMAND		devsound3		NewL
+		COMMAND		audioinput3		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0002-NewL_command02
+		COMMAND		devsound3		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound3		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0002-SetPrioritySettings_command04
+		COMMAND		devsound3		Capabilities
+		COMMAND		devsound3		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0002-SetConfigL_command06
+		DELAY  10000000 
+		COMMAND		devsound3		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0002-ReplaceFile_command07
+		COMMAND		audioinput3		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0002-SetAudioInput_command08
+		COMMAND	  !AsyncError=-21 devsound3   RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound3		CloseFile
+		COMMAND		audioinput3		~
+		COMMAND		devsound3		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioOutput		audiooutput1
+		COMMAND		devsound1		NewL
+		COMMAND		audiooutput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0003-NewL_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0003-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0003-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0003-SetConfigL_command06
+		DELAY  20000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0003-OpenFile_command07
+		COMMAND		audiooutput1		SetSecureOutput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0003-SetSecureOutput_command08
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		audiooutput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0004
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0006
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0006
+//!@SYMAPI
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//! TEST_BLOCK 001
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//!                 CAudioInput::SetAudioInputL(TAudioInputArray )
+//! TEST_BLOCK 002
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CAudioOutput::SetAudioOutputL( TAudioOutputPreference aAudioOutput = ENoPreference )
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Secured SWIS playback during audio recording when recording has higher priority
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Create AudioInput instance (DevSoundInstanceName = devsound1)
+//!                3. Initialize DevSound (Mode = EMMFStateRecording; FourCC ={SpecialFourCC,RAW})
+//!                4. Set Priority (Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceAudioRecording};PriorityState=EMMFStateRecording)
+//!                5. Capabilities
+//!                6. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)
+//!                7. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\SecPlayDuringRecHigher.pcm)    
+//!                8. Set audio input (AudioInput = Input_OutputtoSpeaker)         
+//!                9. Record 20 seconds                 
+//!                10. Stop                         
+//!                11. Close file                 
+//!                12. Delete AudioInput instance               
+//!                13. Delete DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Create AudioOutput instance (DevSoundInstanceName = devsound1)
+//!                3. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3 )
+//!                4. Set Priority (Priority = {Priority,PrioritySWISPlayback}; Preference = {PriorityPreference,PriorityPreferenceSWISPlayback};PriorityState=EMMFStatePlaying)
+//!                5. Capabilities
+//!                6. Set Configuration and delay 10 seconds(Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                7. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3)            
+//!                8. Set secure output (SecureOutput = 1)                      
+//!                9. Play EOF                     
+//!                10. Close file                  
+//!                11. Delete AudioOutput instance              
+//!                12. Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AA_Secured SWIS playback during audio recording when recording has higher priority
+//! TEST_BLOCK 001
+//!                AA_Secured SWIS playback during audio recording when recording has higher priority
+//! TEST_BLOCK 002
+//!                AA_Secured SWIS playback during audio recording when recording has higher priority
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0001-NewL_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0001-SetConfigL_command06
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0001-ReplaceFile_command07
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0001-SetAudioInput_command08
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioOutput		audiooutput1
+		COMMAND		devsound1		NewL
+		COMMAND		audiooutput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0002-NewL_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0002-SetConfigL_command06
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0002-OpenFile_command07
+		COMMAND		audiooutput1		SetSecureOutput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0002-SetSecureOutput_command08
+		COMMAND	!AsyncError=-21	devsound1   PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		audiooutput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0006
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0007
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0007
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFAudioInput::SetAudioInputL(TAudioInputArray{ref})
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::PlayInitL()
+//!                
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Audio routing - Audio playback 16k mono recording from speaker
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_256kbps_st_1kHzsine_st2mono.mp3)        
+//!                3. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)                      
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone};PriorityState=EMMFStatePlaying)   
+//!                5. Capabilities             
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)         
+//!                7. Start Play for 20 seconds                  
+//!                8. Stop                
+//!                9. Close File              
+//!                10. Destroy Devsound Instance         
+//!                
+//! TEST_BLOCK 002
+//!                1. Create DevSound Instance
+//!                2. Create AudioInput Instance (DevSoundInstanceName = devsound1)
+//!                3. Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay16kMonoRecSpeaker.pcm) 
+//!                4. Initialize DevSound (Mode = EMMFStateRecording; FourCC = P16)          
+//!                5. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording};PriorityState=EMMFStateRecording)  
+//!                6. Capabilities     
+//!                7. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)    
+//!                8. Stop for 10 seconds          
+//!                9. Set Audio Input (AudioInput = Input_OutputtoSpeaker)         
+//!                10. Start Record for 20 seconds          
+//!                11. Stop for 5 seconds
+//!                12. Close File         
+//!                13. Open File  (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay16kMonoRecSpeaker.pcm) 
+//!                14. 12.  Initialize DevSound (Mode = EMMFStatePlaying; FourCC = P16)            
+//!                15. 13. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                16. 14. Capabilities     
+//!                17. 15. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)                    
+//!                18. 17. Start Play       
+//!                19. 18. Close File         
+//!                20. 19. Destroy AudioInput Instance        
+//!                21. Destroy DevSound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Audio playback 16k mono recording from speaker
+//! TEST_BLOCK 001
+//!                Play MP3 File with Audio Playback Priority and NonePreference, Expecting Error -13
+//! TEST_BLOCK 002
+//!                Record with Voice Recording Priority and Voice Recording Preference; Play with Audio PLayback Priority  and Audio PLayback Preference
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0001-SetConfigL_command06
+		COMMAND	!AsyncError=-13	devsound1       PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	65	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-NewL_command02
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-ReplaceFile_command03
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-SetPrioritySettings_command05
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-SetConfigL_command07
+		COMMAND		devsound1		Stop
+		DELAY  10000000 
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-SetAudioInput_command09
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-OpenFile_command13
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-InitializeL_command14
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-SetPrioritySettings_command15
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-SetConfigL_command17
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0007
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0008
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0008
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC{ref}, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFAudioInput::SetAudioInputL(TAudioInputArray)
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::PlayInitL()
+//!                
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Audio routing - Audio playback 16k stereo recording from speaker
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3)        
+//!                3. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)                
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone} ; PriorityState=EMMFStatePlaying)   
+//!                5. Capabilities                 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)              
+//!                7. Play for 20 seconds                            
+//!                8. Stop                     
+//!                9. Close File            
+//!                10. Destroy Devsound Instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound Instance
+//!                2. Create AudioInput Instance (DevSoundInstanceName = devsound1)
+//!                3. Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay16kStereoRecSpeaker.pcm)       
+//!                4. Initialize DevSound (Mode = EMMFStateRecording; FourCC = P16)                 
+//!                5. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState=EMMFStateRecording) 
+//!                6. Capabilities          
+//!                7. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate16000Hz)      
+//!                8. Stop for 10 seconds             
+//!                9. Set Audio Input (AudioInput = Input_OutputtoSpeaker)           
+//!                10. Start Record for 20 seconds               
+//!                11. Stop for 5 seconds                              
+//!                12. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = P16)            
+//!                13. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback} ; PriorityState=EMMFStatePlaying)
+//!                14. Capabilities        
+//!                15. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate16000Hz)          
+//!                16. Start File Positions           
+//!                17. Start Play           
+//!                18.Close File           
+//!                19. Destroy AudioInput Instance         
+//!                20. Destroy DevSound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Audio playback 16k stereo recording from speaker
+//! TEST_BLOCK 001
+//!                Play MP3 File with Audio Playback Priority and NonePreference.
+//! TEST_BLOCK 002
+//!                Record with Voice Recording Priority and Voice Recording Preference; Play with Audio PLayback Priority  and Audio PLayback Preference
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0001-SetConfigL_command06
+		COMMAND	!AsyncError=-13	devsound1       PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	65	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-NewL_command02
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-ReplaceFile_command03
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-SetPrioritySettings_command05
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-SetConfigL_command07
+		COMMAND		devsound1		Stop
+		DELAY  10000000 
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-SetAudioInput_command09
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-SetPrioritySettings_command13
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-SetConfigL_command15
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0008
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0009
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0009
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFAudioInput::SetAudioInputL(TAudioInputArray)
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::PlayInitL()
+//!                
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Audio routing - Audio playback 48k mono recording from speaker
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_256kbps_st_1kHzsine_st2mono.mp3)   
+//!                3. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)           
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone};PriorityState=EMMFStatePlaying) 
+//!                5. Capabilities        
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)       
+//!                7. Play for 20 seconds          
+//!                8. Stop                
+//!                9. Close File            
+//!                10. Destroy Devsound Instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound Instance
+//!                2. Create AudioInput Instance (DevSoundInstanceName = devsound1)
+//!                3. Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay48kMonoRecSpeaker.pcm)  
+//!                4. Initialize DevSound (Mode = EMMFStateRecording; FourCC = P16)      
+//!                5. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording};PriorityState=EMMFStateRecording) 
+//!                6. Capabilities          
+//!                7. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)       
+//!                8. Stop for 10 seconds            
+//!                9. Set Audio Input (AudioInput = Input_OutputtoSpeaker)          
+//!                10.Record for 20 seconds           
+//!                11. Stop for 5 seconds                
+//!                12. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = P16)        
+//!                13. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                14. Capabilities    
+//!                15. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)   
+//!                16. Start File Positions      
+//!                17. Start Play   
+//!                18. Close File   
+//!                19. Destroy AudioInput Instance   
+//!                20. Destroy DevSound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Audio playback 48k mono recording from speaker
+//! TEST_BLOCK 001
+//!                Play MP3 File with Audio Playback Priority and NonePreference.
+//! TEST_BLOCK 002
+//!                Record with Voice Recording Priority and Voice Recording Preference; Play with Audio PLayback Priority  and Audio PLayback Preference
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0001-SetConfigL_command06
+		COMMAND	!AsyncError=-13	devsound1       PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	65	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-NewL_command02
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-ReplaceFile_command03
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-SetPrioritySettings_command05
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-SetConfigL_command07
+		COMMAND		devsound1		Stop
+		DELAY  10000000 
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-SetAudioInput_command09
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-SetPrioritySettings_command13
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-SetConfigL_command15
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0009
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0011
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0011
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevsound::PlayToneSequenceL(const TDesC8 {ref})
+//!                CMMFDevSound::SetGain()
+//!                CMMFAudioInput::SetAudioInputL(TAudioInputArray)
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		 Gain control of audio playback recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3)       
+//!                3. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)                    
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone};PriorityState=EMMFStatePlaying)   
+//!                5. Capabilities                
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)              
+//!                7. Play for 20 seconds                        
+//!                8. Stop                                
+//!                9.Close File                     
+//!                10.Destroy Devsound Instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound Instance   
+//!                2. Create AudioInput Instance (DevSoundInstanceName = devsound1)
+//!                3. Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\GainPlayRec.amr)        
+//!                4. Initialize DevSound (Mode = EMMFStateRecording; FourCC = AMR)                
+//!                5. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording};PriorityState=EMMFStateRecording)
+//!                6. Capabilities               
+//!                7. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)            
+//!                8. Stop for 5 seconds               
+//!                9. Set Audio Input (AudioInput = Input_OutputtoSpeaker)          
+//!                10. Record for 10 seconds              
+//!                11. SetGain(Gain= 0)              
+//!                12. SetGain(Gain=1)                 
+//!                13. Stop for 10 seconds            
+//!                14. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = AMR)                        
+//!                15. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                16. Capabilities                                                 
+//!                17. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)                        
+//!                18. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\GainPlayRec.amr)                 
+//!                19. Start Play                         
+//!                20.Close File                             
+//!                21.Destroy AudioInput Instance                   
+//!                22.Destroy DevSound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//! TEST_BLOCK 001
+//!                MP3 playback
+//! TEST_BLOCK 002
+//!                AMR recording {ref} playback with expected error=-21
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0001-SetConfigL_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-NewL_command02
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-ReplaceFile_command03
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-SetPrioritySettings_command05
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-SetConfigL_command07
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-SetAudioInput_command09
+		COMMAND	!AsyncError=-21	devsound1   RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		SetGain			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-SetGain_command12
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		SetGain			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-SetGain_command13
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  10000000 
+        COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-InitializeL_command15
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-SetPrioritySettings_command16
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-SetConfigL_command18
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-OpenFile_command19
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0011
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0012
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0012
+//!@SYMAPI
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//! TEST_BLOCK 001
+//!                CMMFDevSound::  InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//!                 CAudioInput::SetAudioInputL(TAudioInputArray )
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Audio routing - Audio playback 48k mono recording from speaker when accessory is used
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)     
+//!                7. Play 20 seconds                           
+//!                8. Stop                           
+//!                9. Close file                  
+//!                10. Delete DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Create AudioInput instance (DevSoundInstanceName = devsound1)
+//!                3. Initialize DevSound (Mode = EMMFStateRecording; FourCC ={SpecialFourCC,RAW})
+//!                4. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording};PriorityState=EMMFStateRecording)
+//!                5. Capabilities
+//!                6. Set Configuration and delay 10 seconds(Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)
+//!                7. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlayRecSpeakerAcc.pcm)   
+//!                8. Set audio input (AudioInput = Input_OutputtoSpeaker)            
+//!                9. Record 20 seconds               
+//!                10. Stop 5 seconds                 
+//!                11. Close file                    
+//!                12. Initialize DevSound (Mode = EMMFStatePlaying; FourCC ={SpecialFourCC,RAW})            
+//!                13. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                14. Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)                   
+//!                15. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlayRecSpeakerAcc.pcm)           
+//!                16. Play EOF              
+//!                17. Close file           
+//!                18. Delete AudioInput instance          
+//!                19. Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AA_Audio routing - Audio playback 48k mono recording from speaker when accessory is used
+//! TEST_BLOCK 001
+//!                AA_Audio routing - Audio playback 48k mono recording from speaker when accessory is used
+//! TEST_BLOCK 002
+//!                AA_Audio routing - Audio playback 48k mono recording from speaker when accessory is used
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	70	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0001-OpenFile_command06
+		COMMAND	!AsyncError=-13	devsound1       PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	70	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-NewL_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-SetConfigL_command06
+		DELAY  10000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-ReplaceFile_command07
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-SetAudioInput_command08
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-SetPrioritySettings_command13
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-SetConfigL_command14
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-OpenFile_command15
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0012
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0013
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0013
+//!@SYMAPI
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//! TEST_BLOCK 001
+//!                CMMFDevSound::  InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//!                 CAudioInput::SetAudioInputL(TAudioInputArray )
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Audio routing - Audio playback 48k stereo recording from speaker
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone} ; PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)           
+//!                7. Play 20 seconds                 
+//!                9. Stop                
+//!                9. Close file              
+//!                10. Delete DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Create AudioInput instance (DevSoundInstanceName = devsound1)
+//!                3. Initialize DevSound (Mode = EMMFStateRecording; FourCC ={SpecialFourCC,RAW})
+//!                4. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState=EMMFStateRecording)
+//!                5. Capabilities
+//!                6. Set Configuration and delay 10 seconds(Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                7. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay48kStereoRecSpeaker.pcm)  
+//!                8. Set audio input (AudioInput = Input_OutputtoSpeaker)          
+//!                9. Record 20 seconds                    
+//!                10. Stop 5 seconds                        
+//!                11. Close file                             
+//!                12. Initialize DevSound (Mode = EMMFStatePlaying; FourCC ={SpecialFourCC,RAW})         
+//!                13. Set Priority (Priority = {Priority,PriorityAudioPlayback} ; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback} ; PriorityState=EMMFStatePlaying)
+//!                14. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)                  
+//!                15. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay48kStereoRecSpeaker.pcm)   
+//!                16. Play EOF                     
+//!                17. Close file                  
+//!                18. Delete AudioInput instance          
+//!                19. Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AA_Audio routing - Audio playback 48k stereo recording from speaker
+//! TEST_BLOCK 001
+//!                AA_Audio routing - Audio playback 48k stereo recording from speaker
+//! TEST_BLOCK 002
+//!                AA_Audio routing - Audio playback 48k stereo recording from speaker
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	70	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0001-OpenFile_command06
+		COMMAND	!AsyncError=-13	devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	70	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-NewL_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-SetConfigL_command06
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-ReplaceFile_command07
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-SetAudioInput_command08
+		COMMAND	!AsyncError=-21	devsound1   RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-InitializeL_command13
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-SetPrioritySettings_command14
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-SetConfigL_command15
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-OpenFile_command16
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0013
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0015
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0015
+//!@SYMAPI
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//! TEST_BLOCK 001
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::  InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//!                 CAudioInput::SetAudioInputL(TAudioInputArray )
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Audio routing - Audio playback 8k mono recording from speaker
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_256kbps_st_1kHzsine_st2mono.mp3)     
+//!                7. Play 20 seconds                
+//!                8. Stop                               
+//!                9. Close file                    
+//!                10. Delete DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Create AudioInput instance (DevSoundInstanceName = devsound1)
+//!                3. Initialize DevSound (Mode = EMMFStateRecording; FourCC ={SpecialFourCC,RAW})
+//!                4. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording};PriorityState=EMMFStateRecording)
+//!                5. Capabilities
+//!                6. Set Configuration and delay 10 seconds(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                7. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay8kMonoRecSpeaker.pcm)   
+//!                8. Set audio input (AudioInput = Input_OutputtoSpeaker)                
+//!                9. Record 20 seconds              
+//!                10. Stop 5 seconds             
+//!                11. Close file           
+//!                12. Initialize DevSound (Mode = EMMFStatePlaying; FourCC ={SpecialFourCC,RAW})      
+//!                13. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                14. Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)         
+//!                15. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay8kMonoRecSpeaker.pcm)    
+//!                16. Play EOF        
+//!                17. Close file         
+//!                18. Delete AudioInput instance              
+//!                19. Delete DevSound instance
+//!@SYMTestStatus		Implemented
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AA_Audio routing - Audio playback 8k mono recording from speaker
+//! TEST_BLOCK 001
+//!                AA_Audio routing - Audio playback 8k mono recording from speaker
+//! TEST_BLOCK 002
+//!                AA_Audio routing - Audio playback 8k mono recording from speaker
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	70	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	70	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-NewL_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-SetConfigL_command06
+		DELAY  10000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-ReplaceFile_command07
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-SetAudioInput_command08
+		COMMAND	!AsyncError=-21	devsound1   RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-InitializeL_command13
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-SetPrioritySettings_command14
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-SetConfigL_command15
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-OpenFile_command16
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0015
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0016
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0016
+//!@SYMAPI
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//! TEST_BLOCK 001
+//!                CMMFDevSound::  InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//!                 CAudioInput::SetAudioInputL(TAudioInputArray )
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Audio routing - Audio playback 8k stereo recording from speaker
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback} ; Preference = {PriorityPreference,PriorityPreferenceNone};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)    
+//!                7. Play 20 seconds             
+//!                8. Stop                              
+//!                9. Close file                 
+//!                10. Delete DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Create AudioInput instance (DevSoundInstanceName = devsound1)
+//!                3. Initialize DevSound (Mode = EMMFStateRecording; FourCC ={SpecialFourCC,RAW})
+//!                4. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState=EMMFStateRecording)
+//!                5. Capabilities
+//!                6. Set Configuration and delay 10 seconds(Channels = EMMFStereo; Rate = EMMFSampleRate8000Hz)
+//!                7. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay8kStereoRecSpeaker.pcm )     
+//!                8. Set audio input (AudioInput = Input_OutputtoSpeaker)             
+//!                9. Record 20 seconds                        
+//!                10. Stop 5 seconds                            
+//!                11. Close file                                 
+//!                12. Initialize DevSound (Mode = EMMFStatePlaying; FourCC ={SpecialFourCC,RAW})                  
+//!                13. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback} ; PriorityState=EMMFStatePlaying)
+//!                14. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate8000Hz)                     
+//!                15. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay8kStereoRecSpeaker.pcm)             
+//!                16. Play EOF                    
+//!                17. Close file                   
+//!                18. Delete AudioInput instance              
+//!                19. Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AA_Audio routing - Audio playback 8k stereo recording from speaker
+//! TEST_BLOCK 001
+//!                AA_Audio routing - Audio playback 8k stereo recording from speaker
+//! TEST_BLOCK 002
+//!                AA_Audio routing - Audio playback 8k stereo recording from speaker
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	70	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	70	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-NewL_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-SetConfigL_command06
+		DELAY  10000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-ReplaceFile_command07
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-SetAudioInput_command08
+		COMMAND	!AsyncError=-21	devsound1   RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-InitializeL_command13
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-SetPrioritySettings_command14
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-SetConfigL_command15
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-OpenFile_command16
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0016
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0017
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0017
+//!@SYMAPI
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//! TEST_BLOCK 001
+//!                CMMFDevSound::  InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//! TEST_BLOCK 003
+//!                CMMFDevSound:: InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!                 CMMFDevSound:: PlayInitL()
+//!                 CMMFDevSound:: RecordInitL()
+//!                 CAudioInput::SetAudioInputL(TAudioInputArray )
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Audio routing - Playback mixing 48k mono recording from speaker
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)                
+//!                7. Play 35 seconds                       
+//!                8. Stop                                       
+//!                9. Close file                          
+//!                10. Delete DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC ={SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration and delay 5 seconds (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)                          
+//!                7. Play 30 seconds                                 
+//!                8. Stop                                      
+//!                9. Close file                         
+//!                10. Delete DevSound instance
+//!                
+//! TEST_BLOCK 003
+//!                1. Create DevSound instance
+//!                2. Create AudioInput instance (DevSoundInstanceName = devsound1)
+//!                3. Initialize DevSound (Mode = EMMFStateRecording; FourCC ={SpecialFourCC,RAW})
+//!                4. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording};PriorityState=EMMFStateRecording)
+//!                5. Capabilities
+//!                6. Set Configuration and delay 15 seconds(Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)
+//!                7. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlayMixingRecSpeaker.pcm)           
+//!                8. Set audio input (AudioInput = Input_OutputtoSpeaker)                         
+//!                9. Record 15 seconds               
+//!                10. Stop 15 seconds                    
+//!                11. Close file                                   
+//!                12. Initialize DevSound (Mode = EMMFStatePlaying; FourCC ={SpecialFourCC,RAW})             
+//!                13. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                14. Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)           
+//!                15. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlayMixingRecSpeaker.pcm)         
+//!                16. Play EOF                          
+//!                17. Close file             
+//!                18. Delete AudioInput instance                  
+//!                19. Delete DevSound instance                    
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AA_Audio routing - Playback mixing 48k mono recording from speaker
+//! TEST_BLOCK 001
+//!                AA_Audio routing - Playback mixing 48k mono recording from speaker
+//! TEST_BLOCK 002
+//!                AA_Audio routing - Playback mixing 48k mono recording from speaker
+//! TEST_BLOCK 003
+//!                AA_Audio routing - Playback mixing 48k mono recording from speaker
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	70	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0001-OpenFile_command06
+		COMMAND	!AsyncError=-13	devsound1       PlayInitL
+		ASYNC_DELAY  35000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	70	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0002-SetConfigL_command05
+		DELAY  5000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0002-OpenFile_command06
+		COMMAND	!AsyncError=-13	devsound1       PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	70	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-NewL_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-SetConfigL_command06
+		DELAY  15000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-ReplaceFile_command07
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-SetAudioInput_command08
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  15000000 
+		COMMAND		devsound1		Stop
+		DELAY  15000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-SetPrioritySettings_command13
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-SetConfigL_command14
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-OpenFile_command15
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0017
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/scripts/multimedia-mmf-devsoundext-validation-automated-comb_rr.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,163 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsoundext-validation-automated-comb_rr
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsoundext
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_RR-0002
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_RR-0002
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFAudioInput::SetAudioInputL(TAudioInputArray)
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::Pause()
+//!                CMMFAudioInput::SetAudioInputL(TAudioInputArray)
+//!                CMMFDevSound::RecordInitL()
+//!                
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		HW limitation - Radio recording during voice recording from mic**
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound Instance
+//!                2. Create AudioInput Instance (DevSoundInstanceName = devsound1)
+//!                3. Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\HwLimitRadioRecDuringMicRec1.amr)      
+//!                4. Initialize DevSound (Mode = EMMFStateRecording; FourCC = AMR)                
+//!                5. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording};PriorityState=EMMFStateRecording)           
+//!                6. Capabilities                  
+//!                7. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)             
+//!                8. Set Audio Input (AudioInput = Input_DefaultMic)                          
+//!                9.Start Record for 20 seconds                              
+//!                10. Stop for 5 seconds.                              
+//!                11. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = AMR)                  
+//!                12. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                13. Capabilities       
+//!                14. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)            
+//!                15. Start File Positions                  
+//!                16. Start Play                             
+//!                17. Close File                     
+//!                18. Destroy AudioInput Instance             
+//!                19. Destroy DevSound Instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound Instance
+//!                2. Create AudioInput Instance (DevSoundInstanceName = devsound1)
+//!                3. Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\HwLimitRadioRecDuringMicRec2.pcm)     
+//!                4. Initialize DevSound (Mode = EMMFStateRecording; FourCC = P16)            
+//!                5. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording};PriorityState=EMMFStateRecording)    
+//!                6. Capabilities       
+//!                7. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)      
+//!                8.  Stop for 10 seconds               
+//!                9. Set Audio Input (AudioInput = Input_FMRadio)                         
+//!                10. Start Record (expected async error=-21)            
+//!                11. Close File                
+//!                12. Destroy AudioInput Instance            
+//!                13. Destroy DevSound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Radio recording during voice recording from mic
+//! TEST_BLOCK 001
+//!                Record with Voice Recording Priority and Voice Recording Preference; Play with Audio PLayback Priority  and Audio PLayback Preference
+//! TEST_BLOCK 002
+//!                Record File with Voice Recording Priority and Voice Recording Preference, Expecting Error -21
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_rr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-NewL_command02
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-ReplaceFile_command03
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-SetPrioritySettings_command05
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-SetConfigL_command07
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-SetAudioInput_command08
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-InitializeL_command11
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-SetPrioritySettings_command12
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-SetConfigL_command14
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	80	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_rr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0002-NewL_command02
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0002-ReplaceFile_command03
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0002-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0002-SetPrioritySettings_command05
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0002-SetConfigL_command07
+		COMMAND		devsound1		Stop
+		DELAY  10000000 
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0002-SetAudioInput_command09
+		COMMAND   !AsyncError=-21   devsound1		RecordInitL
+		ASYNC_DELAY  60000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_RR-0002
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/scripts/multimedia-mmf-devsoundext-validation-automated-p.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,236 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsoundext-validation-automated-p
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsoundext
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-PLAYBACK-0013
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-PLAYBACK-0013
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		G.729AB playback unexpected events
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = G729)
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Stop 5 seconds
+//!                7. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_on.bin)   
+//!                8. Play 10 seconds              
+//!                9. Stop for 5 seconds (Pause=TRUE)                
+//!                10. FileStartPosition                    
+//!                11. Stop 5 seconds                   
+//!                12. Stop for 5 seconds (Pause=TRUE)             
+//!                13. Play 10 seconds                
+//!                14. Stop                                  
+//!                15. CloseFile                
+//!                16. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Plays a G.729AB file with unexpected events. A stop ocurrs before the play
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-p.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-P-0013-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-P-0013-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-P-0013-0001-SetConfigL_command05
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-P-0013-0001-OpenFile_command07
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSoundExt-P-0013-0001-Stop_command09
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSoundExt-P-0013-0001-Stop_command12
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-PLAYBACK-0013
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-PLAYBACK-0016
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-PLAYBACK-0016
+//!@SYMAPI
+//!                void InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState )
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Audio routing - Audio playback with different output preferences
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Create AudioOutput instance (DevSoundInstanceName = devsound1)
+//!                3. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)   
+//!                4. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)    
+//!                5. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying) 
+//!                6. Capabilities   
+//!                7. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)   
+//!                8. Set audio output (AudioOutput = Output_Public)    
+//!                9.Start play for 10s    
+//!                10. Set audio output (AudioOutput = Output_Private)  .5                                           
+//!                11. Set audio output (AudioOutput = Output_NoOutput) .5                                      
+//!                12. Set audio output (AudioOutput = Output_Public) .5                                              
+//!                13. Set audio output (AudioOutput = Output_Private) .5                                            
+//!                14. Set audio output (AudioOutput = Output_Public) 1s                                               
+//!                15. Stop playing                                  
+//!                16. Close file                        
+//!                17. Destroy AudioOutput instance                
+//!                18. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults  step 9 play the sound without error callback.
+//!                         All the setting steps execute successufully. 
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-p.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioOutput		audiooutput1
+		COMMAND		devsound1		NewL
+		COMMAND		audiooutput1		NewL			MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-NewL_command02
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-OpenFile_command03
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetPrioritySettings_command05
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetConfigL_command07
+		COMMAND		audiooutput1		SetAudioOutput			MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetAudioOutput_command08
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		audiooutput1		SetAudioOutput			MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetAudioOutput_command10
+		DELAY  500000 
+		COMMAND		audiooutput1		SetAudioOutput			MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetAudioOutput_command11
+		DELAY  500000 
+		COMMAND		audiooutput1		SetAudioOutput			MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetAudioOutput_command12
+		DELAY  500000 
+		COMMAND		audiooutput1		SetAudioOutput			MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetAudioOutput_command13
+		DELAY  500000 
+		COMMAND		audiooutput1		SetAudioOutput			MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetAudioOutput_command14
+		DELAY  1000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		audiooutput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-PLAYBACK-0016
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-PLAYBACK-0017
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-PLAYBACK-0017
+//!@SYMAPI
+//!                void InitializeL(MDevSoundObserver {ref},TFourCC , TMMFState )
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Audio routing - Audio playback with different output preferences when accessory is used
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Create AudioOutput instance (DevSoundInstanceName = devsound1)
+//!                3. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3) 
+//!                4. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)          
+//!                5. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying) 
+//!                6. Capabilities                  
+//!                7. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)     
+//!                8. Set audio output (AudioOutput = Output_Private)   
+//!                9.Start play for 10s                    
+//!                10. Set audio output (AudioOutput = Output_Public)  .5                                            
+//!                11. Set audio output (AudioOutput = Output_NoOutput) .5                                     
+//!                12. Set audio output (AudioOutput = Output_Private) .5                                            
+//!                13. Set audio output (AudioOutput = Output_All) .5                                                   
+//!                14. Set audio output (AudioOutput = Output_Private) 1s                                         
+//!                15. Stop playing                                 
+//!                16. Close file                                       
+//!                17. Destroy AudioOutput instance                   
+//!                18. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults  step 9 play the sound without error callback.
+//!                         All the setting steps execute successufully. 
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-p.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioOutput		audiooutput1
+		COMMAND		devsound1		NewL
+		COMMAND		audiooutput1		NewL			MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-NewL_command02
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-OpenFile_command03
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetPrioritySettings_command05
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetConfigL_command07
+		COMMAND		audiooutput1		SetAudioOutput			MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetAudioOutput_command08
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		audiooutput1		SetAudioOutput			MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetAudioOutput_command10
+		DELAY  500000 
+		COMMAND		audiooutput1		SetAudioOutput			MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetAudioOutput_command11
+		DELAY  500000 
+		COMMAND		audiooutput1		SetAudioOutput			MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetAudioOutput_command12
+		DELAY  500000 
+		COMMAND		audiooutput1		SetAudioOutput			MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetAudioOutput_command13
+		DELAY  500000 
+		COMMAND		audiooutput1		SetAudioOutput			MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetAudioOutput_command14
+		DELAY  1000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		audiooutput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-PLAYBACK-0017
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/scripts/multimedia-mmf-devsoundext-validation-automated-r.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,200 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsoundext-validation-automated-r
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsoundext
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-RECORDING-0001
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-RECORDING-0001
+//!@SYMAPI
+//!                void InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState );
+//!                CMMFAudioInput::SetAudioInputL(TAudioInputArray)
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		HW limitation - Radio recording without radio playback
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Create AudioInput instance (DevSoundInstanceName = devsound1)
+//!                3. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\HwLimitRadioRecWithoutRadioPlay.pcm)      
+//!                4. Initialize DevSound (Mode = EMMFStateRecording; FourCC ={SpecialFourCC,RAW})                 
+//!                5. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference =                           {PriorityPreference,PriorityPreferenceVoiceRecording};PriorityState=EMMFStateRecording)    
+//!                6. Capabilities                                    
+//!                7. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)                 
+//!                8. Set audio Input (AudioInput = Input_FMRadio)                                  
+//!                9.Start record (ExpectedRecordError = -21)                          
+//!                10.Close file                                 
+//!                11.Destroy AudioInput instance                 
+//!                12.Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults  in step 9, record return the expected error -21.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-r.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-R-0001-0001-NewL_command02
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-R-0001-0001-ReplaceFile_command03
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-R-0001-0001-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-R-0001-0001-SetPrioritySettings_command05
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-R-0001-0001-SetConfigL_command07
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-R-0001-0001-SetAudioInput_command08
+		COMMAND	    !AsyncError=-21	devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-RECORDING-0001
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-RECORDING-0002
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-RECORDING-0002
+//!@SYMAPI
+//!                void InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState );
+//!                CMMFAudioInput::SetAudioInputL(TAudioInputArray)
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		HW limitation - Voice call recording without any input source
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Create AudioInput instance (DevSoundInstanceName = devsound1)
+//!                3. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\HwLimitRadioRecWithoutRadioPlay.pcm)  
+//!                4. Initialize DevSound (Mode = EMMFStateRecording; FourCC ={SpecialFourCC,RAW})              
+//!                5. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording};PriorityState=EMMFStateRecording)                
+//!                6. Capabilities                            
+//!                7. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)               
+//!                8. Set audio Input (AudioInput = Input_VoiceCall)                             
+//!                9.Start record (ExpectedRecordError = -21)                       
+//!                10.Close file                             
+//!                11.Destroy AudioInput instance                
+//!                12.Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults  in step 9, record return the expected error -21.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-r.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-R-0002-0001-NewL_command02
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-R-0002-0001-ReplaceFile_command03
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-R-0002-0001-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-R-0002-0001-SetPrioritySettings_command05
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-R-0002-0001-SetConfigL_command07
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-R-0002-0001-SetAudioInput_command08
+		COMMAND		!AsyncError=-21 devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-RECORDING-0002
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-RECORDING-0003
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-RECORDING-0003
+//!@SYMAPI
+//!                void InitializeL(MDevSoundObserver {ref}, TFourCC , TMMFState );
+//!                CMMFAudioInput::SetAudioInputL(TAudioInputArray)
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Audio routing - 8k mono recording from line in
+//!@SYMTestActions
+//!                1. Create DevSound instance     
+//!                2. Create AudioInput instance (DevSoundInstanceName = devsound1)
+//!                3. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingRecLinein.amr)   
+//!                4. Initialize DevSound (Mode = EMMFStateRecording; FourCC = AMR)          
+//!                5. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording};PriorityState=EMMFStateRecording)   
+//!                6. Capabilities     
+//!                7. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)        
+//!                8. Set audio Input (AudioInput = Input_LineIn)         
+//!                9.Start record 10s            
+//!                10.Stop 5s            
+//!                11. Initialize DevSound (Mode = EMMFStateRecording; FourCC = AMR)        
+//!                12.Capabilities          
+//!                13.Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)      
+//!                14. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                15. FileStartPosition   
+//!                16.Star play    
+//!                17.Close file   
+//!                18.Destroy AudioInput instance   
+//!                19.Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults  in step 9, record successfully.
+//!                         in step 16, play successfully.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsoundext	\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-r.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CAudioInput		audioinput1
+		COMMAND		devsound1		NewL
+		COMMAND		audioinput1		NewL			MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-NewL_command02
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-ReplaceFile_command03
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-SetPrioritySettings_command05
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-SetConfigL_command07
+		COMMAND		audioinput1		SetAudioInput			MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-SetAudioInput_command08
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-InitializeL_command11
+		OUTSTANDING
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-SetConfigL_command13
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-SetPrioritySettings_command14
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		audioinput1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-RECORDING-0003
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/src/T_CAudioInputData.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,224 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "t_caudioinputdata.h"
+
+
+/*@{*/
+// Output options Id's
+const TUid INPUT_DEFAULTMIC						= TUid::Uid(0x00);
+const TUid INPUT_OUTPUTTOSPEAKER				= TUid::Uid(0x01);
+const TUid INPUT_FMRADIO 						= TUid::Uid(0x02);
+const TUid INPUT_VOICECALL 						= TUid::Uid(0x03);
+const TUid INPUT_LINEIN  						= TUid::Uid(0x04);
+/*@}*/
+
+
+/*@{*/
+//Section name literals 
+_LIT(KDevSoundKey, 								"DevSoundInstanceName");
+_LIT(KAudioInputPar, 							"AudioInput");
+/*@}*/
+
+/*@{*/
+//Command literals 
+_LIT(KCmdNewL, 									"NewL");
+_LIT(KCmdDestructor, 							"~");
+_LIT(KCmdAudioInput,							"AudioInput");
+_LIT(KCmdSetAudioInput, 						"SetAudioInput");
+/*@}*/
+
+
+
+/*@{*/
+// Output options literal
+_LIT(KInput_DefaultMic, 						"Input_DefaultMic");
+_LIT(KInput_OutputtoSpeaker,					"Input_OutputtoSpeaker");
+_LIT(KInput_FMRadio,	 						"Input_FMRadio");
+_LIT(KInput_VoiceCall,	 						"Input_VoiceCall");
+_LIT(KInput_LineIn,	 							"Input_LineIn");
+/*@}*/
+
+
+const CDataWrapperBase::TEnumEntryTable CT_CAudioInputData::iEnumInputOptions[] = 
+	{ 
+	{ KInput_DefaultMic,		INPUT_DEFAULTMIC.iUid },	
+	{ KInput_OutputtoSpeaker,	INPUT_OUTPUTTOSPEAKER.iUid },
+	{ KInput_FMRadio,			INPUT_FMRADIO.iUid },	
+	{ KInput_VoiceCall,			INPUT_VOICECALL.iUid },
+	{ KInput_LineIn,			INPUT_LINEIN.iUid }
+	};
+
+
+/**
+ * Two phase constructor
+ *
+ * @leave	system wide error
+ */
+CT_CAudioInputData* CT_CAudioInputData::NewL()
+	{
+	CT_CAudioInputData* ret = new (ELeave) CT_CAudioInputData();
+	return ret;
+	}
+
+/**
+ * Private constructor. First phase construction
+ */
+CT_CAudioInputData::CT_CAudioInputData()
+	:
+	iAudioInput(NULL)
+	{
+	}
+
+/**
+ * Return a pointer to the object that the data wraps
+ *
+ * @return	pointer to the object that the data wraps
+ */
+TAny* CT_CAudioInputData::GetObject()
+	{
+	return iAudioInput;
+	}
+/**
+ * Helper method for DoCmdDestructor
+ */
+void CT_CAudioInputData::DestroyData()
+	{
+	if (iAudioInput)
+		{ 
+		delete iAudioInput;
+		iAudioInput = NULL;
+		}		
+	}
+
+/**
+ * Process a command read from the Ini file
+ * @param aCommand 			- The command to process
+ * @param aSection			- The section get from the *.ini file of the project T_Wlan
+ * @param aAsyncErrorIndex	- Command index dor async calls to returns errors to
+ * @return TBool			- ETrue if the command is process
+ * @leave					- system wide error
+ */
+TBool CT_CAudioInputData::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt /*aAsyncErrorIndex*/)
+	{
+	TBool ret = ETrue;	
+	if (aCommand == KCmdNewL)
+		{
+		DoCmdNewL(aSection);
+		}
+	else if (aCommand == KCmdDestructor)
+		{
+		DoCmdDestructor();
+		}
+	else if (aCommand == KCmdAudioInput)
+		{
+		DoCmdAudioInput();
+		}
+	else if (aCommand == KCmdSetAudioInput)
+		{
+		DoCmdSetAudioInputL(aSection);
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Unknown command."));
+		ret=EFalse;
+		}
+	return ret;
+	}
+
+/**
+ * Create an instance of CAudioInput object
+ * @param aSection - Section to read param from the ini file
+ * @return none 
+ */
+void CT_CAudioInputData::DoCmdNewL(const TTEFSectionName& aSection)  
+	{
+	DestroyData();
+	INFO_PRINTF1(_L("*START*CT_CAudioInputData::DoCmdNewL()"));
+	TPtrC devSoundObject;
+    if( !GetStringFromConfig(aSection, KDevSoundKey, devSoundObject) )
+    	{
+    	ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDevSoundKey);
+    	SetBlockResult(EFail);
+    	}
+    else
+    	{
+	    CMMFDevSound* DevSoundObject = static_cast<CMMFDevSound*>(GetDataObjectL(devSoundObject));
+	    iAudioInput = (CAudioInput*)DevSoundObject->CustomInterface(KUidAudioInput);	
+	    INFO_PRINTF1(_L("*END*CT_CAudioInputData::DoCmdNewL()"));
+    	}
+	}
+
+/**
+ * Destroy an instance of CAudioInput object
+ * @param none
+ * @param none
+ */
+void CT_CAudioInputData::DoCmdDestructor()
+	{
+	INFO_PRINTF1(_L("*START*CT_CAudioInputData::DoCmdDestructor()"));
+	DestroyData();
+	INFO_PRINTF1(_L("*END*CT_CAudioInputData::DoCmdDestructor()"));
+	}
+
+/**
+ * Get an array of Audio Input
+ * @param none
+ * @return none
+ */
+void CT_CAudioInputData::DoCmdAudioInput()
+	{
+	INFO_PRINTF1(_L("*START*CT_CAudioInputData::DoCmdAudioInput()"));
+	CAudioInput::TAudioInputArray inputArray = iAudioInput->AudioInput();
+	INFO_PRINTF1(_L("*END*CT_CAudioInputData::DoCmdAudioInput()"));
+	}
+
+/**
+ * Set the audio input
+ * @param aSection  - Section to read param from the ini file
+ * @return none		
+ */
+void CT_CAudioInputData::DoCmdSetAudioInputL(const TTEFSectionName& aSection) 
+	{
+	
+	INFO_PRINTF1(_L("*START*CT_CAudioInputData::DoCmdSetAudioInputL()"));
+    TInt parAudioInput;    
+	if(!GetEnumFromConfig(aSection, KAudioInputPar, iEnumInputOptions, parAudioInput))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KAudioInputPar);
+    	SetBlockResult(EFail);    		
+		}
+	else
+		{
+		CArrayFixFlat<CAudioInput::TAudioInputPreference>* inputarray = new (ELeave) CArrayFixFlat<CAudioInput::TAudioInputPreference>(4);             
+		CleanupStack::PushL(inputarray);
+		inputarray->AppendL((CAudioInput::TAudioInputPreference)parAudioInput);    
+		TRAPD( error, iAudioInput->SetAudioInputL( inputarray->Array() ) );
+		if( error != KErrNone )
+			{
+			ERR_PRINTF2(_L("Setting audio input failed with error %d"), error);
+	        SetError(error);
+	        }
+		else
+			{
+			CleanupStack::PopAndDestroy(&inputarray);
+			INFO_PRINTF1(_L("*END*CT_CAudioInputData::DoCmdSetAudioInputL()"));
+			}
+		}
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/src/T_CAudioOutputData.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,344 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "t_caudiooutputdata.h"
+
+/*@{*/
+// Output options Id's
+const TUid OUTPUT_NOPREFERENCE					= TUid::Uid(0x00);
+const TUid OUTPUT_ALL 							= TUid::Uid(0x01);
+const TUid OUTPUT_NOOUTPUT 						= TUid::Uid(0x02);
+const TUid OUTPUT_PRIVATE 						= TUid::Uid(0x03);
+const TUid OUTPUT_PUBLIC  						= TUid::Uid(0x04);
+/*@}*/
+
+
+/*@{*/
+//Section name literals 
+_LIT(KDevSoundKey, 								"DevSoundInstanceName");
+_LIT(KAudioOutputPar, 							"AudioOutput");
+_LIT(KSecureOutputPar,							"SecureOutput");
+/*@}*/
+
+/*@{*/
+//Command literals 
+_LIT(KCmdNewL, 									"NewL");
+_LIT(KCmdDestructor, 							"~");
+_LIT(KCmdAudioOutput,							"AudioOutput");
+_LIT(KCmdDefaultAudioOutput, 					"DefaultAudioOutput");
+_LIT(KCmdRegisterObserver, 						"RegisterObserver");
+_LIT(KCmdSecureOutput, 							"SecureOutput");
+_LIT(KCmdSetAudioOutput, 						"SetAudioOutput");
+_LIT(KCmdSetSecureOutput, 						"SetSecureOutput");
+_LIT(KCmdUnregisterObserver, 					"UnregisterObserver");
+/*@}*/
+
+
+/*@{*/
+// Output options literal
+_LIT(KOutput_NoPreference, 						"Output_NoPreference");
+_LIT(KOutput_All, 								"Output_All");
+_LIT(KOutput_NoOutput, 							"Output_NoOutput");
+_LIT(KOutput_Private, 							"Output_Private");
+_LIT(KOutput_Public, 							"Output_Public");
+/*@}*/
+
+const CDataWrapperBase::TEnumEntryTable CT_CAudioOutputData::iEnumOutputOptions[] = 
+	{ 
+	{ KOutput_NoPreference,		OUTPUT_NOPREFERENCE.iUid },	
+	{ KOutput_All,				OUTPUT_ALL.iUid },
+	{ KOutput_NoOutput,			OUTPUT_NOOUTPUT.iUid },	
+	{ KOutput_Private,			OUTPUT_PRIVATE.iUid },
+	{ KOutput_Public,			OUTPUT_PUBLIC.iUid }
+	};
+
+
+
+/**
+ * Two phase constructor
+ *
+ * @leave	system wide error
+ */
+CT_CAudioOutputData* CT_CAudioOutputData::NewL()
+	{
+	CT_CAudioOutputData* ret = new (ELeave) CT_CAudioOutputData();
+	return ret;
+	}
+
+/**
+ * Private constructor. First phase construction
+ */
+CT_CAudioOutputData::CT_CAudioOutputData()
+	:
+	iAudioOutput(NULL),
+	iSecureOutput(EFalse)
+	{
+	}
+
+
+/**
+ * Return a pointer to the object that the data wraps
+ *
+ * @return	pointer to the object that the data wraps
+ */
+TAny* CT_CAudioOutputData::GetObject()
+	{
+	return iAudioOutput;
+	}
+
+/**
+ * Helper method for DoCmdDestructor
+ */
+void CT_CAudioOutputData::DestroyData()
+	{
+	if (iAudioOutput)
+		{ 
+		delete iAudioOutput;
+		iAudioOutput = NULL;
+		}	
+	}
+
+
+/**
+ * Process a command read from the Ini file
+ * @param aCommand 			- The command to process
+ * @param aSection			- The section get from the *.ini file of the project T_Wlan
+ * @param aAsyncErrorIndex	- Command index dor async calls to returns errors to
+ * @return TBool			- ETrue if the command is process
+ * @leave					- system wide error
+ */
+TBool CT_CAudioOutputData::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt /*aAsyncErrorIndex*/)
+	{
+	TBool ret = ETrue;
+	
+	if (aCommand == KCmdNewL)
+		{
+		DoCmdNewL(aSection);
+		}
+	else if (aCommand == KCmdDestructor)
+		{
+		DoCmdDestructor();
+		}
+	else if (aCommand == KCmdAudioOutput)
+		{
+		DoCmdAudioOutput();
+		}
+	else if (aCommand == KCmdDefaultAudioOutput)
+		{
+		DoCmdDefaultAudioOutput();
+		}
+	else if (aCommand == KCmdRegisterObserver)
+		{
+		DoCmdRegisterObserverL();
+		}
+	else if (aCommand == KCmdSecureOutput)
+		{
+		DoCmdSecureOutput();
+		}
+	else if (aCommand == KCmdSetAudioOutput)
+		{
+		DoCmdSetAudioOutputL(aSection);
+		}
+	else if (aCommand == KCmdSetSecureOutput)
+		{
+		DoCmdSetSecureOutputL(aSection);
+		}
+	else if (aCommand == KCmdUnregisterObserver)
+		{
+		DoCmdUnregisterObserver();
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Unknown command."));
+		ret=EFalse;
+		}
+	return ret;
+	}
+
+/**
+ * Create an instance of CAudioOutput
+ * @param aSection  - Section to read param from the ini file
+ * @return none
+ */
+void CT_CAudioOutputData::DoCmdNewL(const TTEFSectionName& aSection) 
+	{
+	DestroyData();
+	INFO_PRINTF1(_L("*START*CT_CAudioOutputData::DoCmdNewL"));
+	TPtrC devSoundObject;
+    if( !GetStringFromConfig(aSection, KDevSoundKey, devSoundObject) )
+    	{
+    	ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDevSoundKey);
+    	SetBlockResult(EFail);
+    	}
+    else
+    	{
+	    CMMFDevSound* DevSoundObject = static_cast<CMMFDevSound*>(GetDataObjectL(devSoundObject));
+	    iAudioOutput = (CAudioOutput*)DevSoundObject->CustomInterface(KUidAudioOutput);
+	    INFO_PRINTF1(_L("*END*CT_CAudioOutputData::DoCmdNewL"));
+    	}
+    }
+
+/**
+ * Destroy an instance of CAudioOutput
+ * @param none
+ * @return none
+ */
+void CT_CAudioOutputData::DoCmdDestructor()
+	{
+	INFO_PRINTF1(_L("*START*CT_CAudioOutputData::DoCmdDestroyData"));
+	DestroyData();
+	INFO_PRINTF1(_L("*END*CT_CAudioOutputData::DoCmdDestroyData"));
+	}
+
+/**
+ * Get the audio Output pref
+ * @param none
+ * @return none
+ */
+void CT_CAudioOutputData::DoCmdAudioOutput()
+	{
+	INFO_PRINTF1(_L("*START*CT_CAudioOutputData::DoCmdAudioOutput"));
+	audioOutputPref = iAudioOutput->AudioOutput();
+	INFO_PRINTF1(_L("*END*CT_CAudioOutputData::DoCmdAudioOutput"));
+	}
+
+/**
+ * Get the default audio output pref
+ * @param none
+ * @return none
+ */
+void CT_CAudioOutputData::DoCmdDefaultAudioOutput()
+	{
+	INFO_PRINTF1(_L("*START*CT_CAudioOutputData::DoCmdDefaultAudioOutput"));
+	audioOutputPref = iAudioOutput->DefaultAudioOutput();
+	INFO_PRINTF1(_L("*END*CT_CAudioOutputData::DoCmdDefaultAudioOutput"));
+	}
+
+/**
+ * Register the observer
+ * @param none
+ * @return none
+ */
+void CT_CAudioOutputData::DoCmdRegisterObserverL() 
+	{
+	INFO_PRINTF1(_L("*START*CT_CAudioOutputData::DoCmdRegisterObserverL"));
+    TRAPD( error, iAudioOutput->RegisterObserverL(*this) );    	    
+    if( error != KErrNone ) 
+        {
+        ERR_PRINTF2(_L("Register observer failed with error %d"), error);
+        SetError(error);
+        }
+    else
+    	{
+    	INFO_PRINTF1(_L("*END*CT_CAudioOutputData::DoCmdRegisterObserverL"));
+    	}
+    }
+
+/**
+ * Secure the output
+ * @param none
+ * @return none
+ */
+void CT_CAudioOutputData::DoCmdSecureOutput()
+	{
+	INFO_PRINTF1(_L("*START*CT_CAudioOutputData::DoCmdSecureOutput"));
+	iSecureOutput = iAudioOutput->SecureOutput();
+	INFO_PRINTF1(_L("*END*CT_CAudioOutputData::DoCmdSecureOutput"));
+	}
+
+/**
+ * Set the audio Output
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CAudioOutputData::DoCmdSetAudioOutputL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CAudioOutputData::DoCmdSetAudioOutputL"));
+	TInt parAudioOutput;
+	if(!GetEnumFromConfig(aSection, KAudioOutputPar, iEnumOutputOptions, parAudioOutput))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KAudioOutputPar);
+    	SetBlockResult(EFail); 		
+		}
+	else{
+	    TRAPD(error, iAudioOutput->SetAudioOutputL((CAudioOutput::TAudioOutputPreference)parAudioOutput));
+	    if( error != KErrNone )
+	        {
+	        ERR_PRINTF2(_L("Setting Audio output failed with error %d"), error);
+	        SetError(error);
+	        }    
+	    else
+	    	{
+	    	INFO_PRINTF1(_L("*END*CT_CAudioOutputData::DoCmdSetAudioOutputL"));
+	    	}
+		}
+	}
+
+/**
+ * Set the secure output
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CAudioOutputData::DoCmdSetSecureOutputL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CAudioOutputData::DoCmdSetSecureOutputL"));
+    TBool parSecureOutput;    
+	if(!GetBoolFromConfig(aSection, KSecureOutputPar, parSecureOutput))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KSecureOutputPar);
+    	SetBlockResult(EFail);
+    	    		
+		}
+	else
+		{
+		TRAPD( error, iAudioOutput->SetSecureOutputL(parSecureOutput) );
+	    if( error != KErrNone ) 
+	        {
+	        ERR_PRINTF2(_L("Setting secure output failed with error %d"), error);
+	        SetError(error);
+	        }
+	    else
+	    	{
+	    	INFO_PRINTF1(_L("*END*CT_CAudioOutputData::DoCmdSetSecureOutputL"));
+	    	}
+		}
+	}
+
+/**
+ * Unregister the observer
+ * @param none
+ * @return none
+ */
+void CT_CAudioOutputData::DoCmdUnregisterObserver() 
+	{
+	INFO_PRINTF1(_L("*START*CT_CAudioOutputData::DoCmdUnregisterObserver"));
+  iAudioOutput->UnregisterObserver(*this);    	    
+  INFO_PRINTF1(_L("*END*CT_CAudioOutputData::DoCmdUnregisterObserver"));
+	}
+
+/**
+ * Shows that the audio output was change
+ * @param aAudioOutput
+ * @param aNewDefault  - The new default value
+ */
+void CT_CAudioOutputData::DefaultAudioOutputChanged(CAudioOutput& /*aAudioOutput*/, CAudioOutput::TAudioOutputPreference aNewDefault)
+	{
+	INFO_PRINTF1(_L("*START*CT_CAudioOutputData::DefaultAudioOutputChanged"));
+	INFO_PRINTF2(_L("Audio Output changed to %d"), aNewDefault);
+	INFO_PRINTF1(_L("*END*CT_CAudioOutputData::DefaultAudioOutputChanged"));
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/src/T_CErrorConcealmentIntfcData.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,268 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "t_cerrorconcealmentintfcdata.h"
+
+/*@{*/
+//Command literals 
+_LIT(KCmdNewL, 							"NewL");
+_LIT(KCmdDestructor, 					"~");
+_LIT(KCmdConcealErrorForNextBuffer, 	"ConcealErrorForNextBuffer");
+_LIT(KCmdSetFrameMode, 					"SetFrameMode");
+_LIT(KCmdFrameModeRqrdForEC, 			"FrameModeRqrdForEC");
+/*@}*/
+
+/*@{*/
+//INI Section name literals
+_LIT(KFrameMode, 						"FrameMode");
+_LIT(KFrameModeRqrd, 					"FrameModeRqrd");
+_LIT(KDevSoundInstanceName,				"DevSoundInstanceName");
+/*@}*/
+
+
+
+
+/**
+ * Two phase constructor
+ * @leave	system wide error
+ */
+CT_CErrorConcealmentIntfcData* CT_CErrorConcealmentIntfcData::NewL()
+    {
+    CT_CErrorConcealmentIntfcData* self = new (ELeave)CT_CErrorConcealmentIntfcData();    
+    return self;    
+    }
+
+/**
+ * Private constructor. First phase construction
+ */
+CT_CErrorConcealmentIntfcData::CT_CErrorConcealmentIntfcData()
+	:
+	iErrorConcealmentIntfc(NULL)
+    {
+    }
+
+
+/**
+ * Public destructor
+ */
+CT_CErrorConcealmentIntfcData::~CT_CErrorConcealmentIntfcData()
+    {     
+    DestroyData();
+    }
+
+
+/**
+ * Helper method for DoCmdDestructor
+ */
+void CT_CErrorConcealmentIntfcData::DestroyData()
+	{
+	if (iErrorConcealmentIntfc)
+		{ 
+		delete iErrorConcealmentIntfc;
+		iErrorConcealmentIntfc = NULL;
+		}	 
+	}
+
+/**
+ * Return a pointer to the object that the data wraps
+ *
+ * @return	pointer to the object that the data wraps
+ */
+TAny* CT_CErrorConcealmentIntfcData::GetObject()
+    {
+    return iErrorConcealmentIntfc;
+    }
+
+/**
+ * Process a command read from the Ini file
+ * @param aCommand 			- The command to process
+ * @param aSection			- The section get from the *.ini file of the project T_Wlan
+ * @param aAsyncErrorIndex	- Command index dor async calls to returns errors to
+ * @return TBool			- ETrue if the command is process
+ * @leave					- System wide error
+ */
+TBool CT_CErrorConcealmentIntfcData::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt /*aAsyncErrorIndex*/)
+	{
+	TBool ret = ETrue;	
+	if (aCommand == KCmdNewL)
+		{
+		DoCmdNewL();
+		}
+	else if (aCommand == KCmdDestructor)
+		{
+		DoCmdDestructor();
+		}
+	else if (aCommand == KCmdConcealErrorForNextBuffer)
+		{
+		DoCmdConcealErrorForNextBuffer();
+		}
+	else if (aCommand == KCmdSetFrameMode)
+		{
+		DoCmdSetFrameMode(aSection);
+		}
+	else if (aCommand == KCmdFrameModeRqrdForEC)
+		{
+		DoCmdFrameModeRqrdForEC(aSection);
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Unknown command"));
+		ret=EFalse;
+		}	
+	return ret;
+	}
+
+/**
+ * Create an instance of CErrorConcealmentIntfc
+ * @param none
+ * @return none
+ */
+void CT_CErrorConcealmentIntfcData::DoCmdNewL()
+	{
+	DestroyData();
+	INFO_PRINTF1(_L("*START*CT_CErrorConcealmentIntfcData::DoCmdNewL()"));
+	if (!iErrorConcealmentIntfc)
+		{
+		TPtrC devSoundInstanceName;
+		if (!GetStringFromConfig(aSection, KDevSoundInstanceName, devSoundInstanceName))
+			{
+			ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDevSoundInstanceName);
+	    	SetBlockResult(EFail);
+			}
+		else
+			{
+			CMMFDevSound* devSoundInstance = static_cast<CMMFDevSound*>(GetDataObjectL(devSoundInstanceName));		
+			if(devSoundInstance)
+				{
+				iErrorConcelmentIntfc == (CErrorConcealmentIntfc*)devSoundInstance->CustomInterface(KUidErrorConcealmentIntfc);
+				if (iErrorConcealmentIntfc == NULL)
+					{
+					ERR_PRINTF1(_L("Could not get ErrConcealment CI"));
+					SetError(KErrNotFound);
+					}
+				else
+					{
+					INFO_PRINTF1(_L("ErrConcealment created successfully"));
+					INFO_PRINTF1(_L("*END*CT_CErrorConcealmentIntfcData::DoCmdNewL()"));
+					}
+				}
+			else
+				{
+				ERR_PRINTF1(_L("DevSound not ready"));
+				SetError(KErrNotReady);
+				}
+			}
+		}
+	else
+		{
+		INFO_PRINTF1(_L("*END*CT_CErrorConcealmentIntfcData::DoCmdNewL()"));
+		}
+	}
+
+/**
+ * Destroy an instance of CErrorConcealmentIntfc
+ * @param
+ * @none
+ */
+void CT_CErrorConcealmentIntfcData::DoCmdDestructor()
+	{
+	INFO_PRINTF1(_L("*START*CT_CErrorConcealmentIntfcData::DoCmdDestroyData()"));
+	DestroyData();
+	INFO_PRINTF1(_L("*END*CT_CErrorConcealmentIntfcData::DoCmdDestroyData()"));
+	}
+
+/**
+ * Command for Conceal and error for next buffer
+ * @param none
+ * @return none
+ */
+void CT_CErrorConcealmentIntfcData::DoCmdConcealErrorForNextBuffer()
+	{
+	INFO_PRINTF1(_L("*START*CT_CErrorConcealmentIntfcData::DoCmdConcealErrorForNextBuffer()"));
+	TInt error = iErrorConcealmentIntfc->ConcealErrorForNextBuffer());
+	if(error != KErrNone)
+		{
+		ERR_PRINTF2(_L("> Could not execute DoCmdConcealErrorForNextBuffer: %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("*END*CT_CErrorConcealmentIntfcData::DoCmdConcealErrorForNextBuffer()"));
+		}
+	}
+
+/**
+ * Puts the hwdevice into a frame-based interface.
+ * The alternate mode of interface would be buffer-based.
+ * @param aSection - The section to read param from the ini file
+ * @return none
+ */
+void CT_CErrorConcealmentIntfcData::DoCmdSetFrameMode(const TTEFSectionName& aSection) 
+    {   
+    INFO_PRINTF1(_L("*START*CT_CErrorConcealmentIntfcData::DoCmdSetFrameMode()"));
+    TBool aFrameMode = EFalse;
+    if (!GetBoolFromConfig(aSection, KFrameMode, aFrameMode))
+    	{
+		INFO_PRINTF2(_L("Parameter %S was not found in INI file."), &KFrameMode);
+		SetBlockResult(EFail);
+    	}
+    else
+    	{
+	    TInt error = iErrorConcealmentIntfc->SetFrameMode(aFrameMode);    
+	    if ( KErrNone != error )    	
+	        {
+	        ERR_PRINTF2(_L("> Could not execute DoCmdSetFrameMode: %d"), error);   
+	        SetError(error);
+	        }
+	    else
+	    	{
+	    	INFO_PRINTF1(_L("*END*CT_CErrorConcealmentIntfcData::DoCmdSetFrameMode()")); 
+	    	}
+    	}
+    }
+
+/**
+ * Query to find out if frame-based interface is required by hwdevice
+ * for supporting error concealment.
+ * @param aSection
+ * @return none
+ */
+void CT_CErrorConcealmentIntfcData::DoCmdFrameModeRqrdForEC(const TTEFSectionName& aSection)
+    {
+    INFO_PRINTF1(_L("*START*CT_CErrorConcealmentIntfcData::DoCmdFrameModeRqrdForEC()"));
+    TBool aFrameModeRqrd = EFalse;
+    if (!GetBoolFromConfig(aSection, KFrameModeRqrd, aFrameModeRqrd))
+    	{
+		INFO_PRINTF2(_L("Parameter %S was not found in INI file."), &KFrameModeRqrd);
+		SetBlockResult(EFail);
+    	}
+    else
+    	{
+	    TInt error = iErrorConcealmentIntfc->FrameModeRqrdForEC(aFrameModeRqrd);
+	    
+	    if ( KErrNone != error )    	
+	        {
+	        ERR_PRINTF2(_L("> Could not execute DoCmdSetFrameMode: %d"), error);   
+	        SetError(error);
+	        }
+	    else
+	    	{
+	    	INFO_PRINTF1(_L("*END*CT_CErrorConcealmentIntfcData::DoCmdFrameModeRqrdForEC()")); 
+	    	}
+    	}
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/src/T_CG711DecoderIntfcData.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,243 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "t_cg711decoderintfcdata.h"
+
+/*@{*/
+//Enumeration Literals 
+_LIT(KEDecALaw, 					"EDecALaw");
+_LIT(KEDecULaw,						"EDecULaw" );
+/*@}*/
+
+/*@{*/
+//Command literals 
+_LIT(KCmdNewL, 						"NewL");
+_LIT(KCmdDestructor, 					"~");
+_LIT(KCmdSetDecoderMode, 				"SetDecoderMode");
+_LIT(KCmdSetCng, 						"KCmdSetCng");
+/*@}*/
+
+/*@{*/
+//INI Section name literals 
+_LIT(KDecoder, 						"Decoder");
+_LIT(KCng, 							"CNG");
+/*@}*/
+
+const CDataWrapperBase::TEnumEntryTable iEnumDecoders[] = 
+	{ 
+	{ KEDecALaw,	0/*EDecALaw */},
+	{ KEDecULaw,	1/*EDecULaw*/ }
+	};
+
+
+/**
+ * Private constructor. First phase construction
+ */
+CT_CG711DecoderIntfcData::CT_CG711DecoderIntfcData()
+	:
+	iG711Decoder(NULL),
+	iCng(EFalse)
+    {
+    }
+
+/**
+ * Second phase construction
+ *
+ * @internalComponent
+ * @return	N/A
+ * @pre		None
+ * @post	None
+ * @leave	system wide error
+ */
+//void CT_CG711DecoderIntfcData::ConstructL()
+//    {
+//   
+//    }
+    
+/**
+ * Two phase constructor
+ *
+ * @leave	system wide error
+ */
+CT_CG711DecoderIntfcData* CT_CG711DecoderIntfcData::NewL()
+    {
+    CT_CG711DecoderIntfcData* self = new (ELeave)CT_CG711DecoderIntfcData();
+    return self;    
+    }
+    
+/**
+ * Return a pointer to the object that the data wraps
+ *
+ * @return	pointer to the object that the data wraps
+ */
+TAny* CT_CG711DecoderIntfcData::GetObject()
+    {
+    return iG711Decoder;
+    }
+
+/**
+ * Public destructor
+ */
+CT_CG711DecoderIntfcData::~CT_CG711DecoderIntfcData()
+    {     
+    DestroyData();
+    }
+
+/**
+ * Helper method for DoCmdDestructor
+ */
+void CT_CG711DecoderIntfcData::DestroyData()
+	{
+    if (iG711Decoder != NULL)
+    	{
+    	delete iG711Decoder;
+        iG711Decoder = NULL;
+    	}	
+	}
+
+/**
+ * Process a command read from the Ini file
+ * @param aCommand 			- The command to process
+ * @param aSection			- The section get from the *.ini file of the project T_Wlan
+ * @param aAsyncErrorIndex	- Command index dor async calls to returns errors to
+ * @return TBool			- ETrue if the command is process
+ * @leave					- system wide error
+ */
+TBool CT_CG711DecoderIntfcData::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt /*aAsyncErrorIndex*/)
+	{
+	TBool ret = ETrue;
+	
+	if (aCommand == KCmdNewL)
+		{
+		DoCmdNewL();
+		}
+	else if (aCommand == KCmdDestructor)
+		{
+		DoCmdDestructor();
+		}
+	else if (aCommand == KCmdSetDecoderMode)
+		{
+		DoCmdSetDecoderMode(aSection);
+		}
+	else if (aCommand == KCmdSetCng)
+		{
+		DoCmdSetCng(aSection);
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Unknown command."));
+		ret=EFalse;
+		}
+	
+	return ret;
+	}
+
+/**
+ * Create an Instance of CG711DecoderIntfc
+ * @param none
+ * @return none
+ */
+void CT_CG711DecoderIntfcData::DoCmdNewL()
+	{
+	INFO_PRINTF1(_L("*START*CT_CG711DecoderIntfcData::DoCmdNewL()"));
+
+	TRAPD(error, CT_CG711DecoderIntfcData::NewL());
+	if(KErrNone!=error)
+		{
+		ERR_PRINTF2(_L("> Could not create CG711HwDevice: %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("*END*CT_CG711DecoderIntfcData::DoCmdNewL()"));
+		}	
+	}
+
+/**
+ * Destroy an instance of CG711DecoderIntfc
+ * @param none
+ * @return none
+ */
+void CT_CG711DecoderIntfcData::DoCmdDestructor()
+	{
+	INFO_PRINTF1(_L("*START*CT_CG711DecoderIntfcData::DoCmdDestructor()"));
+	DestroyData();
+	INFO_PRINTF1(_L("*END*CT_CG711DecoderIntfcData::DoCmdDestructor()"));
+	}
+
+/**
+ * Set decoder mode
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CG711DecoderIntfcData::DoCmdSetDecoderMode(const TTEFSectionName& aSection)
+    {
+    INFO_PRINTF1(_L("*START* CT_CG711DecoderIntfcData::DoCmdSetDecoderMode()"));
+    TInt expectedValue;
+    if (!GetEnumFromConfig(aSection, KDecoder, iEnumDecoders, expectedValue))
+    	{
+		INFO_PRINTF2(_L("Parameter %S was not found in INI file."), &KDecoder);
+		SetBlockResult(EFail);
+    	}
+    else
+    	{
+    	TInt error = iG711Decoder->SetDecoderMode((CG711DecoderIntfc::TDecodeMode)expectedValue);
+        if ( KErrNone != error )    	
+            {
+            ERR_PRINTF2(_L("[%d] SetDecoderMode()"), error);        
+            SetError(error);
+            }
+        else
+        	{
+        	INFO_PRINTF1(_L("*END*CT_CG711DecoderIntfcData::DoCmdSetDecoderMode()"));
+        	}        
+    	}    
+    }
+
+/** 
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CG711DecoderIntfcData::DoCmdSetCng(const TTEFSectionName& aSection)
+    {
+    INFO_PRINTF1(_L("*START*CT_CG711DecoderIntfcData::DoCmdSetCng()"));
+    
+	if(!GetBoolFromConfig(aSection, KCng, iCng))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KCng);
+		SetBlockResult(EFail);
+		return;
+		}
+	else
+		{
+		TInt error = iG711Decoder->SetCng(iCng);
+	    if ( KErrNone != error )    	
+	        {
+	        ERR_PRINTF2(_L("[%d] SetCng() error "), error);
+	        SetError(error);
+	        return;
+	        }
+	    else
+	    	{
+	    	INFO_PRINTF1(_L("*END*CT_CG711DecoderIntfcData::DoCmdSetCng()"));    
+	    	}	    
+		}    
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/src/T_CMMFDevSoundData.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,2168 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "t_cmmfdevsounddata.h"
+
+/*@{*/
+//Constants for HwDevice
+const TInt KHwDeviceDefaultDataLength = 9;
+const TInt KFourCCLength = 4;
+//Supported Input Data Types
+const TInt KFourCCMaxBitDisplacement = 24;
+const TInt K8Bits = 8;
+const TInt KTFourCC = 4;
+/*@}*/
+
+/*@{*/
+//Command literals
+_LIT(KCmdNewL,                         "NewL");
+_LIT(KCmdNewLLoopL,                    "NewLLoopL");
+_LIT(KCmdDestructor,                   "~");
+_LIT(KCmdCapabilities,                 "Capabilities");
+_LIT(KCmdConfig,                       "Config");
+_LIT(KCmdMaxGain,                      "MaxGain");
+_LIT(KCmdMaxVolume,                    "MaxVolume");
+_LIT(KCmdGetPlayBalanceL,              "GetPlayBalanceL");
+_LIT(KCmdGetRecordBalanceL,            "GetRecordBalanceL");
+_LIT(KCmdGetSupportedInputDataTypesL,  "GetSupportedInputDataTypesL");
+_LIT(KCmdGetSupportedOutputDataTypesL, "GetSupportedOutputDataTypesL");
+_LIT(KCmdSamplesPlayed,                "SamplesPlayed");
+_LIT(KCmdSamplesRecorded,              "SamplesRecorded");
+_LIT(KCmdVolume,                       "Volume");
+_LIT(KCmdGain,                         "Gain");
+_LIT(KCmdFixedSequenceCount,           "FixedSequenceCount");
+_LIT(KCmdFixedSequenceName,            "FixedSequenceName");
+_LIT(KCmdSetConfigL,                   "SetConfigL");
+_LIT(KCmdSetDTMFLengths,               "SetDTMFLengths");
+_LIT(KCmdSetGain,                      "SetGain");
+_LIT(KCmdSetPlayBalanceL,              "SetPlayBalanceL");
+_LIT(KCmdSetPrioritySettings,          "SetPrioritySettings");
+_LIT(KCmdSetRecordBalanceL,            "SetRecordBalanceL");
+_LIT(KCmdSetToneRepeats,               "SetToneRepeats");
+_LIT(KCmdSetVolume,                    "SetVolume");
+_LIT(KCmdSetVolumeRamp,                "SetVolumeRamp");
+_LIT(KCmdInitializeL,                  "InitializeL");
+_LIT(KCmdPlayDTMFStringL,              "PlayDTMFStringL");
+_LIT(KCmdPlayData,                     "PlayData");
+_LIT(KCmdPlayDualToneL,                "PlayDualToneL");
+_LIT(KCmdPlayInitL,                    "PlayInitL");
+_LIT(KCmdPlayToneL,                    "PlayToneL");
+_LIT(KCmdPlayToneSequenceL,            "PlayToneSequenceL");
+_LIT(KCmdRecordData,                   "RecordData");
+_LIT(KCmdRecordInitL,                  "RecordInitL");
+_LIT(KCmdStop,                         "Stop");
+_LIT(KCmdErrorConceal,                 "ErrorConceal");
+_LIT(KCmdSetVolumeLoop,                "SetVolumeLoop");
+/*@}*/
+
+/*@{*/
+//Utility literals
+_LIT(KCmdUtilityReplaceFile,                  "ReplaceFile");
+_LIT(KCmdUtilityOpenFile,                     "OpenFile");
+_LIT(KCmdUtilityCloseFile,                    "CloseFile");
+_LIT(KCmdUtilityFileStartPosition,            "FileStartPosition");
+/*@}*/
+
+/*@{*/
+//INI Section name literals
+_LIT(KGainValue,                       "Gain");
+_LIT(KVolumeValue,                     "Volume");
+_LIT(KLeftPercentage,                  "LeftPercentage");
+_LIT(KRightPercentage,                 "RightPercentage");
+_LIT(KSequenceNumber,                  "SequenceNumber");
+_LIT(KRate,                            "Rate");
+_LIT(KEncoding,                        "Encoding");
+_LIT(KChannels,                        "Channels");
+_LIT(KBufferSize,                      "BufferSize");
+_LIT(KToneOnLength,                    "ToneOnLength");
+_LIT(KToneOffLength,                   "ToneOffLength");
+_LIT(KPause,                           "Pause");
+_LIT(KPauseLength,                     "PauseLength");
+_LIT(KPriority,                        "Priority");
+_LIT(KPreference,                      "Preference");
+_LIT(KPriorityState,                   "PriorityState");
+_LIT(KRepeatCount,                     "RepeatCount");
+_LIT(KRepeatTrailingSilence,           "RepeatTrailingSilence");
+_LIT(KRampDuration,                    "RampDuration");
+_LIT(KMode,                            "Mode");
+_LIT(KHwDevice,                        "HwDevice");
+_LIT(KFourCC,                          "FourCC");
+_LIT(KFilename,                        "Filename");
+_LIT(KDTMFString,                      "DTMFString");
+_LIT(KFrequency,                       "Frequency");
+_LIT(KFrequencyOne,                    "FrequencyOne");
+_LIT(KFrequencyTwo,                    "FrequencyTwo");
+_LIT(KDuration,                        "Duration");
+_LIT(KLoop,                            "Loop");
+_LIT(KAllowedError,                    "AllowedError");
+_LIT(KVolumeList,                      "VolumeList");
+_LIT(KVolumeLoop,                      "VolumeLoop");
+/*@}*/
+
+/*@{*/
+//Literals for iEnumChannels
+_LIT(KEMMFStereo, "EMMFStereo");
+_LIT(KEMMFMono,   "EMMFMono");
+/*@}*/
+
+const CDataWrapperBase::TEnumEntryTable CT_CMMFDevSoundData::iEnumChannels[] =
+	{
+	{KEMMFMono,   EMMFMono},
+	{KEMMFStereo, EMMFStereo}
+	};
+
+/*@{*/
+//Literals for iEnumSampleRate
+_LIT(KEMMFSampleRate8000Hz,  "EMMFSampleRate8000Hz");
+_LIT(KEMMFSampleRate11025Hz, "EMMFSampleRate11025Hz");
+_LIT(KEMMFSampleRate16000Hz, "EMMFSampleRate16000Hz");
+_LIT(KEMMFSampleRate22050Hz, "EMMFSampleRate22050Hz");
+_LIT(KEMMFSampleRate32000Hz, "EMMFSampleRate32000Hz");
+_LIT(KEMMFSampleRate44100Hz, "EMMFSampleRate44100Hz");
+_LIT(KEMMFSampleRate48000Hz, "EMMFSampleRate48000Hz");
+_LIT(KEMMFSampleRate88200Hz, "EMMFSampleRate88200Hz");
+_LIT(KEMMFSampleRate96000Hz, "EMMFSampleRate96000Hz");
+_LIT(KEMMFSampleRate12000Hz, "EMMFSampleRate12000Hz");
+_LIT(KEMMFSampleRate24000Hz, "EMMFSampleRate24000Hz");
+_LIT(KEMMFSampleRate64000Hz, "EMMFSampleRate64000Hz");
+/*@}*/
+
+const CDataWrapperBase::TEnumEntryTable CT_CMMFDevSoundData::iEnumSampleRate[] =
+	{
+	{KEMMFSampleRate8000Hz,  EMMFSampleRate8000Hz},
+	{KEMMFSampleRate11025Hz, EMMFSampleRate11025Hz},
+	{KEMMFSampleRate16000Hz, EMMFSampleRate16000Hz},
+	{KEMMFSampleRate22050Hz, EMMFSampleRate22050Hz},
+	{KEMMFSampleRate32000Hz, EMMFSampleRate32000Hz},
+	{KEMMFSampleRate44100Hz, EMMFSampleRate44100Hz},
+	{KEMMFSampleRate48000Hz, EMMFSampleRate48000Hz},
+	{KEMMFSampleRate88200Hz, EMMFSampleRate88200Hz},
+	{KEMMFSampleRate96000Hz, EMMFSampleRate96000Hz},
+	{KEMMFSampleRate12000Hz, EMMFSampleRate12000Hz},
+	{KEMMFSampleRate24000Hz, EMMFSampleRate24000Hz},
+	{KEMMFSampleRate64000Hz, EMMFSampleRate64000Hz}
+	};
+
+/*@{*/
+//Literal for iEnumMode
+_LIT(KEMMFStateIdle,             "EMMFStateIdle");
+_LIT(KEMMFStatePlaying,          "EMMFStatePlaying");
+_LIT(KEMMFStateTonePlaying,      "EMMFStateTonePlaying");
+_LIT(KEMMFStateRecording,        "EMMFStateRecording");
+_LIT(KEMMFStatePlayingRecording, "EMMFStatePlayingRecording");
+_LIT(KEMMFStateConverting,       "EMMFStateConverting");
+/*@}*/
+
+const CDataWrapperBase::TEnumEntryTable CT_CMMFDevSoundData::iEnumMode[] =
+	{
+	{KEMMFStateIdle,             EMMFStateIdle},
+	{KEMMFStatePlaying,          EMMFStatePlaying},
+	{KEMMFStateRecording,        EMMFStateRecording},
+	{KEMMFStateTonePlaying,      EMMFStateTonePlaying},
+	{KEMMFStatePlayingRecording, EMMFStatePlayingRecording},
+	{KEMMFStateConverting,       EMMFStateConverting}
+	};
+
+/*@{*/
+//Literals for iEnumInitializeLType
+_LIT(KEInitializeState,          "EInitializeState");
+_LIT(KEInitializeHwDeviceMode,   "EInitializeHwDeviceMode");
+_LIT(KEInitializeFourCCMode,     "EInitializeFourCCMode");
+/*@}*/
+
+enum TMMFInitializeMode
+	{
+	EInitializeState,
+	EInitializeHwDeviceMode,
+	EInitializeFourCCMode
+	};
+
+const CDataWrapperBase::TEnumEntryTable CT_CMMFDevSoundData::iEnumInitializeLType[] =
+	{
+	{KEInitializeState,        EInitializeState},
+	{KEInitializeHwDeviceMode, EInitializeHwDeviceMode},
+	{KEInitializeFourCCMode,   EInitializeFourCCMode}
+	};
+
+/**
+ * Two phase constructor
+ *
+ * @leave   system wide error
+ */
+CT_CMMFDevSoundData* CT_CMMFDevSoundData::NewL()
+	{
+	CT_CMMFDevSoundData* ret = new (ELeave) CT_CMMFDevSoundData();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+/**
+ * Private constructor. First phase construction
+ */
+CT_CMMFDevSoundData::CT_CMMFDevSoundData()
+	:
+	iDevSound(NULL),
+	iPrioritySettings(),
+	iCapabilities(),
+	iVolumeValue(0),
+	iGainValue(0),
+	iLeftPercentage(0),
+	iRightPercentage(0),
+	iFs(),
+	iToneFile(),
+	iAudiofile(),
+	iBuffer(NULL),
+	iLastSample(0),
+	iPaused(EFalse),
+	iErrorConceal(EFalse),
+	iEndFile(EFalse),
+	iToneSequence(),
+	iInitializeCompleteError(0),
+	iToneFinishedError(0),
+	iBufferToBeFilledError(0),
+	iPlayErrorError(0),
+	iBufferToBeEmptiedError(0),
+	iRecordErrorError(0),
+	iConvertErrorError(0),
+	iDeviceMessageError(0),
+	iUtilityFourCCToHwDeviceUidLError(0),
+    iAsyncErrorIndex_initialize(0),
+    iAsyncErrorIndex_play(0),
+    iAsyncErrorIndex_record(0),
+    iAsyncErrorIndex_tone(0)
+    
+	{
+	}
+
+/**
+ * Second phase construction
+ * @internalComponent
+ * @return  N/A
+ * @pre     None
+ * @post    None
+ * @leave   system wide error
+ */
+void CT_CMMFDevSoundData::ConstructL()
+	{
+	iFs.Connect();
+	}
+
+/**
+ * Public destructor
+ */
+CT_CMMFDevSoundData::~CT_CMMFDevSoundData()
+	{
+	iFs.Close();
+	DestroyData();
+	}
+
+/**
+ * Helper Destructor
+ */
+void CT_CMMFDevSoundData::DestroyData()
+	{
+		INFO_PRINTF1(_L("*START* CT_CMMFDevSoundData::DestroyData()"));
+	if(iDevSound)
+		{
+			INFO_PRINTF1(_L("Delete DevSound object."));
+		delete iDevSound;
+		iDevSound = NULL;
+		}
+			INFO_PRINTF1(_L("*START* CT_CMMFDevSoundData::DestroyData()"));
+	}
+
+/**
+ * Return a pointer to the object that the data wraps
+ *
+ * @return  pointer to the object that the data wraps
+ */
+TAny* CT_CMMFDevSoundData::GetObject()
+	{
+	return iDevSound;
+	}
+
+/**
+ * Process a command read from the Ini file
+ * @param aCommand          - The command to process
+ * @param aSection          - The section get from the *.ini file of the project T_Wlan
+ * @param aAsyncErrorIndex  - Command index dor async calls to returns errors to
+ * @return TBool            - ETrue if the command is process
+ * @leave                   - system wide error
+ */
+TBool CT_CMMFDevSoundData::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+	{
+	TBool ret = ETrue;
+
+	if (aCommand == KCmdNewL)
+		{
+		DoCmdNewL();
+		}
+	else if(aCommand == KCmdNewLLoopL)
+		{
+		DoCmdNewLLoopL(aSection);
+		}
+	else if (aCommand == KCmdDestructor)
+		{
+		DoCmdDestructor();
+		}
+	else if (aCommand == KCmdUtilityReplaceFile)
+		{
+		DoCmdUtilityReplaceFile(aSection);
+		}
+	else if (aCommand == KCmdUtilityOpenFile)
+		{
+		DoCmdUtilityOpenFile(aSection);
+		}
+	else if (aCommand == KCmdUtilityCloseFile)
+		{
+		DoCmdUtilityCloseFile();
+		}
+	else if (aCommand == KCmdUtilityFileStartPosition)
+		{
+		DoCmdUtilityFileStartPosition();
+		}
+	else if (aCommand == KCmdCapabilities)
+		{
+		DoCmdCapabilities();
+		}
+	else if (aCommand == KCmdConfig)
+		{
+		DoCmdConfig();
+		}
+	else if (aCommand == KCmdMaxGain)
+		{
+		DoCmdMaxGain(aSection);
+		}
+	else if (aCommand == KCmdMaxVolume)
+		{
+		DoCmdMaxVolume(aSection);
+		}
+	else if (aCommand == KCmdGetPlayBalanceL)
+		{
+		DoCmdGetPlayBalanceL(aSection);
+		}
+	else if (aCommand == KCmdGetRecordBalanceL)
+		{
+		DoCmdGetRecordBalanceL(aSection);
+		}
+	else if (aCommand == KCmdGetSupportedInputDataTypesL)
+		{
+		DoCmdGetSupportedInputDataTypesL();
+		}
+	else if (aCommand == KCmdGetSupportedOutputDataTypesL)
+		{
+		DoCmdGetSupportedOutputDataTypesL();
+		}
+	else if (aCommand == KCmdSamplesPlayed)
+		{
+		DoCmdSamplesPlayed();
+		}
+	else if (aCommand == KCmdSamplesRecorded)
+		{
+		DoCmdSamplesRecorded();
+		}
+	else if (aCommand == KCmdVolume)
+		{
+		DoCmdVolume(aSection);
+		}
+	else if (aCommand == KCmdGain)
+		{
+		DoCmdGain(aSection);
+		}
+	else if (aCommand == KCmdFixedSequenceCount)
+		{
+		DoCmdFixedSequenceCount();
+		}
+	else if (aCommand == KCmdFixedSequenceName)
+		{
+		DoCmdFixedSequenceName(aSection);
+		}
+	else if (aCommand == KCmdSetConfigL)
+		{
+		DoCmdSetConfigL(aSection);
+		}
+	else if (aCommand == KCmdSetDTMFLengths)
+		{
+		DoCmdSetDTMFLengths(aSection);
+		}
+	else if (aCommand == KCmdSetGain)
+		{
+		DoCmdSetGain(aSection);
+		}
+	else if (aCommand == KCmdSetPlayBalanceL)
+		{
+		DoCmdSetPlayBalanceL(aSection);
+		}
+	else if (aCommand == KCmdSetPrioritySettings)
+		{
+		DoCmdSetPrioritySettings(aSection);
+		}
+	else if (aCommand == KCmdSetRecordBalanceL)
+		{
+		DoCmdSetRecordBalanceL(aSection);
+		}
+	else if (aCommand == KCmdSetToneRepeats)
+		{
+		DoCmdSetToneRepeats(aSection);
+		}
+	else if (aCommand == KCmdSetVolume)
+		{
+		DoCmdSetVolume(aSection);
+		}
+	else if (aCommand == KCmdSetVolumeLoop)
+		{
+		DoCmdSetVolumeLoop(aSection);
+		}
+	else if (aCommand == KCmdSetVolumeRamp)
+		{
+		DoCmdSetVolumeRamp(aSection);
+		}
+	else if (aCommand == KCmdInitializeL)
+		{
+		DoCmdInitializeL(aSection, aAsyncErrorIndex);
+		}
+	else if (aCommand == KCmdPlayDTMFStringL)
+		{
+		DoCmdPlayDTMFStringL(aSection, aAsyncErrorIndex);
+		}
+	else if (aCommand == KCmdPlayData)
+		{
+		DoCmdPlayData();
+		}
+	else if (aCommand == KCmdPlayDualToneL)
+		{
+		DoCmdPlayDualToneL(aSection);
+		}
+	else if (aCommand == KCmdPlayInitL)
+		{
+		DoCmdPlayInitL(aAsyncErrorIndex);
+		}
+	else if (aCommand == KCmdPlayToneL)
+		{
+		DoCmdPlayToneL(aSection, aAsyncErrorIndex);
+		}
+	else if (aCommand == KCmdPlayToneSequenceL)
+		{
+		DoCmdPlayToneSequenceL(aSection, aAsyncErrorIndex);
+		}
+	else if (aCommand == KCmdRecordData)
+		{
+		DoCmdRecordData();
+		}
+	else if (aCommand == KCmdRecordInitL)
+		{
+		DoCmdRecordInitL(aAsyncErrorIndex);
+		}
+	else if (aCommand == KCmdStop)
+		{
+		DoCmdStop(aSection);
+		}
+	else if(aCommand == KCmdErrorConceal)
+		{
+		DoCmdUtilityErrorConceal();
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Unknown command."));
+		ret=EFalse;
+		}
+	return ret;
+	}
+
+/**
+ * Handles initialization completion event.
+ * CMMFDevSound object calls this function when its InitializeL() function
+ * completes.
+ * @param  aError - Error code. KErrNone if successful. Other values are possible
+ *                  indicating a problem initializing CMMFDevSound object.
+ * @return void
+ */
+
+void CT_CMMFDevSoundData::InitializeComplete(TInt aError)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::InitializeComplete"));
+	if(KErrNone != aError)
+		{
+		ERR_PRINTF2(_L("InitializeComplete callback failed with error %d"), aError);
+        SetAsyncError(iAsyncErrorIndex_initialize, aError);
+        iAsyncErrorIndex_initialize = 0;
+		}
+	DecOutstanding();
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::InitializeComplete"));
+	}
+
+/**
+ * It's needed for playing o converting
+ * @param aBuffer - Buffer into which data should be read. The amount of data that is
+ *                  needed is specified in CMMFBuffer::RequestSize().
+ */
+void CT_CMMFDevSoundData::BufferToBeFilled(CMMFBuffer* aBuffer)
+	{
+	if (!aBuffer)
+		{
+		ERR_PRINTF1(_L("BufferToBeFilled callback received a NULL CMMFBuffer!"));
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		TBool dataOk = ETrue;
+		iBuffer = aBuffer;
+		iBuffer->SetLastBuffer(EFalse);
+		CMMFDataBuffer* buffer = static_cast <CMMFDataBuffer*> (iBuffer);
+		if (iPaused)
+			{
+			iPaused=EFalse;
+			TInt error = iAudiofile.Read(iLastSample,buffer->Data());
+			if (error != KErrNone)
+				{
+				ERR_PRINTF2(_L("ERROR : iFile.Read() failed with %d"), error);
+				SetBlockResult(EFail);
+				dataOk = EFalse;
+				}
+			}
+		else
+			{
+			TInt error = iAudiofile.Read(buffer->Data());
+			if (error != KErrNone)
+				{
+				ERR_PRINTF2(_L("ERROR : iFile.Read() failed with %d"), error);
+				SetBlockResult(EFail);
+				dataOk =EFalse;
+				}
+			}
+		if(dataOk)
+			{
+			if (buffer->Data().Length() != buffer->RequestSize())
+				{
+				iBuffer->SetLastBuffer(ETrue);
+				}
+			if (iErrorConceal)
+				{
+				iErrorConceal=EFalse;
+				buffer->Data().Zero();
+				INFO_PRINTF1(_L("buffer->Data().Zero()"));
+				}
+			PlayData();
+			TInt pos=0;
+			iLastSample=iAudiofile.Seek(ESeekCurrent ,pos);
+			INFO_PRINTF2(_L("Number of samples played so far: %d"), pos);
+			iLastSample=pos;
+			}
+		}
+	}
+
+/**
+* Handles play completion or cancel event.
+*
+* CMMFDevSound object calls this function when an attempt to play audio sample
+* has completed, successfully or otherwise.
+*
+*   @param  aError - Error code. The status of playback. KErrUnderflow playing of the
+*                    audio sample is complete. KErrAccessDenied the sound device is in
+*                    use by another higher priority client.
+*/
+void CT_CMMFDevSoundData::PlayError(TInt aError)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::PlayError"));
+	if (aError == KErrUnderflow)
+		{
+		ERR_PRINTF2(_L("Playback completed normally with error %d"), aError);
+		//iAudiofile.Close();
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Playback completed with error %d"), aError);
+		SetAsyncError(iAsyncErrorIndex_play,aError);
+        iAsyncErrorIndex_play = 0;
+		}
+	DecOutstanding();
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::PlayError"));
+	}
+
+
+/**
+ *  Handles tone play completion event.
+ *
+ *
+ *  CMMFDevSound object calls this function when an attempt to play tone has
+ *  completed, successfully or otherwise.
+ *
+ *  The following are the play tone functions; PlayToneL(), PlayDMTFStringL(),
+ *  PlayToneSequenceL(), and PlayFixedSequenceL().
+ *
+ *  @param  aError -  Error code. The status of tone playback. KErrUnderflow playing of
+ *                    the tone is complete. KErrAccessDenied the sound device is in use by
+ *                    another higher priority client. KErrCancel playing of the audio
+ *                    sample is stopped by DevSound client another higher priority client.
+ *
+ */
+
+void CT_CMMFDevSoundData::ToneFinished(TInt aError)
+	{
+	ERR_PRINTF1(_L("*START*CT_CMMFDevSoundData::ToneFinished"));
+	
+	if (aError == KErrUnderflow)
+		{
+		ERR_PRINTF2(_L("Tone finished normally with error = %d"), aError);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Tone finished with error %d"), aError);
+		SetAsyncError(iAsyncErrorIndex_tone, aError);
+        iAsyncErrorIndex_tone = 0;
+		}
+	DecOutstanding();
+	iToneFile.Close();
+	ERR_PRINTF1(_L("*END*CT_CMMFDevSoundData::ToneFinished"));
+	}
+
+/**
+ * Handles CMMFDevSound object's data request event.
+ *
+ * CMMFDevSound object calls this function when the buffer, aBuffer gets filled
+ * while recording or converting. The observer should notify CMMFDevSound
+ * object as quickly as possible after data in the buffer is processed by
+ * calling RecordData(), otherwise the implementation might callback
+ * the function RecordError() on derived class object with error code KErrOverflow.
+ *
+ * @param  aBuffer - Buffer containing processed (recorded or converted) data. The amount
+ *                   of data that is available is specified in CMMFBuffer::RequestSize().
+ */
+
+void CT_CMMFDevSoundData::BufferToBeEmptied(CMMFBuffer* aBuffer)
+	{
+	if (!aBuffer)
+		{
+		INFO_PRINTF1(_L("BufferToBeEmptied callback received a NULL CMMFBuffer"));
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		iBuffer = aBuffer;
+		CMMFDataBuffer* buffer = static_cast <CMMFDataBuffer*> (iBuffer);
+		TInt error = iAudiofile.Write(buffer->Data());
+		if(error == KErrNone)
+			{
+			if (!aBuffer->LastBuffer())
+				{
+				RecordData();
+				}
+			else{
+				Stop();
+				}
+			}
+		else
+			{
+			ERR_PRINTF2(_L("iFile.Write() returned the error %d"), error);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+/**
+ * Stops the ongoing operation (Play, Record, TonePlay, Convert).
+ * This function should be synchronous and invoke no callbacks through MDevSoundObserver.
+ */
+void CT_CMMFDevSoundData::Stop()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::Stop()"));
+	iDevSound->Stop();
+    
+	DecOutstanding();
+
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::Stop()"));
+	}
+
+/**
+ * Handles record completion or cancel event.
+ *
+ * CMMFDevSound object calls this function when an attempt to record audio sample
+ * has completed, successfully or otherwise.
+ *
+ * @param  aError - Error code. The status of recording. KErrOverflow audio devices
+ *                  runs out of internal buffer. KErrAccessDenied the sound device is
+ *                  in use by another higher priority client.
+ *
+ */
+
+void CT_CMMFDevSoundData::RecordError(TInt aError)
+	{
+	ERR_PRINTF1(_L("*START*CT_CMMFDevSoundData::RecordError"));
+	ERR_PRINTF2(_L("RecordError callback returned error = %d"), aError);
+	SetAsyncError(iAsyncErrorIndex_record, aError);
+    iAsyncErrorIndex_record = 0;
+	//iAudiofile.Close();
+	ERR_PRINTF1(_L("*END*CT_CMMFDevSoundData::RecordError"));
+	}
+
+
+/**
+ * Handles conversion completion or cancel event.
+ *
+ * CMMFDevSound object calls this function when an attempt to convert data from
+ * source format to destination format has completed, successfully or otherwise.
+ *
+ * @param  aError - Error code. KErrCancel conversion operation is cancelled. KErrNone
+ *                  conversion is complete. Other values are possible indicating a
+ *                  problem converting data.
+ */
+
+void CT_CMMFDevSoundData::ConvertError(TInt aError)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::ConvertError"));
+	ERR_PRINTF1(_L("Invalid Callback call"));
+	if (aError == KErrNone)
+		{
+		INFO_PRINTF1(_L("Data conversion completed successfully."));
+		}
+	if (aError == KErrCancel)
+		{
+		INFO_PRINTF1(_L("Data conversion operation was cancelled."));
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::ConvertError"));
+	}
+
+/**
+ * Handles device event.
+ *
+ * CMMFDevSound object calls this function when a message is received from the
+ * audio hardware device.
+ *
+ * @param   aMessageType - Defines the type of message. Used to determine how to
+ *                         interpret the contents of aMsg.
+ * @param   aMsg         - Message that is packed in the Descriptor format.
+ */
+
+
+void CT_CMMFDevSoundData::DeviceMessage(TUid aMessageType, const TDesC8& aMsg)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DeviceMessage"));
+	INFO_PRINTF2(_L("Message type: %d"), aMessageType.iUid);
+	INFO_PRINTF2(_L("Message type: %S"), &aMsg);
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DeviceMessage"));
+	}
+
+
+/**
+ * Create a new or Replace the existing file
+ *
+ */
+void CT_CMMFDevSoundData::DoCmdUtilityReplaceFile(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START* CT_CMMFDevSoundData::DoCmdUtilityReplaceFile()"));
+	TPtrC fileName;
+	TBool dataOk = ETrue;
+	if (!GetStringFromConfig(aSection, KFilename, fileName))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFilename);
+		SetBlockResult(EFail);
+		dataOk =EFalse;
+		}
+	if(dataOk)
+		{
+		TInt error = iAudiofile.Replace(iFs, fileName, EFileRead);
+		if (error != KErrNone)
+			{
+			ERR_PRINTF2(_L("Could not open input file. Error = %d"), error);
+			SetError(error);
+			}
+		}
+
+	INFO_PRINTF1(_L("*END* CT_CMMFDevSoundData::DoCmdUtilityReplaceFile()"));
+	}
+
+/**
+ * Open a file
+ */
+void CT_CMMFDevSoundData::DoCmdUtilityOpenFile(const TTEFSectionName& aSection)
+	{
+
+	INFO_PRINTF1(_L("*START* CT_CMMFDevSoundData::DoCmdUtilityOpenFile()"));
+	TPtrC fileName;
+	TBool dataOk = ETrue;
+	if (!GetStringFromConfig(aSection, KFilename, fileName))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFilename);
+		SetBlockResult(EFail);
+		dataOk =EFalse;
+		}
+	if(dataOk)
+		{
+		TInt error = iAudiofile.Open(iFs, fileName, EFileRead);
+		if (error != KErrNone)
+			{
+			ERR_PRINTF2(_L("Could not open input file. Error = %d"), error);
+			iFs.Close();
+			SetError(error);
+			}
+		}
+	INFO_PRINTF1(_L("*END* CT_CMMFDevSoundData::DoCmdUtilityOpenFile()"));
+	}
+
+/**
+ * Close the opened file
+ */
+void CT_CMMFDevSoundData::DoCmdUtilityCloseFile()
+	{
+	INFO_PRINTF1(_L("*START* CT_CMMFDevSoundData::DoCmdUtilityCloseFile()"));
+	iAudiofile.Close();
+	INFO_PRINTF1(_L("*END* CT_CMMFDevSoundData::DoCmdUtilityCloseFile()"));
+	}
+
+/**
+ * Place the the pointer file at the begining
+ *
+ */
+void CT_CMMFDevSoundData::DoCmdUtilityFileStartPosition()
+	{
+	INFO_PRINTF1(_L("*START* CT_CMMFDevSoundData::DoCmdUtilityFileStartPosition()"));
+	TInt filePosition(0);
+	TBool dataOk = ETrue;
+	TInt error = iAudiofile.Seek(ESeekStart, filePosition);
+	if (error != KErrNone)
+		{
+		ERR_PRINTF2(_L("Could not set file to the start position. Error = %d"), error);
+		SetError(error);
+		dataOk =EFalse;
+		}
+	if(dataOk)
+		{
+		INFO_PRINTF2(_L("File Position: %d"), filePosition);
+		}
+	INFO_PRINTF1(_L("*END* CT_CMMFDevSoundData::DoCmdUtilityFileStartPosition()"));
+	}
+
+/**
+ * Creates "n" instance of CMMFDevSound
+ * @param aSection - Section to read from the ini file
+ * @return void
+ */
+void CT_CMMFDevSoundData::DoCmdNewLLoopL(const TTEFSectionName&aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdNewLLoopL"));
+	CMMFDevSound* devSound = NULL;
+	TBool dataOk = ETrue;
+	TInt loop;
+	if (!GetIntFromConfig(aSection, KLoop, loop))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KLoop);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TInt allowedError;
+	if ( !GetIntFromConfig(aSection, KAllowedError, allowedError) )
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KAllowedError);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		for(TInt i=0; i<loop; i++)
+			{
+			TRAPD(error,devSound = CMMFDevSound::NewL());
+			if(error == KErrNone)
+				{
+				INFO_PRINTF2(_L("Instance %d of DevSound was created"),i);
+				CleanupStack::PushL(devSound);
+				iObjectsDevSound.AppendL(devSound);
+				CleanupStack::Pop(devSound);
+				}
+			else if(error == allowedError)
+				{
+				INFO_PRINTF2(_L(" Allowing Error: %d"), error);
+				ERR_PRINTF2(_L(" Could not create CMMFDevSound due to error: %d"), error);
+				i = loop;
+				}
+			else if((error != KErrNone) && (error!=allowedError))
+				{
+				ERR_PRINTF2(_L("> Could not create CMMFDevSound: %d"), error);
+				SetError(error);
+				}
+			}
+		iObjectsDevSound.ResetAndDestroy();
+		INFO_PRINTF2(_L("%d DevSound instances were deleted"),loop);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdNewLLoopL"));
+	}
+
+
+/**
+ * Create an instance of CMMFDevSound
+ */
+void CT_CMMFDevSoundData::DoCmdNewL()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdNewL"));
+	DestroyData();
+	TRAPD(error,iDevSound = CMMFDevSound::NewL());
+	if(error!= KErrNone)
+		{
+		ERR_PRINTF2(_L("> Could not create CMMFDevSound: %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		iPaused= EFalse;
+		iErrorConceal = EFalse;
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdNewL"));
+	}
+/**
+ * Destroy an instance of CMMFDevSound
+ */
+
+void CT_CMMFDevSoundData::DoCmdDestructor()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdDestroyData"));
+	DestroyData();
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdDestroyData"));
+	}
+
+/**
+ * Show the supported Audio settings ie. encoding, sample rates, mono/stereo operation, buffer
+ * size, etc.
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdCapabilities()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdCapabilities"));
+	iCapabilities = iDevSound->Capabilities();
+	INFO_PRINTF5(_L("Supported Audio settings: buffsize=%d, channels=0x%x, encoding=0x%x and rate=0x%x"),
+							iCapabilities.iBufferSize,
+							iCapabilities.iChannels,
+							iCapabilities.iEncoding,
+							iCapabilities.iRate);
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdCapabilities"));
+	}
+
+
+/**
+ * Shows the current device configuration.
+ * @params none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdConfig()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdConfig"));
+	TMMFCapabilities currentConfiguration = iDevSound->Config();
+	INFO_PRINTF5(_L("Current device configuration: buffsize=%d, channels=0x%x, encoding=0x%x and rate=0x%x"),
+			currentConfiguration.iBufferSize,
+			currentConfiguration.iChannels,
+			currentConfiguration.iEncoding,
+			currentConfiguration.iRate);
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdConfig"));
+	}
+
+
+/**
+ * Shows an integer representing the maximum gain the device supports.
+ * This is the maximum value which can be passed to CMMFDevSound::SetGain.
+ * @param aSection - The section to read the params from the ini file
+ * @return none
+ */
+
+void CT_CMMFDevSoundData::DoCmdMaxGain(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdMaxGain"));
+	TBool dataOk = ETrue;
+	TInt expectedGainValue;
+	if (!GetIntFromConfig(aSection, KGainValue, expectedGainValue))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KGainValue);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		iGainValue = iDevSound->MaxGain();
+		INFO_PRINTF2(_L("Retrieved maximum gain value: %d"), iGainValue);
+		if (expectedGainValue != iGainValue)
+			{
+			ERR_PRINTF3(_L("Expected gain value %d is different from retrieved gain value %d"), expectedGainValue, iGainValue);
+			SetBlockResult(EFail);
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdMaxGain"));
+	}
+
+/**
+ * Shows an integer representing the maximum volume device supports.
+ * This is the maximum value which can be passed to CMMFDevSound::SetVolume.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+
+void CT_CMMFDevSoundData::DoCmdMaxVolume(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdMaxVolume"));
+	TBool dataOk = ETrue;
+	TInt expectedVolumeValue;
+	if(!GetIntFromConfig(aSection, KVolumeValue, expectedVolumeValue))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KVolumeValue);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		iVolumeValue = iDevSound->MaxVolume();
+		INFO_PRINTF2(_L("Retrieved maximum volume value: %d"), iVolumeValue);
+		if(expectedVolumeValue != iVolumeValue)
+			{
+			ERR_PRINTF3(_L("Expected volume value %d is different from retrieved volume value %d"), expectedVolumeValue, iVolumeValue);
+			SetBlockResult(EFail);
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdMaxVolume"));
+	}
+
+/**
+ * Shows the speaker balance set for playing.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+
+void CT_CMMFDevSoundData::DoCmdGetPlayBalanceL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdGetPlayBalanceL"));
+	TBool dataOk = ETrue;
+	TInt expectedLeftPercentage;
+	if (!GetIntFromConfig(aSection, KLeftPercentage, expectedLeftPercentage))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KLeftPercentage);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TInt expectedRightPercentage;
+	if (!GetIntFromConfig(aSection, KRightPercentage, expectedRightPercentage))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRightPercentage);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		TRAPD(error, iDevSound->GetPlayBalanceL(iLeftPercentage, iRightPercentage));
+		if (error != KErrNone)
+			{
+			ERR_PRINTF2(_L("GetPlayBalanceL left with error %d"), error);
+			SetError(error);
+			}
+		else
+			{
+			INFO_PRINTF3(_L("> Retrieved play balance values are left: %d, right:%d"), iLeftPercentage, iRightPercentage);
+			if (expectedLeftPercentage !=iLeftPercentage)
+				{
+				ERR_PRINTF3(_L("Expected left percentage value %d is different from retrieved value %d"), expectedLeftPercentage, iLeftPercentage);
+				SetBlockResult(EFail);
+				}
+			if (expectedRightPercentage !=iRightPercentage)
+				{
+				ERR_PRINTF3(_L("Expected right percentage value %d is different from retrieved value %d"), expectedRightPercentage, iRightPercentage);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdGetPlayBalanceL"));
+	}
+
+
+/**
+ * Shows the microphone gain balance set for recording.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdGetRecordBalanceL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdGetRecordBalanceL"));
+	TBool dataOk = ETrue;
+	TInt expectedLeftPercentage;
+	if(!GetIntFromConfig(aSection, KLeftPercentage, expectedLeftPercentage))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KLeftPercentage);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TInt expectedRightPercentage;
+	if(!GetIntFromConfig(aSection, KRightPercentage, expectedRightPercentage))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRightPercentage);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		TRAPD(error, iDevSound->GetRecordBalanceL(iLeftPercentage, iRightPercentage));
+		if (error != KErrNone)
+			{
+			ERR_PRINTF2(_L("GetRecordBalanceL left with error %d"), error);
+			SetError(error);
+			}
+		else
+			{
+			INFO_PRINTF3(_L("> Retrieved record balance values are left: %d, right:%d"), iLeftPercentage, iRightPercentage);
+			if(expectedLeftPercentage !=iLeftPercentage)
+				{
+				ERR_PRINTF3(_L("Expected left percentage value %d is different from retrieved value %d"), expectedLeftPercentage, iLeftPercentage);
+				SetBlockResult(EFail);
+				}
+			if(expectedRightPercentage !=iRightPercentage)
+				{
+				ERR_PRINTF3(_L("Expected right ercentage value %d is different from retrieved value %d"), expectedRightPercentage, iRightPercentage);
+				SetBlockResult(EFail);
+				}
+			}
+
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdGetRecordBalanceL"));
+	}
+
+/**
+ * Shows a list of the supported input datatypes that can be sent to DevSound for playing audio.
+ * The datatypes returned are those that the DevSound supports given the priority settings passed
+ * in aPrioritySettings.
+ * @params none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdGetSupportedInputDataTypesL()
+	{
+	TUid outputUid= {0x0};
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdGetSupportedInputDataTypesL"));
+	RArray< TFourCC > supportedDataTypes;
+	TRAPD(error, iDevSound->GetSupportedInputDataTypesL(supportedDataTypes, iPrioritySettings));
+	if (error != KErrNone)
+		{
+		ERR_PRINTF2(_L("GetSupportedInputDataTypesL left with error %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("List of the supported input datatypes that can be sent to DevSound for playing audio."));
+		for (TInt i=0; i<supportedDataTypes.Count(); i++)
+			{
+			TFourCC fourCC = supportedDataTypes[i];
+			TBuf<4> name;
+			for(TInt j=0; j<= KFourCCMaxBitDisplacement; j+=K8Bits)
+				{
+				name.Append((TUint8)(fourCC.FourCC() >> j));
+				}
+			INFO_PRINTF3(_L("Supported Input Data types: 0x%x  %S "), fourCC.FourCC(), &name);
+			UtilityFourCCToHwDeviceUidL(name,EDecoder, outputUid);
+			if(outputUid.iUid != 0)
+				{
+				INFO_PRINTF3(_L("\nHwDevice Uid=0x%08x for %S"),outputUid.iUid,&name);
+				}
+			else
+				{
+				INFO_PRINTF1(_L("Not Found"));
+				}
+			}
+		supportedDataTypes.Reset();
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdGetSupportedInputDataTypesL"));
+	}
+
+/**
+ * Shows a list of the supported output dataypes that can be received from DevSound for
+ * recording audio.  The datatypes returned are those that the DevSound supports given the priority
+ * settings passed in aPrioritySettings.
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdGetSupportedOutputDataTypesL()
+	{
+	TUid outputUid= {0x0};
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdGetSupportedOutputDataTypesL"));
+	RArray< TFourCC > supportedDataTypes;
+	TRAPD(error, iDevSound->GetSupportedOutputDataTypesL(supportedDataTypes, iPrioritySettings));
+	if (error != KErrNone)
+		{
+		ERR_PRINTF2(_L("GetSupportedOutputDataTypesL left with error %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("List of the supported output dataypes that can be received from DevSound for recording audio."));
+		for (TInt i=0; i<supportedDataTypes.Count(); i++)
+			{
+			TFourCC fourCC = supportedDataTypes[i];
+			TBuf<4> name;
+			for(TInt j=0; j<=KFourCCMaxBitDisplacement; j+=K8Bits)
+				{
+				name.Append((TUint8)(fourCC.FourCC() >> j));
+				}
+			INFO_PRINTF3(_L("Supported Output Data types: 0x%x  %S "), fourCC.FourCC(), &name);
+			UtilityFourCCToHwDeviceUidL(name, EEncoder, outputUid);
+			if(outputUid.iUid != 0)
+				{
+				INFO_PRINTF3(_L("\nHwDevice Uid=0x%08x for %S"),outputUid.iUid,&name);
+				}
+			else
+				{
+				INFO_PRINTF1(_L("Not Found"));
+				}
+			}
+		supportedDataTypes.Reset();
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdGetSupportedOutputDataTypesL"));
+	}
+
+/**
+ * Shows the number of samples played
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSamplesPlayed()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSamplesPlayed"));
+	INFO_PRINTF2(_L("Number of samples played so far: %d"),iDevSound->SamplesPlayed());
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSamplesPlayed"));
+	}
+
+/**
+ * Shows the number of samples recorded
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSamplesRecorded()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSamplesRecorded"));
+	INFO_PRINTF2(_L("Number of samples recorded so far: %d"), iDevSound->SamplesRecorded());
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSamplesRecorded"));
+	}
+
+/**
+ * Shows an integer representing the current volume.
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdVolume(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdVolume"));
+	TBool dataOk = ETrue;
+	TInt expectedVolumeValue;
+	if(!GetIntFromConfig(aSection, KVolumeValue, expectedVolumeValue))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KVolumeValue);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		iVolumeValue = iDevSound->Volume();
+		INFO_PRINTF2(_L("Retrieved volume value: %d"), iVolumeValue);
+		if(expectedVolumeValue != iVolumeValue)
+			{
+			ERR_PRINTF3(_L("Expected volume value %d is different from retrieved volume value %d"), expectedVolumeValue, iVolumeValue);
+			SetBlockResult(EFail);
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdVolume"));
+	}
+
+/**
+ * Shows an integer representing the current gain.
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdGain(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdGain"));
+	TBool dataOk = ETrue;
+	TInt expectedGainValue;
+	if(!GetIntFromConfig(aSection, KGainValue, expectedGainValue))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KGainValue);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		iGainValue = iDevSound->Gain();
+		INFO_PRINTF2(_L("Retrieved gain value: %d"), iGainValue);
+		if(expectedGainValue != iGainValue)
+			{
+			ERR_PRINTF3(_L("Expected gain value %d is different from retrieved gain value %d"), expectedGainValue, iGainValue);
+			SetBlockResult(EFail);
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdGain"));
+	}
+
+/**
+ * Shows the number of available pre-defined tone sequences
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdFixedSequenceCount()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdFixedSequenceCount"));
+	INFO_PRINTF2(_L("Number of available pre-defined tone sequences: %d"), iDevSound->FixedSequenceCount());
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdFixedSequenceCount"));
+	}
+
+/**
+ * Shows the name assigned to a specific pre-defined tone sequence.
+ * This is the number of the fixed sequence supported by DevSound by default.
+ * @param aSection -  Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdFixedSequenceName(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdFixedSequenceName"));
+	TBool dataOk =ETrue;
+	TInt sequenceNumber;
+	if(!GetIntFromConfig(aSection, KSequenceNumber, sequenceNumber))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KSequenceNumber);
+		SetBlockResult(EFail);
+		dataOk =EFalse;
+		}
+	if(dataOk)
+		{
+		INFO_PRINTF2(_L("Name assigned to a specific pre-defined tone sequence returned: %S"),
+					&iDevSound->FixedSequenceName(sequenceNumber));
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdFixedSequenceName"));
+	}
+
+
+/**
+ * Configure CMMFDevSound object with the settings in aConfig.
+ * Use this to set sampling rate, encoding and mono/stereo.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetConfigL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetConfigL"));
+
+	TInt rate;
+	INFO_PRINTF1(_L("To use default values run Capabilities before SetConfigL"));
+	if (!GetEnumFromConfig(aSection, KRate, iEnumSampleRate, rate))
+		{
+		INFO_PRINTF2(_L("Rate value was not overwritten, using default value %d."), iCapabilities.iRate);
+		}
+	else
+		{
+		iCapabilities.iRate = rate;
+		}
+
+	TInt encoding;
+	if (!GetIntFromConfig(aSection, KEncoding, encoding))
+		{
+		INFO_PRINTF2(_L("Encoding value was not overwritten, using default value %d."), iCapabilities.iEncoding);
+		}
+	else
+		{
+		iCapabilities.iEncoding = encoding;
+		}
+
+	TInt channels;
+	if (!GetEnumFromConfig(aSection, KChannels, iEnumChannels, channels))
+		{
+		INFO_PRINTF2(_L("Channels value was not overwritten, using default value %d ."), iCapabilities.iChannels);
+		}
+	else
+		{
+		iCapabilities.iChannels = channels;
+		}
+
+	TInt bufferSize;
+	if (!GetIntFromConfig(aSection, KBufferSize, bufferSize))
+		{
+		INFO_PRINTF2(_L("BufferSize value was not overwritten, using default value %d"), iCapabilities.iBufferSize);
+		}
+	else
+		{
+		iCapabilities.iBufferSize = bufferSize;
+		}
+	TRAPD(error,iDevSound->SetConfigL(iCapabilities))
+	if(error != KErrNone)
+		{
+		ERR_PRINTF2(_L("SetConfigL left with error %d"), error);
+		SetError(error);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetConfigL"));
+	}
+
+
+/**
+ * Defines the duration of tone on, tone off and tone pause to be used during the
+ * DTMF tone playback operation.
+ * Supported only during tone playing.
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetDTMFLengths(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetDTMFLengths"));
+	TInt time;
+	TBool dataOk = ETrue;
+	if (!GetIntFromConfig(aSection, KToneOnLength, time))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KToneOnLength);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TTimeIntervalMicroSeconds32 toneOnLength(time);
+
+	if (!GetIntFromConfig(aSection, KToneOffLength, time))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KToneOffLength);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TTimeIntervalMicroSeconds32 toneOffLength(time);
+
+	if (!GetIntFromConfig(aSection, KPauseLength, time))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KPauseLength);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TTimeIntervalMicroSeconds32 pauseLength(time);
+	if(dataOk)
+		{
+		iDevSound->SetDTMFLengths(toneOnLength, toneOffLength, pauseLength);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetDTMFLengths"));
+	}
+
+
+/**
+ * Changes the current recording gain to a specified value.
+ * The gain can be changed before or during recording and is effective
+ * immediately.
+ * @params aSection - Section to read param from the ini file
+ */
+void CT_CMMFDevSoundData::DoCmdSetGain(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetGain"));
+	TInt gainValue = iGainValue;
+	if(!GetIntFromConfig(aSection, KGainValue, gainValue))
+		{
+		INFO_PRINTF1(_L("The Gain value was not found in the ini file, using default value"));
+		}
+	INFO_PRINTF2(_L("Setting gain value to %d"), gainValue);
+	iDevSound->SetGain(gainValue);
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetGain"));
+	}
+
+/**
+ * Sets the speaker balance for playing.
+ * The speaker balance can be changed before or during playback and is
+ * effective immediately.
+ * @param aSection - The section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetPlayBalanceL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetPlayBalanceL"));
+	TInt leftPercentage = iLeftPercentage;
+	if(!GetIntFromConfig(aSection, KLeftPercentage, leftPercentage))
+		{
+		INFO_PRINTF1(_L("The Left percentage was not found in the ini file, using default value"));
+		}
+	TInt rightPercentage = iRightPercentage;
+	if(!GetIntFromConfig(aSection, KRightPercentage, rightPercentage))
+		{
+		INFO_PRINTF1(_L("The Right percentage was not found in the ini file, using default value"));
+		}
+	INFO_PRINTF3(_L("Setting play balance to left: %d, right: %d values"), leftPercentage, rightPercentage);
+	TRAPD(error, iDevSound->SetPlayBalanceL(leftPercentage, rightPercentage));
+	if(error != KErrNone)
+		{
+		ERR_PRINTF2(_L("SetPlayBalanceL left with error %d"), error);
+		SetError(error);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetPlayBalanceL"));
+	}
+
+/**
+ * Defines the priority settings that should be used for this instance.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetPrioritySettings(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetPrioritySettings"));
+	TBool dataOk = ETrue;
+	if(!GetIntFromConfig(aSection, KPriority, iPrioritySettings.iPriority))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KPriority);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TInt preference;
+	if (!GetHexFromConfig(aSection, KPreference, preference))
+		{
+		ERR_PRINTF2(_L("%S parameter was not found in INI file"), &KPreference);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	iPrioritySettings.iPref = (TMdaPriorityPreference)preference;
+	TInt state;
+	if (!GetEnumFromConfig(aSection, KPriorityState, iEnumMode, state))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KPriorityState);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	iPrioritySettings.iState = (TMMFState)state;
+	if(dataOk)
+		{
+		iDevSound->SetPrioritySettings(iPrioritySettings);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetPrioritySettings"));
+	}
+
+/**
+ * Sets the microphone gain balance for recording.
+ * The microphone gain balance can be changed before or during recording and
+ * is effective immediately.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetRecordBalanceL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetRecordBalanceL"));
+	TInt leftPercentage = iLeftPercentage;
+	if (!GetIntFromConfig(aSection, KLeftPercentage, leftPercentage))
+		{
+		INFO_PRINTF1(_L("The Left value was not found in the ini file, using default value"));
+		}
+	TInt rightPercentage = iRightPercentage;
+	if (!GetIntFromConfig(aSection, KRightPercentage, rightPercentage))
+		{
+		INFO_PRINTF1(_L("The Right value was not found in the ini file, using default value"));
+		}
+	INFO_PRINTF3(_L("Setting record balance to left: %d, right: %d values"), leftPercentage, rightPercentage);
+	TRAPD(error, iDevSound->SetRecordBalanceL(leftPercentage, rightPercentage));
+	if (KErrNone != error)
+		{
+		ERR_PRINTF2(_L("SetRecordBalanceL left with error %d"), error);
+		SetError(error);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetRecordBalanceL"));
+	}
+
+/**
+ * Defines the number of times the audio is to be repeated during the tone
+ * playback operation.
+ * A period of silence can follow each playing of a tone. The tone playing can
+ * be repeated indefinitely.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetToneRepeats(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetToneRepeats"));
+	TInt repeatCount;
+	TBool dataOk = ETrue;
+	if (!GetIntFromConfig(aSection, KRepeatCount, repeatCount))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRepeatCount);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+
+	TInt tempValue;
+	if (!GetIntFromConfig(aSection, KRepeatTrailingSilence, tempValue))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRepeatTrailingSilence);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TTimeIntervalMicroSeconds repeatTrailingSilence(tempValue);
+
+	if(dataOk)
+		{
+		iDevSound->SetToneRepeats(repeatCount, repeatTrailingSilence);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetToneRepeats"));
+	}
+
+/**
+ * Defines the period over which the volume level is to rise smoothly from
+ * nothing to the normal volume level.
+ * The function is only available while the tone is playing.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetVolume(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetVolume"));
+	TInt volume = iVolumeValue;
+	if(!GetIntFromConfig(aSection, KVolumeValue, volume))
+		{
+		INFO_PRINTF1(_L("The Volume value was not found in the ini file, using default value"));
+		}
+	INFO_PRINTF2(_L("Setting volume value to %d"), volume);
+	iDevSound->SetVolume(volume);
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetVolume"));
+	}
+
+/**
+ * Defines the loop over which the volume level is to rise smoothly from
+ * nothing to the normal volume level.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetVolumeLoop(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetVolumeLoop"));
+	TInt volLoop;
+	TBool dataOk = ETrue;
+	if (!GetIntFromConfig(aSection, KVolumeLoop, volLoop))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KVolumeLoop);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		TPtrC parVolume;
+		TInt volumeValue;
+		RPointerArray<HBufC> volumeList;
+		for (TInt i=0; i<volLoop; i++)
+			{
+			if (!GetArrayRectFromConfig(aSection, KVolumeList, volumeList))
+				{
+				ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KVolumeList);
+				volumeList.ResetAndDestroy();
+				SetBlockResult(EFail);
+				dataOk = EFalse;
+				}
+			if(dataOk)
+				{
+				for (TInt j=0; j<volumeList.Count(); j++)
+					{
+					parVolume.Set(*volumeList[j]);
+					TLex lex(parVolume);
+					TInt error = lex.Val(volumeValue);
+					if (error != KErrNone)
+						{
+						ERR_PRINTF2(_L("Obtaining volume value failed with error %d"), error);
+						SetError(error);
+						volumeList.ResetAndDestroy();
+						}
+					else
+						{
+						INFO_PRINTF3(_L("Setting volume number %d in the iteration number %d"), j, i);
+						iDevSound->SetVolume(volumeValue);
+						}
+					}
+				}
+			}
+		volumeList.ResetAndDestroy();
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetVolumeLoop"));
+	}
+
+/**
+ * Defines the period over which the volume level is to rise smoothly from
+ * nothing to the normal volume level.
+ * The function is only available while the tone is playing.
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetVolumeRamp(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetVolumeRamp"));
+	TInt tempValue;
+	TBool dataOk = ETrue;
+	if (!GetIntFromConfig(aSection, KRampDuration, tempValue))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRampDuration);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TTimeIntervalMicroSeconds rampDuration(tempValue);
+
+	if(dataOk)
+		{
+		iDevSound->SetVolumeRamp(rampDuration);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetVolumeRamp"));
+	}
+
+/**
+ * Initializes DevSound object for the mode aMode for processing audio data
+ * with hardware device aHWDev and supporting FourCC.
+ * Too Initializes CMMFDevSound object to play and record PCM16 raw audio data
+ * with sampling rate of 8 KHz.
+ * @param aSection - Section to read params from the ini file
+ */
+void CT_CMMFDevSoundData::DoCmdInitializeL(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdInitializeL"));
+	TBool dataOk = ETrue;
+	TInt mode;
+	if (!GetEnumFromConfig(aSection, KMode, iEnumMode, mode))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KMode);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	else
+		{
+		TInt hwDeviceInt;
+		if (!GetHexFromConfig(aSection, KHwDevice, hwDeviceInt))
+			{
+			INFO_PRINTF2(_L("%S parameter was not found in INI file"), &KHwDevice);
+			TPtrC fourCCIniString;
+			if (!GetStringFromConfig(aSection, KFourCC, fourCCIniString))
+				{
+				INFO_PRINTF2(_L("%S parameter was not found in INI file"), &KFourCC);
+				if (dataOk)
+					{
+					INFO_PRINTF1(_L("Initializing DevSound with overload: void InitializeL(MDevSoundObserver &aDevSoundObserver, TMMFState aMode)"));
+					TRAPD(error, iDevSound->InitializeL(*this, (TMMFState)mode));
+					if(KErrNone != error)
+						{
+						ERR_PRINTF2(_L("InitializeL(aMDevSoundObserver, mode) left with error %d"), error);
+						SetError(error);
+						}
+					}
+				}
+			else
+				{
+				if (fourCCIniString.Length() > KTFourCC)
+					{
+					ERR_PRINTF2(_L("FourCC obtained from INI file exceeded the valid length in %d"), fourCCIniString.Length());
+					SetBlockResult(EFail);
+					dataOk = EFalse;
+					}
+				if (dataOk)
+					{
+					TBuf<256> fourCCString;
+					fourCCString.Copy(fourCCIniString);
+					while (fourCCString.Length() < KTFourCC)
+						{
+						fourCCString.Insert(0, _L(" "));
+						}
+					TFourCC fourCC;
+					fourCC = TFourCC(fourCCString[3] << 24 | fourCCString[2] << 16 | fourCCString[1] << 8 | fourCCString[0]);
+					INFO_PRINTF1(_L("Initializing DevSound with overload: void InitializeL(MDevSoundObserver &aDevSoundObserver, TFourCC aDesiredFourCC, TMMFState aMode)"));
+					TRAPD(error, iDevSound->InitializeL(*this, fourCC, (TMMFState)mode));
+					if(KErrNone!=error)
+						{
+						ERR_PRINTF2(_L("InitializeL(aMDevSoundObserver, fourCC, mode) left with error %d"), error);
+						ERR_PRINTF2(_L(" %S Not supported in this device"), &fourCCString);
+						SetError(error);
+						}
+					}
+				}
+			}
+		else
+			{
+			if (dataOk)
+				{
+				TUid hwDevice;
+				hwDevice.iUid = hwDeviceInt;
+				INFO_PRINTF1(_L("Initializing DevSound with overload: void InitializeL(MDevSoundObserver &aDevSoundObserver, TUid aHWDev, TMMFState aMode)"));
+				TRAPD(error, iDevSound->InitializeL(*this, hwDevice, (TMMFState)mode));
+				if(KErrNone != error)
+					{
+					ERR_PRINTF2(_L("InitializeL(aMDevSoundObserver, hwDevice, mode) left with error %d"), error);
+					SetError(error);
+					}
+				}
+			}
+		}
+
+	if (dataOk)
+		{
+		IncOutstanding();
+        iAsyncErrorIndex_initialize = aAsyncErrorIndex;
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdInitializeL"));
+	}
+
+
+/**
+ * Initializes the audio device and starts playing the DTMF string aDTMFString.
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdPlayDTMFStringL(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdPlayDTMFStringL"));
+	TBool dataOk = ETrue;
+	TPtrC dtmfString;
+	if (!GetStringFromConfig(aSection, KDTMFString, dtmfString) )
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDTMFString);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		TRAPD( error, iDevSound->PlayDTMFStringL(dtmfString) );
+		if(error != KErrNone)
+			{
+			ERR_PRINTF2(_L("Play DTMF string failed with error: %d "), error);
+			SetError(error);
+			}
+		else
+			{
+            iAsyncErrorIndex_tone = aAsyncErrorIndex;
+			IncOutstanding();
+			}
+		}
+
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdPlayDTMFStringL"));
+	}
+
+/**
+ * Plays data in the buffer at the current volume.
+ * @param
+ * @return
+ */
+void CT_CMMFDevSoundData::DoCmdPlayData()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdPlayData"));
+	PlayData();
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdPlayData"));
+	}
+
+/**
+ * Helper for the DoCmdPlayData command
+ */
+void CT_CMMFDevSoundData::PlayData()
+	{
+	INFO_PRINTF1(_L("CT_CMMFDevSoundData::PlayData()"));
+	iDevSound->PlayData();
+	}
+
+/**
+ * Initializes audio device and starts playing a dual tone.
+ * The generated tone consists of two sine waves of different frequencies summed together.
+ * Dual Tone is played with the specified frequencies and for the specified duration.
+ * @param aSection - Section to read params from the ini file.
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdPlayDualToneL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdPlayDualToneL"));
+	TBool dataOk = ETrue;
+	TInt frequencyOne;
+	if (!GetIntFromConfig(aSection, KFrequencyOne, frequencyOne) )
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFrequencyOne);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+
+	TInt frequencyTwo;
+	if (!GetIntFromConfig(aSection, KFrequencyTwo, frequencyTwo) )
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFrequencyTwo);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+
+	TInt duration;
+	if (!GetIntFromConfig(aSection, KDuration, duration) )
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDuration);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		TRAPD( error, iDevSound->PlayDualToneL(frequencyOne, frequencyTwo, duration) );
+		if(error != KErrNone)
+			{
+			ERR_PRINTF2(_L("Play dual tone failed with error %d"), error);
+			SetError(error);
+			}
+		else
+			{
+			IncOutstanding();
+			}
+		}
+
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdPlayDualToneL"));
+	}
+
+
+/**
+ * Initializes the audio device and starts the play process.
+ *
+ * This function queries and acquires the audio policy before initializing audio device. If there was
+ * an error during policy initialization, PlayError() function will be called on    the observer with
+ * error code KErrAccessDenied, otherwise BufferToBeFilled() function will be called with a buffer
+ * reference. After reading data into the buffer reference passed, the client should call PlayData() to play data.
+ *
+ * The amount of data that can be played is specified in CMMFBuffer::RequestSize(). Any data that is read into
+ * buffer beyond this size will be ignored.
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdPlayInitL(const TInt aAsyncErrorIndex)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdPlayInitL"));
+	TRAPD(error, iDevSound->PlayInitL());
+	if (error != KErrNone)
+		{
+		ERR_PRINTF2(_L("PlayInitL left with error %d"), error);
+		SetError(error);
+		}
+	else
+		{
+        iAsyncErrorIndex_play = aAsyncErrorIndex;
+		IncOutstanding();
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdPlayInitL"));
+	}
+
+/**
+ * Initializes the audio device and starts playing a tone. The tone is played with the
+ * frequency and duration specified.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdPlayToneL(const TTEFSectionName& aSection,  const TInt aAsyncErrorIndex)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdPlayToneL"));
+	TBool dataOk = ETrue;
+	TInt frequency;
+	if (!GetIntFromConfig(aSection, KFrequency, frequency))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFrequency);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+
+	TInt duration;
+	if (!GetIntFromConfig(aSection, KDuration, duration))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDuration);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		TRAPD(error, iDevSound->PlayToneL(frequency, duration));
+		if (error != KErrNone)
+			{
+			ERR_PRINTF2(_L("Play tone failed with error %d"), error);
+			SetError(error);
+			}
+		else
+			{
+            iAsyncErrorIndex_tone = aAsyncErrorIndex;
+			IncOutstanding();
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdPlayToneL"));
+	}
+
+/**
+ * Initializes the audio device and starts playing a tone sequence.
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdPlayToneSequenceL(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdPlayToneSequenceL"));
+	TBool dataOk = ETrue;
+	TPtrC toneFileParameter;
+	if (!GetStringFromConfig(aSection, KFilename, toneFileParameter))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFilename);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		TInt error = iToneFile.Open(iFs, toneFileParameter, EFileRead);
+		if (error != KErrNone)
+			{
+			ERR_PRINTF2(_L("Open file failed with error %d"), error);
+			SetError(EFail);
+			}
+		else
+			{
+			error = iToneFile.Read(iToneSequence);
+			if (error != KErrNone)
+				{
+				ERR_PRINTF2(_L("Read file failed with error %d"), error);
+				SetError(EFail);
+				}
+			else
+				{
+				TRAP(error, iDevSound->PlayToneSequenceL(iToneSequence));
+				if (error != KErrNone)
+					{
+					ERR_PRINTF2(_L("Play tone sequence failed with error %d"), error);
+					SetError(error);
+					}
+				else
+					{
+                    iAsyncErrorIndex_tone = aAsyncErrorIndex;
+					IncOutstanding();
+					}
+				}
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdPlayToneSequenceL"));
+	}
+
+/**
+ * Contine the process of recording.
+ *
+ * Once the buffer is filled with recorded  data, the Observer gets a reference to the buffer along
+ * with the callback function BufferToBeEmptied(). After processing the buffer (copying over to a
+ * different buffer or writing to file) the client should call this function to continue the
+ * recording process.
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdRecordData()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdRecordData"));
+	RecordData();
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdRecordData"));
+	}
+
+/**
+ * Helper method to DoCmdRecordData command
+ */
+void CT_CMMFDevSoundData::RecordData()
+	{
+	iDevSound->RecordData();
+	}
+
+/**
+ * Initializes audio device and starts the recording process.
+ *
+ * This command queries and acquires the audio policy before initializing audio device. If there
+ * was an error during policy initialization, RecordError() function will be called on the observer
+ * with error code KErrAccessDenied, otherwise BufferToBeEmptied()  function will be called with a
+ * buffer reference. This buffer contains recorded  or encoded data. After processing data in the
+ * buffer reference passed, the client should call RecordData() to continue recording process.
+ *
+ * The amount of data that is available is specified in CMMFBuffer::RequestSize().
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdRecordInitL(const TInt aAsyncErrorIndex)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdRecordInitL"));
+    iAsyncErrorIndex_record = aAsyncErrorIndex;
+	TRAPD(error, iDevSound->RecordInitL());
+	if (error != KErrNone)
+		{
+		ERR_PRINTF2(_L("RecordInitL left with error %d"), error);
+		SetError(error);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdRecordInitL"));
+	}
+
+
+/**
+ * Conceal an error
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdUtilityErrorConceal()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdErrorConceal"));
+	iErrorConceal=ETrue;
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdErrorConceal"));
+	}
+
+/**
+ * Stop an audio file
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdStop(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdStop"));
+	TBool pause;
+	if(!GetBoolFromConfig(aSection,KPause,pause))
+		{
+		INFO_PRINTF1(_L("The DoCmdStop command will be execute"));
+		pause = EFalse;
+		}
+	iPaused=pause;
+	if(iPaused)
+		{
+		INFO_PRINTF1(_L("a Pause was required"));
+		}
+	Stop();
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdStop"));
+	}
+
+
+
+
+/**
+ * Utility for get the HwDevice for play and recording
+ */
+
+void CT_CMMFDevSoundData::UtilityFourCCToHwDeviceUidL(const TDesC& aFourCC, THwDeviceType aType, TUid& aHwDeviceUid)
+	{
+	TPtrC8 fourCCPtr(0,0);
+	TPtrC8 fourCCP16Ptr(0,0);
+	RImplInfoPtrArray impArray;
+	CleanupResetAndDestroyPushL(impArray);
+	REComSession::ListImplementationsL(TUid::Uid(KMmfUidPluginInterfaceHwDevice), impArray);
+	TBuf<KHwDeviceDefaultDataLength> datatype;
+	for(TInt i = 0; i < impArray.Count(); ++i)
+		{
+		CImplementationInformation& entry = *(impArray[i]);
+		// Validate lenght
+		if (entry.DataType().Length() == KHwDeviceDefaultDataLength)
+			{
+			INFO_PRINTF2(_L("Implementation UID=0x%08x"),entry.ImplementationUid());
+			datatype.Copy(entry.DataType());
+			INFO_PRINTF2(_L("Default data (fourCCs)=%S"), &datatype);
+			// Extract FourCC
+			if(aType == EDecoder)
+				{
+				fourCCPtr.Set(entry.DataType().Left(KFourCCLength));
+				fourCCP16Ptr.Set(entry.DataType().Right(KFourCCLength));
+				}
+			else if (aType == EEncoder)
+				{
+				fourCCPtr.Set(entry.DataType().Right(KFourCCLength));
+				fourCCP16Ptr.Set(entry.DataType().Left(KFourCCLength));
+				}
+			// Compare FourCC
+			TBuf16<4> foundFourCC;
+			foundFourCC.Copy(fourCCPtr);
+			if(aFourCC.CompareF(foundFourCC) == 0)
+				{
+				aHwDeviceUid = entry.ImplementationUid();
+				break;
+				}
+			}
+		}
+	CleanupStack::PopAndDestroy(&impArray);
+	REComSession::FinalClose();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/src/T_CRestrictedAudioOutputData.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,418 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "t_crestrictedaudiooutputdata.h"
+
+/*@{*/
+//Command literals 
+_LIT(KCmdNewL, 									"NewL");
+_LIT(KCmdDestructor, 								"~");
+_LIT(KCmdAppendAllowedOutput, 						"AppendAllowedOutput");
+_LIT(KCmdRemoveAllowedOutput, 						"RemoveAllowedOutput");
+_LIT(KCmdGetAllowedOutput, 						"GetAllowedOutput");
+_LIT(KCmdGetAllowedOutputCount, 					"GetAllowedOutputCount");
+_LIT(KCmdReset, 									"Reset");
+_LIT(KCmdCommit, 									"Commit");
+/*@}*/
+
+/*@{*/
+//INI Section name literals 
+_LIT(KOutput, 									"Output");
+_LIT(KIndex, 									"Index");
+_LIT(KDevSoundInstanceName, 					"DevSoundInstanceName");
+/*@}*/
+
+/*@{*/
+//Enumeration Literals 
+_LIT(KEAllowAllAudio, 							"EAllowAllAudio");
+_LIT(KEAllowAudioAnalog, 						"EAllowAudioAnalog");
+_LIT(KEAllowAudioFMTransmitter, 				"EAllowAudioFMTransmitter");
+_LIT(KEAllowAudioBtHFPHSP, 						"EAllowAudioBtHFPHSP");
+_LIT(KEAllowAudioBtA2DP, 						"EAllowAudioBtA2DP");
+_LIT(KEAllowAudioUplink, 						"EAllowAudioUplink");
+_LIT(KEAllowAudioUsb, 							"EAllowAudioUsb");
+_LIT(KEAllowAudioRecording, 					"EAllowAudioRecording");
+_LIT(KEAllowVisualization, 						"EAllowVisualization");
+/*@}*/
+
+const CDataWrapperBase::TEnumEntryTable CT_CRestrictedAudioOutputData::iEnumAllowedOutputPreference[]=
+	{
+	{ KEAllowAllAudio, CRestrictedAudioOutput::EAllowAllAudio},
+	{ KEAllowAudioAnalog, CRestrictedAudioOutput::EAllowAudioAnalog},
+	{ KEAllowAudioFMTransmitter, CRestrictedAudioOutput::EAllowAudioFMTransmitter},
+	{ KEAllowAudioBtHFPHSP, CRestrictedAudioOutput::EAllowAudioBtHFPHSP},
+	{ KEAllowAudioBtA2DP, CRestrictedAudioOutput::EAllowAudioBtA2DP},
+	{ KEAllowAudioUplink, CRestrictedAudioOutput::EAllowAudioUplink},
+	{ KEAllowAudioUsb, CRestrictedAudioOutput::EAllowAudioUsb},
+	{ KEAllowAudioRecording, CRestrictedAudioOutput::EAllowAudioRecording},
+	{ KEAllowVisualization, CRestrictedAudioOutput::EAllowVisualization}
+	};
+
+/**
+ * Public destructor
+ */
+CT_CRestrictedAudioOutputData::~CT_CRestrictedAudioOutputData()
+	{
+	DestroyData();
+	}
+
+/**
+ * Two phase constructor
+ *
+ * @leave	system wide error
+ */
+CT_CRestrictedAudioOutputData* CT_CRestrictedAudioOutputData::NewL()
+	{
+	CT_CRestrictedAudioOutputData* ret = new (ELeave) CT_CRestrictedAudioOutputData();
+	return ret;
+	}
+
+/**
+ * Return a pointer to the object that the data wraps
+ *
+ * @return	pointer to the object that the data wraps
+ */
+TAny* CT_CRestrictedAudioOutputData::GetObject()
+	{
+	return iRestrictedAudioOutput;
+	}
+
+/**
+ * Helper destructor
+ */
+void CT_CRestrictedAudioOutputData::DestroyData()
+	{		
+	if (iRestrictedAudioOutput)
+		{
+		delete iRestrictedAudioOutput;
+		iRestrictedAudioOutput = NULL;
+		}
+	}
+/**
+ * Process a command read from the Ini file
+ * @param aCommand 			The command to process
+ * @param aSection			The section get from the *.ini file of the project T_Wlan
+ * @param aAsyncErrorIndex	Command index dor async calls to returns errors to
+ * @return TBool			ETrue if the command is process
+ * @leave					system wide error
+ */
+TBool CT_CRestrictedAudioOutputData::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt /*aAsyncErrorIndex*/)
+	{
+	TBool ret = ETrue;
+	
+	if (aCommand == KCmdNewL)
+		{
+		DoCmdNewL(aSection);
+		}
+	else if (aCommand == KCmdDestructor)
+		{
+		DoCmdDestructor();
+		}
+	else if (aCommand == KCmdAppendAllowedOutput)
+		{
+		DoCmdAppendAllowedOutput(aSection);
+		}
+	else if (aCommand == KCmdRemoveAllowedOutput)
+		{
+		DoCmdRemoveAllowedOutput(aSection);
+		}
+	else if (aCommand == KCmdGetAllowedOutput)
+		{
+		DoCmdGetAllowedOutput(aSection);
+		}
+	else if (aCommand == KCmdGetAllowedOutputCount)
+		{
+		DoCmdGetAllowedOutputCount();
+		}
+	else if (aCommand == KCmdReset)
+		{
+		DoCmdReset();
+		}
+	else if (aCommand == KCmdCommit)
+		{
+		DoCmdCommit();
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Unknown command"));
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+/**
+ * Create a new instance of CRestrictedAudioOutput
+ * @param aSection - Section to read from the ini file
+ * @return void
+ */
+void CT_CRestrictedAudioOutputData::DoCmdNewL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CRestrictedAudioOutputData::DoCmdNewL()"));
+	DestroyData();
+	TPtrC devSoundInstanceName;
+	if (!GetStringFromConfig(aSection, KDevSoundInstanceName, devSoundInstanceName))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDevSoundInstanceName);
+    	SetBlockResult(EFail);
+		}
+	else
+		{
+		CMMFDevSound* mMFDevSound = static_cast<CMMFDevSound*>(GetDataObjectL(devSoundInstanceName));		
+		TInt error;
+		if ( !iRestrictedAudioOutput )
+	        {
+	    	if ( mMFDevSound )
+	    		{
+	    		CleanupStack::PushL(mMFDevSound);
+	            iRestrictedAudioOutput = (CRestrictedAudioOutput*)mMFDevSound->CustomInterface(KUidRestrictedAudioOutput);
+	    	    if ( iRestrictedAudioOutput == NULL )
+	    	        {
+	    			ERR_PRINTF1(_L("Failed to create RestrictedAudioOutput"));
+	    			error = KErrNotFound;
+	    			SetError(error);
+	    	        }
+	    	    else
+	    	    	{
+	    	    	INFO_PRINTF1(_L("RestrictedAudioOutput created"));
+		    		CleanupStack::Pop(mMFDevSound);
+	    	    	}	    		
+	    	    }
+	    	else 
+	    	    {
+				ERR_PRINTF1(_L("DevSound not ready"));
+				error = KErrNotReady;
+				SetError(error);
+	    	    }    	
+	        }
+		INFO_PRINTF1(_L("*END*CT_CRestrictedAudioOutputData::DoCmdNewL()"));
+		}	
+	}
+
+/**
+ * Delete an instance of CRestrictedAudioOutput
+ * @param
+ * @return void
+ */
+void CT_CRestrictedAudioOutputData::DoCmdDestructor()
+	{
+	INFO_PRINTF1(_L("*START*CT_CRestrictedAudioOutputData::DoCmdDestructor()"));
+	DestroyData();
+	INFO_PRINTF1(_L("*END*CT_CRestrictedAudioOutputData::DoCmdDestructor()"));
+	}
+
+/**
+ * Appends an allowed output to the existing list.
+ * @param aSection - The section to read from the ini file
+ * @return void
+ */
+void CT_CRestrictedAudioOutputData::DoCmdAppendAllowedOutput(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CRestrictedAudioOutputData::DoCmdAppendAllowedOutput()"));	
+	TInt output;
+	if ( !GetEnumFromConfig(aSection, KOutput, iEnumAllowedOutputPreference, output) )
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KOutput);
+    	SetBlockResult(EFail);
+		}
+	else
+		{
+		TInt error;
+		error = iRestrictedAudioOutput->AppendAllowedOutput((CRestrictedAudioOutput::TAllowedOutputPreference) output);
+		
+		if ( (error!=KErrNone) && (error!=KErrAlreadyExists) )
+			{
+			ERR_PRINTF2(_L("Error in appending allowed output. Error: %d"), error);
+			SetError(error);
+			}
+		else
+			{
+			INFO_PRINTF2(_L("Allowed output 0x%x appended"), (CRestrictedAudioOutput::TAllowedOutputPreference) output);
+			INFO_PRINTF1(_L("*END*CT_CRestrictedAudioOutputData::DoCmdAppendAllowedOutput()"));
+			}		
+		}
+	}
+
+/**
+ * Removes an allowed output from the existing list.
+ * @param aSection - The section to read from the ini file
+ * @return void
+ */
+void CT_CRestrictedAudioOutputData::DoCmdRemoveAllowedOutput(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CRestrictedAudioOutputData::DoCmdRemoveAllowedOutput()"));
+    TInt output;
+	if(!GetEnumFromConfig(aSection, KOutput, iEnumAllowedOutputPreference, output))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KOutput);
+    	SetBlockResult(EFail);
+		}
+	else
+		{
+		TInt error;
+		error = iRestrictedAudioOutput->RemoveAllowedOutput((CRestrictedAudioOutput::TAllowedOutputPreference) output);
+		if (error != KErrNone)
+			{
+			ERR_PRINTF2(_L("Error in removing allowed output. Error: %d"), error);
+			SetError(error);
+			}
+		else
+			{
+			INFO_PRINTF2(_L("Allowed output 0x%x removed"), (CRestrictedAudioOutput::TAllowedOutputPreference) output);
+			INFO_PRINTF1(_L("*END*CT_CRestrictedAudioOutputData::DoCmdRemoveAllowedOutput()"));
+			}	
+		}
+	}
+
+/**
+ * Gets a reference to an allowed output located at a specified position
+ * within the list.
+ * @param aSection - The section to read from the ini file
+ * @return void
+ */
+void CT_CRestrictedAudioOutputData::DoCmdGetAllowedOutput(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CRestrictedAudioOutputData::DoCmdGetAllowedOutput()"));
+	TInt index;
+	if ( !GetIntFromConfig(aSection, KIndex, index) )
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KIndex);
+    	SetBlockResult(EFail);
+		}
+	else
+		{
+		TInt error;
+	    CRestrictedAudioOutput::TAllowedOutputPreference allowedOutput;
+		error = iRestrictedAudioOutput->GetAllowedOutput(index, allowedOutput);
+		if ( error != KErrNone ) 
+			{
+			ERR_PRINTF2(_L("Error in getting allowed output. Error: %d"), error);
+			SetError(error);
+			}
+		else
+			{
+			switch (allowedOutput)	
+				{
+				case CRestrictedAudioOutput::EAllowAllAudio:
+					INFO_PRINTF1(_L("AllowAllAudio"));
+				break;
+				case CRestrictedAudioOutput::EAllowAudioAnalog:
+					INFO_PRINTF1(_L("AllowAudioAnalog"));
+				break;
+				case CRestrictedAudioOutput::EAllowAudioFMTransmitter:
+					INFO_PRINTF1(_L("AllowAudioFMTransmitter"));
+				break;
+				case CRestrictedAudioOutput::EAllowAudioBtHFPHSP:
+					INFO_PRINTF1(_L("AllowAudioBtHFPHSP"));
+				break;
+				case CRestrictedAudioOutput::EAllowAudioBtA2DP:
+					INFO_PRINTF1(_L("AllowAudioBtA2DP"));
+				break;
+				case CRestrictedAudioOutput::EAllowAudioUplink:
+					INFO_PRINTF1(_L("AllowAudioUplink"));
+				break;
+				case CRestrictedAudioOutput::EAllowAudioUsb:
+					INFO_PRINTF1(_L("AllowAudioUsb"));
+				break;
+				case CRestrictedAudioOutput::EAllowAudioRecording:
+					INFO_PRINTF1(_L("AllowAudioRecording"));
+				break;
+				case CRestrictedAudioOutput::EAllowVisualization:
+					INFO_PRINTF1(_L("AllowVisualization"));
+				break;
+				default:
+					INFO_PRINTF2(_L("Unknown output 0x%x"), allowedOutput);
+				}
+			INFO_PRINTF1(_L("*END*CT_CRestrictedAudioOutputData::DoCmdGetAllowedOutput()"));
+			}		
+		}	
+	}
+	
+
+/**
+ * Gets the number of allowed objects in the array. *
+ * @param 
+ * @return void
+ */
+void CT_CRestrictedAudioOutputData::DoCmdGetAllowedOutputCount()
+	{
+	INFO_PRINTF1(_L("*START*CT_CRestrictedAudioOutputData::DoCmdGetAllowedOutputCount()"));
+	TInt error, size;
+	error = iRestrictedAudioOutput->GetAllowedOutputCount(size);
+	if(error != KErrNone)
+		{
+		ERR_PRINTF2(_L("Error in getting allowed output count. Error: %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Allowed output count: %d"), size);	
+		INFO_PRINTF1(_L("*END*CT_CRestrictedAudioOutputData::DoCmdGetAllowedOutputCount()"));
+		}	
+	}
+
+/**
+ * Empties the list, so that it is ready to be reused.
+ *
+ * @param
+ * @return void
+ */
+void CT_CRestrictedAudioOutputData::DoCmdReset()
+	{
+	INFO_PRINTF1(_L("*START*CT_CRestrictedAudioOutputData::DoCmdReset()"));
+	TInt error;
+    error = iRestrictedAudioOutput->Reset();
+    if (error!=KErrNone)
+        {
+		ERR_PRINTF2(_L("Error in reset. Error: %d"), error);
+		SetError(error);
+        }
+    else
+    	{
+    	INFO_PRINTF1(_L("Reset successfully"));
+        INFO_PRINTF1(_L("*END*CT_CRestrictedAudioOutputData::DoCmdReset()"));
+    	}    
+	}
+
+
+/**
+ * Applies settings cached locally and commits.
+ *
+ * This function can only be called when the DevSound instance is in Idle OR
+ * Stopped state.
+ * @param
+ * @return
+ */
+
+void CT_CRestrictedAudioOutputData::DoCmdCommit()
+	{
+	INFO_PRINTF1(_L("*START*CT_CRestrictedAudioOutputData::DoCmdCommit()"));
+    TInt error;
+    error = iRestrictedAudioOutput->Commit();
+    if (error != KErrNone)
+        {
+		ERR_PRINTF2(_L("Error in Commit. Error: %d"), error);
+		SetError(error);
+        }
+    else
+    	{
+    	INFO_PRINTF1(_L("Commit successfully"));
+    	INFO_PRINTF1(_L("*END*CT_CRestrictedAudioOutputData::DoCmdCommit()"));
+    	}
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/src/T_CTelephonyAudioRoutingData.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,531 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "t_ctelephonyaudioroutingdata.h"
+
+const TUid EEarPiece		 				= TUid::Uid(0x02);
+const TUid EHeadSet			 				= TUid::Uid(0x04);
+/*@{*/
+//Command literals 
+_LIT(KCmdNewL, 								"NewL");
+_LIT(KCmdDestructor, 							"~");
+_LIT(KCmdAvailableOutputs, 					"AvailableOutputs");
+_LIT(KCmdOutput, 								"Output");
+_LIT(KCmdPreviousOutput, 						"PreviousOutput");
+_LIT(KCmdSetShowNote, 							"SetShowNote");
+_LIT(KCmdGetShowNote,							"GetShowNote");
+_LIT(KCmdSetOutputL, 							"SetOutputL");
+/*@}*/
+
+/*@{*/
+//INI Section name literals 
+_LIT(KMode, 								"Mode");
+/*@}*/
+
+/*@{*/
+//Enumeration Literals 
+_LIT(KENotActive, 							"ENotActive");
+_LIT(KENone, 								"ENone");
+_LIT(KEHandset, 							"EHandSet");
+_LIT(KELoudSpeaker, 						"ELoudSpeaker");
+_LIT(KEWiredAudioAccessory, 				"EWiredAudioAccessory");
+_LIT(KEBTAudioAccessory, 					"EBTAudioAccessory");
+_LIT(KETTY, 								"ETTY");
+_LIT(KEEarPiece,							"EEarPiece");
+_LIT(KEHeadSet,								"EHeadSet");
+/*@}*/
+
+const CDataWrapperBase::TEnumEntryTable CT_CTelephonyAudioRoutingData::iEnumOutput[] = 
+	{ 
+	{ KENotActive,	CTelephonyAudioRouting::ENotActive},
+	{ KENone, CTelephonyAudioRouting::ENone},
+	{ KEHandset, CTelephonyAudioRouting::EHandset},
+	{ KEEarPiece, EEarPiece.iUid},
+	{ KELoudSpeaker, CTelephonyAudioRouting::ELoudspeaker},
+	{ KEWiredAudioAccessory, CTelephonyAudioRouting::EWiredAudioAccessory},
+	{ KEHeadSet,	EHeadSet.iUid},
+	{ KEBTAudioAccessory, CTelephonyAudioRouting::EBTAudioAccessory},
+	{ KETTY, CTelephonyAudioRouting::ETTY}
+	};
+
+/**
+ * Public destructor
+ */
+CT_CTelephonyAudioRoutingData::~CT_CTelephonyAudioRoutingData()
+	{
+	DestroyData();
+	}
+
+/**
+ * Two phase constructor
+ * @leave	system wide error
+ */
+
+CT_CTelephonyAudioRoutingData* CT_CTelephonyAudioRoutingData::NewL()
+	{
+	CT_CTelephonyAudioRoutingData* ret = new (ELeave) CT_CTelephonyAudioRoutingData();
+	return ret;
+	}
+
+/**
+ * Private constructor. First phase construction
+ */
+
+CT_CTelephonyAudioRoutingData::CT_CTelephonyAudioRoutingData()
+	:
+	iTelephonyAudioRouting (NULL)
+	{
+	}
+
+
+void CT_CTelephonyAudioRoutingData::DestroyData()
+{
+if(iTelephonyAudioRouting)
+	{
+	delete iTelephonyAudioRouting;
+	iTelephonyAudioRouting = NULL;
+	}
+}
+
+
+/**
+ * Return a pointer to the object that the data wraps
+ * @return	pointer to the object that the data wraps
+ */
+TAny* CT_CTelephonyAudioRoutingData::GetObject()
+	{
+	return iTelephonyAudioRouting;
+	}
+
+
+/**
+ * Process a command read from the Ini file
+ * @param aCommand 			The command to process
+ * @param aSection			The section get from the *.ini file of the project T_Wlan
+ * @param aAsyncErrorIndex	Command index dor async calls to returns errors to
+ * @return TBool			ETrue if the command is process
+ * @leave					system wide error
+ */
+
+TBool CT_CTelephonyAudioRoutingData::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt /*aAsyncErrorIndex*/)
+	{
+	TBool ret = ETrue;
+	
+	if (aCommand == KCmdNewL)
+		{
+		DoCmdNewL();
+		}
+	else if (aCommand == KCmdDestructor)
+		{
+		DoCmdDestructor();
+		}
+	else if (aCommand == KCmdAvailableOutputs)
+		{
+		DoCmdAvailableOutputs();
+		}
+	else if (aCommand == KCmdOutput)
+		{
+		DoCmdOutput();
+		}
+	else if (aCommand == KCmdPreviousOutput)
+		{
+		DoCmdPreviousOutput();
+		}
+	else if (aCommand == KCmdSetShowNote)
+		{
+		DoCmdSetShowNote(aSection);
+		}
+	else if (aCommand == KCmdGetShowNote)
+		{
+		DoCmdGetShowNote();
+		}
+	else if (aCommand == KCmdSetOutputL)
+		{
+		DoCmdSetOutputL(aSection);
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Unknown command"));
+		ret=EFalse;
+		}
+	
+	return ret;	
+	}
+
+/**
+ * Signals that available audio outputs have changed. 
+ * @param CTelephonyAudioRouting& aTelephonyAudioRouting reference.
+ * @return void
+ */
+void CT_CTelephonyAudioRoutingData::AvailableOutputsChanged( CTelephonyAudioRouting& /*aTelephonyAudioRouting*/)
+	{
+	INFO_PRINTF1(_L("CT_CTelephonyAudioRoutingData::AvailableOutputsChanged"));
+	}
+
+/**
+ * Signals that current output has changed. 
+ * @param CTelephonyAudioRouting& aTelephonyAudioRouting reference.
+ * @return void
+ */
+void CT_CTelephonyAudioRoutingData::OutputChanged( CTelephonyAudioRouting& /*aTelephonyAudioRouting*/)
+	{
+	INFO_PRINTF1(_L("CT_CTelephonyAudioRoutingData::OutputChanged"));
+	}
+
+/**
+ * Signals that CTelephonyAudioRouting::SetOutputL request issued by this
+ * application (on CTelephonyAudioRouting instance) was serviced by the
+ * Adaptation.
+ * Only when the observer receives this callback, the application should consider
+ * CTelephonyAudioRouting::SetOutputL message to be completed.
+ *
+ * @param CTelephonyAudioRouting& aTelephonyAudioRouting reference.
+ * @param aError KErrNone if output requested by application is set, else
+ *        system-wide error code.
+ * @return void
+ */
+void CT_CTelephonyAudioRoutingData::SetOutputComplete( CTelephonyAudioRouting& /*aTelephonyAudioRouting*/, TInt aError)
+	{
+	DecOutstanding();
+	if(aError != KErrNone)
+		{
+		INFO_PRINTF2(_L("Could not set output complete: %d"), aError);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("CT_CTelephonyAudioRoutingData::SetOutputComplete"));
+		}
+	}
+
+/**
+ * Create an instance of CTelephonyAudioRouting
+ * @param 
+ * @return
+ */
+void CT_CTelephonyAudioRoutingData::DoCmdNewL()
+	{
+	INFO_PRINTF1(_L("*START*CT_CTelephonyAudioRoutingData::DoCmdNewL"));
+	DestroyData();
+	TRAPD(error,iTelephonyAudioRouting = CTelephonyAudioRouting::NewL(*this));
+	if(error!=KErrNone)
+		{
+		ERR_PRINTF2(_L("> Could not create CTelephonyAudioRouting: %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("CTelephonyAudioRouting created successfully."));
+		INFO_PRINTF1(_L("*END*CT_CTelephonyAudioRoutingData::DoCmdNewL"));
+		}	
+	}
+
+/**
+ * Delete the instance of CTelephonyAudioRouting
+ * @param
+ * @return
+ */
+void CT_CTelephonyAudioRoutingData::DoCmdDestructor()
+	{
+	INFO_PRINTF1(_L("*START*CT_CTelephonyAudioRoutingData::DoCmdDestructor"));
+	DestroyData();
+	INFO_PRINTF1(_L("*END*CTelephonyAudioRouting destroyed successfully."));
+	}
+
+
+/**
+* Shows the array of currently available outputs.
+* The array contains list of following outputs depending on whether the
+* output is available or not at the time of query:
+*  - EHandset
+*  - ELoudspeaker
+*  - EWiredAudioAccessory,
+*  - EWiredAccessory,
+*  - EBTAudioAccessory
+*  - ETTY
+* Audio can be routed to any of the available outputs in the list.
+* @param 
+* @return 
+*/
+
+void CT_CTelephonyAudioRoutingData::DoCmdAvailableOutputs()
+	{
+	INFO_PRINTF1(_L("*START*CT_CTelephonyAudioRoutingData::DoCmdAvailableOutputs"));	
+	TInt availableOutput;
+	const TArray<CTelephonyAudioRouting::TAudioOutput>& availableOutputsArray(iTelephonyAudioRouting->AvailableOutputs());
+	
+	if (availableOutputsArray.Count()==0)
+		{
+		INFO_PRINTF1(_L("None available output"));
+		}
+	else
+		{
+		TBuf<80> msg;
+		for (TInt i=0;i<availableOutputsArray.Count();i++)
+			{
+			availableOutput = availableOutputsArray[i];
+			switch (availableOutput)
+				{
+				case CTelephonyAudioRouting::ENotActive:
+					msg.Append(_L("not active"));
+				break;
+				case CTelephonyAudioRouting::ENone:
+					msg.Append(_L("none"));
+				break;
+				case CTelephonyAudioRouting::EHandset:
+					msg.Append(_L("handset"));
+				break;
+				case CTelephonyAudioRouting::ELoudspeaker:
+					msg.Append(_L("loudspeaker"));
+				break;
+				case CTelephonyAudioRouting::EWiredAudioAccessory:
+					msg.Append(_L("wired acc"));
+				break;
+				case CTelephonyAudioRouting::EBTAudioAccessory:
+					msg.Append(_L("BT audio acc"));
+				break;
+				case CTelephonyAudioRouting::ETTY:
+					msg.Append(_L("ETTY"));
+				break;
+				default:
+					msg.AppendFormat(_L("0x%x"), availableOutput);
+				}
+			if(i+1<availableOutputsArray.Count())
+				{
+				msg.Append(_L(","));
+				}
+			}
+			INFO_PRINTF2(_L("Available Outputs: %S"), &msg);
+		}
+	INFO_PRINTF1(_L("*END*CT_CTelephonyAudioRoutingData::DoCmdAvailableOutputs"));
+	}
+
+
+/**
+ * Shows the current output configured by the client application to play
+ * telephony audio.
+ * @param none.
+ * @return void.
+ */
+
+void CT_CTelephonyAudioRoutingData::DoCmdOutput()
+	{
+	INFO_PRINTF1(_L("*START*CT_CTelephonyAudioRoutingData::DoCmdOutput"));
+	iOutput = iTelephonyAudioRouting->Output();
+    INFO_PRINTF2(_L("Output: 0x%x"),iOutput);
+    switch(iOutput)
+        {
+        case CTelephonyAudioRouting::ENotActive :
+        	INFO_PRINTF1(_L("Not active"));
+        break;
+        case CTelephonyAudioRouting::ENone :
+        	INFO_PRINTF1(_L("None"));
+        break;
+        case CTelephonyAudioRouting::EHandset :
+        	INFO_PRINTF1(_L("Handset"));
+        break;
+        case CTelephonyAudioRouting::ELoudspeaker :
+        	INFO_PRINTF1(_L("Loudspeaker"));
+        break;
+        case CTelephonyAudioRouting::EWiredAudioAccessory :
+        	INFO_PRINTF1(_L("Wired acc"));
+        break;
+        case CTelephonyAudioRouting::EBTAudioAccessory :
+        	INFO_PRINTF1(_L("BT audio acc"));
+        break;
+        case CTelephonyAudioRouting::ETTY :
+        	INFO_PRINTF1(_L("ETTY"));
+        break;
+        default:
+        	INFO_PRINTF2(_L("0x%x"), iOutput);
+        }
+    INFO_PRINTF1(_L("*END*CT_CTelephonyAudioRoutingData::DoCmdOutput"));
+	}
+
+
+/**
+ * Show the second last output that was successfully configured to
+ * play telephony audio.
+ * @param none.
+ * @return void
+ */
+
+void CT_CTelephonyAudioRoutingData::DoCmdPreviousOutput()
+	{
+	INFO_PRINTF1(_L("*START*CT_CTelephonyAudioRoutingData::DoCmdPreviousOutput"));	
+    CTelephonyAudioRouting::TAudioOutput previousOutput;
+	previousOutput = iTelephonyAudioRouting->PreviousOutput();
+	INFO_PRINTF2(_L("Previous audio output: 0x%x"), previousOutput);
+    switch (previousOutput)
+        {
+        case CTelephonyAudioRouting::ENotActive:
+        	INFO_PRINTF1(_L("Not active"));
+        break;
+        case CTelephonyAudioRouting::ENone:
+        	INFO_PRINTF1(_L("None"));
+        break;
+        case CTelephonyAudioRouting::EHandset:
+        	INFO_PRINTF1(_L("Handset"));
+        break;
+        case CTelephonyAudioRouting::ELoudspeaker:
+        	INFO_PRINTF1(_L("Loudspeaker"));
+        break;
+        case CTelephonyAudioRouting::EWiredAudioAccessory:
+        	INFO_PRINTF1(_L("Wired acc"));
+        break;
+        case CTelephonyAudioRouting::EBTAudioAccessory:
+        	INFO_PRINTF1(_L("BT audio acc"));
+        break;
+        case CTelephonyAudioRouting::ETTY:
+        	INFO_PRINTF1(_L("ETTY"));
+        break;
+        default:
+        	INFO_PRINTF2(_L("0x%x"), previousOutput);
+        }
+    INFO_PRINTF1(_L("*END*CT_CTelephonyAudioRoutingData::DoCmdPreviousOutput"));	
+	}
+
+
+/*
+ * Sends the Show Note mode to server along with the next SetOutputL()
+ * request.
+ * After SetOutputL() request from the Application is succesfully
+ * processed by the server and application receives SetOutputComplete()
+ * callback with KErrNone, it can query Show Note mode sent to server by
+ * calling GetShowNote().
+ * Other observers wanting to query Show Note mode can call GetShowNote()
+ * after receiving OutputChanged() callback.
+ *
+ * @param aSection the Section to read from the ini file.
+ * @return 
+ */
+
+void CT_CTelephonyAudioRoutingData::DoCmdSetShowNote(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CTelephonyAudioRoutingData::DoCmdSetShowNote"));
+	TBool mode;
+	if(!GetBoolFromConfig(aSection, KMode, mode))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KMode);
+    	SetBlockResult(EFail);
+		}
+	else
+		{
+		TInt error = iTelephonyAudioRouting->SetShowNote(mode);
+	    if (error != KErrNone)
+	        {
+	    	ERR_PRINTF2(_L("Could not set show note. Error: %d"), error);
+	    	SetError(error);
+	        }
+	    else
+	    	{
+	    	INFO_PRINTF2(_L("Mode set to: %d"), mode);
+			INFO_PRINTF1(_L("*END*CT_CTelephonyAudioRoutingData::DoCmdSetShowNote"));
+	    	}		
+		}    
+	}
+
+
+/**
+ * Shows the  Show Note mode for the last succesfully completed
+ * SetOutputL() request.
+ * @param 
+ * @return 
+ */
+
+
+void CT_CTelephonyAudioRoutingData::DoCmdGetShowNote()
+	{
+	INFO_PRINTF1(_L("*START*CT_CTelephonyAudioRoutingData::DoCmdGetShowNote"));
+	TBool mode;
+	TInt error = iTelephonyAudioRouting->GetShowNote(mode);
+    if(error != KErrNone) 
+        {
+    	ERR_PRINTF2(_L("Could not get show note. Error: %d"), error);
+    	SetError(error);
+        }
+    else
+    	{
+    	INFO_PRINTF2(_L("Mode: %d"), mode);
+        INFO_PRINTF1(_L("*END*CT_CTelephonyAudioRoutingData::DoCmdGetShowNote"));
+    	}    
+	}
+
+/**
+ * Sends an asynchronous request to Adaptation to set the output
+ * where telephony audio will be routed. This request is completed only
+ * when the application receives
+ * MTelephonyAudioRoutingObserver::SetOutputComplete callback.
+ * @param aSection - The section to read from the ini file
+ * @return none.
+ */
+
+void CT_CTelephonyAudioRoutingData::DoCmdSetOutputL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CTelephonyAudioRoutingData::DoCmdSetOutputL"));
+	TInt output;
+	if (!GetEnumFromConfig(aSection, KCmdOutput, iEnumOutput, output))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KCmdOutput);
+    	SetBlockResult(EFail);
+    	}
+	else
+		{
+		if(iOutput!=output)
+			{
+		    TRAPD(error, iTelephonyAudioRouting->SetOutputL((CTelephonyAudioRouting::TAudioOutput)output));
+		    IncOutstanding();
+		    if (error != KErrNone)
+		    	{
+		    	ERR_PRINTF2(_L("Could not set output. Error: %d"), error);
+		    	SetError(error);
+		        }
+		    else
+		    	{
+		    	INFO_PRINTF1(_L("Output set to: "));
+			    switch (output)
+				    {
+				    case CTelephonyAudioRouting::ENotActive:
+				    	INFO_PRINTF1(_L("Not active"));
+				    break;
+				    case CTelephonyAudioRouting::ENone:
+				    	INFO_PRINTF1(_L("None"));
+				    break;
+				    case CTelephonyAudioRouting::EHandset:
+				    	INFO_PRINTF1(_L("Handset"));
+				    break;
+				    case CTelephonyAudioRouting::ELoudspeaker:
+				    	INFO_PRINTF1(_L("Loudspeaker"));
+				    break;
+				    case CTelephonyAudioRouting::EWiredAudioAccessory:
+				    	INFO_PRINTF1(_L("Wired acc"));
+				    break;
+				    case CTelephonyAudioRouting::EBTAudioAccessory:
+				    	INFO_PRINTF1(_L("BT audio acc"));
+				    break;
+				    case CTelephonyAudioRouting::ETTY:
+				    	INFO_PRINTF1(_L("ETTY"));
+			        break;
+				    default:
+				    	INFO_PRINTF2(_L("%d"), output);
+				    }
+		    	}
+			}    
+	}
+	INFO_PRINTF1(_L("*END*CT_CTelephonyAudioRoutingData::DoCmdSetOutputL"));
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/src/T_DevSoundServer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,167 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "t_devsoundserver.h"
+#include "t_cmmfdevsounddata.h"
+#include "t_crestrictedaudiooutputdata.h"
+#include "t_ctelephonyaudioroutingdata.h"
+#include "t_caudioinputdata.h"
+#include "t_caudiooutputdata.h"
+
+/*@{*/
+/** Object wrappers literals */
+_LIT(KT_CMMFDevSound, 	"CMMFDevSound");
+_LIT(KT_CRestrictedAudioOutput, "CRestrictedAudioOutput");
+_LIT(KT_CTelephonyAudioRouting, "CTelephonyAudioRouting");
+_LIT(KT_CAudioInput, 	"CAudioInput");
+_LIT(KT_CAudioOutput,	"CAudioOutput");
+_LIT(KApplicationName,"AccServer.exe");
+_LIT(KPROCESSNAME, "*AccServer*");
+_LIT(KCmdName,"");
+
+/*@}*/
+
+/**
+ * 
+ * Same code for Secure and non-secure variants
+ * Called inside the MainL() function to create and start the
+ * CTestServer derived server.
+ * @return - Instance of the test server
+ */
+CT_DevSoundServer* CT_DevSoundServer::NewL()
+	{
+    CT_DevSoundServer* server = new (ELeave) CT_DevSoundServer();
+    CleanupStack::PushL(server);
+    server->ConstructL();
+    server->DoCmdutilStartApp();
+    CleanupStack::Pop(server);
+    return server;
+    }
+
+/**
+ * Secure variant
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+LOCAL_C void MainL()
+	{
+#if (defined __DATA_CAGING__)
+    RProcess().DataCaging(RProcess::EDataCagingOn);
+    RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+    CActiveScheduler* sched = NULL;
+    sched = new(ELeave) CActiveScheduler;
+    CActiveScheduler::Install(sched);
+    CT_DevSoundServer* server = NULL;
+
+    // Create the CTestServer derived server
+    TRAPD(err, server = CT_DevSoundServer::NewL());
+    if(!err)
+	    {
+        // Sync with the client and enter the active scheduler
+        RProcess::Rendezvous(KErrNone);
+        sched->Start();
+        }
+
+    delete server;
+    delete sched;
+    }
+
+/**
+ * 
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ * @return - Standard Epoc error code on process exit
+ */
+GLDEF_C TInt E32Main()
+	{
+    __UHEAP_MARK;
+    CTrapCleanup* cleanup = CTrapCleanup::New();
+    if(cleanup == NULL)
+	    {
+        return KErrNoMemory;
+        }
+
+#if (defined TRAP_IGNORE)
+	TRAP_IGNORE(MainL());
+#else
+    TRAPD(err,MainL());
+#endif
+
+    delete cleanup;
+    __UHEAP_MARKEND;
+    return KErrNone;
+    }
+/*
+ * Creates an instance of CDataWrapper that wraps a CT_CMMFDevSoundData object 
+ * @return wrapper	- a CDataWrapper instance that wraps the CT_CMMFDevSoundData object
+ */
+CDataWrapper* CT_DevSoundServer::CT_DevSoundBlock::CreateDataL(const TDesC& aData)
+	{
+	CDataWrapper* wrapper = NULL;
+
+	if (KT_CMMFDevSound() == aData)
+		{
+		wrapper = CT_CMMFDevSoundData::NewL();
+		}	
+	else if (KT_CRestrictedAudioOutput() == aData)
+		{
+		wrapper = CT_CRestrictedAudioOutputData::NewL();
+		}
+	else if (KT_CTelephonyAudioRouting() == aData)
+		{
+		wrapper = CT_CTelephonyAudioRoutingData::NewL();
+		}
+	else if(KT_CAudioInput() == aData)
+		{
+		wrapper = CT_CAudioInputData::NewL();
+		}
+	else if(KT_CAudioOutput() == aData)
+		{
+		wrapper = CT_CAudioOutputData::NewL();
+		}
+
+	return wrapper;
+	}
+	
+	
+	
+/*
+ * Start the accessories server
+ * @return err 		Symbian error code. KErrNone if successful
+ */
+void CT_DevSoundServer::DoCmdutilStartApp()
+	{
+	RProcess process;
+	TInt err(KErrNone);
+	TFullName processName;
+	TFindProcess findProcess(KPROCESSNAME);
+	findProcess.Next(processName);
+  if (processName != KNullDesC)
+    {
+    return;
+    }
+  
+	err = process.Create(KApplicationName,KCmdName);
+	// start the process running! Don't forget this.
+	if (err==KErrNone)
+        {
+        process.Resume(); //start .exe application
+        }
+	process.Close(); // Closes the handle, not the process.
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/testdata/devlon52/t_devsoundext.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,79 @@
+[EncoderHwDevice]
+RAW = 0x1020658f
+G711 = 0x1020658f
+G729AB = 0x1020658f
+ILBC = 0x1020658f
+AMRNB = 0x1020659e
+
+[DecoderHwDevice]
+AMRNB = 0x10206596
+AMRWB = 0x10206591
+G711 = 0x10205EE4
+G729AB = 0x10205EEA
+ILBC = 0x10205E63
+MP3 = 0x1020658F
+RAW = 0x1020659D
+
+[drive]
+mmc=e:
+
+[SpecialFourCC]
+RAW = P16
+
+[Priority]
+PriorityMin                 = -100
+PriorityNormal              = 0
+PriorityMax                 = 100
+PriorityIncomingCall        = 100
+PriorityClockAlarm          = 93
+PriorityCalendarAlarm       = 93
+PriorityReceivedSMS         = 90
+PriorityAudioPlayback       = 80
+PriorityVoiceTagPlayback    = 73
+PriorityBackgroundMusic     = 47
+PriorityDTMFKeyPress        = 45
+PriorityBatteryLow          = 85
+PriorityRemoteMediaPlayback = 80
+PriorityVoiceRecording      = 80
+PriorityTTSCall             = 100
+PriorityCameraTone          = 45
+PriorityPocCallUp           = 95
+PriorityPocCallDown         = 95
+PriorityVoipCallDown        = 100
+PriorityVoipCallUp          = 100
+PriorityVideoRecording      = 80
+PrioritySWISPlayback        = 74
+PriorityUnknownVoipCallDown = 95
+PriorityAudioRecording      = 80
+PriorityMobileTV            = 80
+PriorityVisualization       = 40
+
+[PriorityPreference]
+PriorityPreferenceNone                  = 0
+PriorityPreferenceTime                  = 1
+PriorityPreferenceQuality               = 2
+PriorityPreferenceTimeAndQuality        = 3
+PriorityPreferenceDTMFKeyPress          = 0x00130001
+PriorityPreferenceIncomingCall          = 0x01340001
+PriorityPreferenceBatteryLow            = 0X01030001
+PriorityPreferenceClockAlarm            = 0x01220001
+PriorityPreferenceCalendarAlarm         = 0x01210001
+PriorityPreferenceReceivedSMS           = 0x01120001
+PriorityPreferenceAudioPlayback         = 0x01420001
+PriorityPreferenceVoiceTagPlayback      = 0x00030001
+PriorityPreferenceBackgroundMusic       = 0x06000005
+PriorityPreferenceMediaPlayback         = 0x01610001
+PriorityPreferenceVoiceRecording        = 0x00950001
+PriorityPreferenceTTSCall               = 0x01370001
+PriorityPreferenceCameraTone            = 0x00110001
+PriorityPreferencePocCallDown           = 0x05120001
+PriorityPreferencePocCallUp             = 0x05130001
+PriorityPreferenceVoipCallDown          = 0x05210001
+PriorityPreferenceVoipCallUp            = 0x05220001
+PriorityPreferenceVideoRecording        = 0x00950001
+PriorityPreferenceSWISPlayback          = 0x05330001
+PriorityPreferenceUnknownVoipCallDown   = 0x05110007
+PriorityPreferenceAudioRecording        = 0x00940001
+PriorityPreferenceMobileTV              = 0x03100001
+PriorityPreferenceVisualization         = 0x05350001
+PriorityPreferenceRemoteMediaPlayback   = 0x01610001
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/testdata/devlon52/t_devsoundext.tcs	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,4 @@
+MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0008
+MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0013
+MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0016
+MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-RECORDING-0003
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/testdata/h6hrp/t_devsoundext.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,79 @@
+[EncoderHwDevice]
+RAW    = 0x101f9f00
+G711   = 
+G729AB = 
+ILBC   = 
+AMRNB  = 0x101fbf0d
+
+[DecoderHwDevice]
+AMRNB  = 0x101fbf0b
+AMRWB  = 0x101fd83b
+G711   = 
+G729AB = 
+ILBC   = 
+MP3    = 0x101fbf03
+RAW    = 0x101f9f00
+
+[drive]
+mmc=e:
+
+[SpecialFourCC]
+RAW = P16
+
+[Priority]
+PriorityMin                 = -100
+PriorityNormal              = 0
+PriorityMax                 = 100
+PriorityIncomingCall        = 100
+PriorityClockAlarm          = 93
+PriorityCalendarAlarm       = 93
+PriorityReceivedSMS         = 90
+PriorityAudioPlayback       = 80
+PriorityVoiceTagPlayback    = 73
+PriorityBackgroundMusic     = 47
+PriorityDTMFKeyPress        = 45
+PriorityBatteryLow          = 85
+PriorityRemoteMediaPlayback = 80
+PriorityVoiceRecording      = 80
+PriorityTTSCall             = 100
+PriorityCameraTone          = 45
+PriorityPocCallUp           = 95
+PriorityPocCallDown         = 95
+PriorityVoipCallDown        = 100
+PriorityVoipCallUp          = 100
+PriorityVideoRecording      = 80
+PrioritySWISPlayback        = 74
+PriorityUnknownVoipCallDown = 95
+PriorityAudioRecording      = 80
+PriorityMobileTV            = 80
+PriorityVisualization       = 40
+
+[PriorityPreference]
+PriorityPreferenceNone                  = 0
+PriorityPreferenceTime                  = 1
+PriorityPreferenceQuality               = 2
+PriorityPreferenceTimeAndQuality        = 3
+PriorityPreferenceDTMFKeyPress          = 0x00130001
+PriorityPreferenceIncomingCall          = 0x01340001
+PriorityPreferenceBatteryLow            = 0X01030001
+PriorityPreferenceClockAlarm            = 0x01220001
+PriorityPreferenceCalendarAlarm         = 0x01210001
+PriorityPreferenceReceivedSMS           = 0x01120001
+PriorityPreferenceAudioPlayback         = 0x01420001
+PriorityPreferenceVoiceTagPlayback      = 0x00030001
+PriorityPreferenceBackgroundMusic       = 0x06000005
+PriorityPreferenceMediaPlayback         = 0x01610001
+PriorityPreferenceVoiceRecording        = 0x00950001
+PriorityPreferenceTTSCall               = 0x01370001
+PriorityPreferenceCameraTone            = 0x00110001
+PriorityPreferencePocCallDown           = 0x05120001
+PriorityPreferencePocCallUp             = 0x05130001
+PriorityPreferenceVoipCallDown          = 0x05210001
+PriorityPreferenceVoipCallUp            = 0x05220001
+PriorityPreferenceVideoRecording        = 0x00950001
+PriorityPreferenceSWISPlayback          = 0x05330001
+PriorityPreferenceUnknownVoipCallDown   = 0x05110007
+PriorityPreferenceAudioRecording        = 0x00940001
+PriorityPreferenceMobileTV              = 0x03100001
+PriorityPreferenceVisualization         = 0x05350001
+PriorityPreferenceRemoteMediaPlayback   = 0x01610001
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/testdata/h6hrp/t_devsoundext.tcs	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1 @@
+ 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/testdata/multimedia-mmf-devsoundext-stress-automated-recording.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,56 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[audiooutput1]
+name = audiooutput1
+
+[audioinput1]
+name = audioinput1
+
+[restrictedaudiooutput1]
+name = restrictedaudiooutput1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsoundext.ini
+file2=\multimedia\mmf\devsound\t_devsoundext_environment.ini
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-ReplaceFile_command03]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\PoCCallStressTest.amr
+
+[MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-InitializeL_command04]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-SetPrioritySettings_command05]
+Priority = {Priority,PriorityPocCallUp}
+Preference = {PriorityPreference,PriorityPreferencePocCallUp}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-SetConfigL_command07]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-OpenFile_command08]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr
+
+[MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-InitializeL_command09]
+InitializeMode = EInitializeFourCCMode
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-SetPrioritySettings_command10]
+Priority = {Priority,PriorityPocCallDown}
+Preference = {PriorityPreference,PriorityPreferencePocCallDown}
+; PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Stress-Recording-0001-0001-SetConfigL_command12]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/testdata/multimedia-mmf-devsoundext-validation-automated-comb_pr.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,821 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[devsound3]
+name = devsound3
+
+[repository1]
+name = repository1
+
+[audiooutput1]
+name = audiooutput1
+
+[audioinput1]
+name = audioinput1
+
+[audioinput2]
+name = audioinput2
+
+[audioinput3]
+name = audioinput3
+
+[restrictedaudiooutput1]
+name = restrictedaudiooutput1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsoundext.ini
+file2=\multimedia\mmf\devsound\t_devsoundext_environment.ini
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0001-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0001-SetSecureOutput_command03]
+SecureOutput = 1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0001-InitializeL_command04]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0001-SetPrioritySettings_command05]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0001-SetConfigL_command07]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0001-OpenFile_command08]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0002-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0002-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceAudioRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0002-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0002-ReplaceFile_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecHigherDuringSecPlay.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0002-0002-SetAudioInput_command08]
+AudioInput = Input_OutputtoSpeaker
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0001-NewL_command02]
+DevSoundInstanceName=devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0001-OpenFile_command03]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0001-SetSecureOutput_command04]
+SecureOutput=1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0001-InitializeL_command05]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0001-SetPrioritySettings_command06]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0001-SetConfigL_command08]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0002-ReplaceFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\VisRecordDuringSecPlay.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0002-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVisualization}
+Preference = {PriorityPreference,PriorityPreferenceVisualization}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0003-0002-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0001-NewL_command02]
+DevSoundInstanceName = devsound2
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0001-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVisualization}
+Preference = {PriorityPreference,PriorityPreferenceAudioRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0001-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0001-ReplaceFile_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\SecPlayDuringMultipleRecordings1.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0001-SetAudioInput_command08]
+AudioInput = Input_OutputtoSpeaker
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0002-NewL_command02]
+DevSoundInstanceName = devsound3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0002-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVisualization}
+Preference = {PriorityPreference,PriorityPreferenceAudioRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0002-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0002-ReplaceFile_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\SecPlayDuringMultipleRecordings2.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0002-SetAudioInput_command08]
+AudioInput = Input_OutputtoSpeaker
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0003-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0003-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0003-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceSWISPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0003-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0003-OpenFile_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0004-0003-SetSecureOutput_command08]
+SecureOutput = 1
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0001-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0001-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceAudioRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0001-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0001-ReplaceFile_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\SecPlayDuringRecHigher.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0001-SetAudioInput_command08]
+AudioInput = Input_OutputtoSpeaker
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0002-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0002-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0002-SetPrioritySettings_command04]
+Priority = {Priority,PrioritySWISPlayback}
+Preference = {PriorityPreference,PriorityPreferenceSWISPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0002-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0002-OpenFile_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0006-0002-SetSecureOutput_command08]
+SecureOutput = 1
+
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_256kbps_st_1kHzsine_st2mono.mp3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-ReplaceFile_command03]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay16kMonoRecSpeaker.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-InitializeL_command04]
+Mode = EMMFStateRecording
+FourCC = P16
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-SetPrioritySettings_command05]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-SetConfigL_command07]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-SetAudioInput_command09]
+AudioInput = Input_OutputtoSpeaker
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-OpenFile_command13]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay16kMonoRecSpeaker.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-InitializeL_command14]
+Mode = EMMFStatePlaying
+FourCC = P16
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-SetPrioritySettings_command15]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0007-0002-SetConfigL_command17]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-ReplaceFile_command03]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay16kStereoRecSpeaker.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-InitializeL_command04]
+Mode = EMMFStateRecording
+FourCC = P16
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-SetPrioritySettings_command05]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-SetConfigL_command07]
+Channels = EMMFStereo
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-SetAudioInput_command09]
+AudioInput = Input_OutputtoSpeaker
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC = P16
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-SetPrioritySettings_command13]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0008-0002-SetConfigL_command15]
+Channels = EMMFStereo
+Rate = EMMFSampleRate16000Hz
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_256kbps_st_1kHzsine_st2mono.mp3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-ReplaceFile_command03]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay48kMonoRecSpeaker.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-InitializeL_command04]
+Mode = EMMFStateRecording
+FourCC = P16
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-SetPrioritySettings_command05]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-SetConfigL_command07]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-SetAudioInput_command09]
+AudioInput = Input_OutputtoSpeaker
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC = P16
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-SetPrioritySettings_command13]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0009-0002-SetConfigL_command15]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-ReplaceFile_command03]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\GainPlayRec.amr
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-InitializeL_command04]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-SetPrioritySettings_command05]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-SetConfigL_command07]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-SetAudioInput_command09]
+AudioInput = Input_OutputtoSpeaker
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-SetGain_command12]
+Gain= 0
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-SetGain_command13]
+Gain=1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-InitializeL_command15]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-SetPrioritySettings_command16]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-SetConfigL_command18]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0011-0002-OpenFile_command19]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\GainPlayRec.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-ReplaceFile_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlayRecSpeakerAcc.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-SetAudioInput_command08]
+AudioInput = Input_OutputtoSpeaker
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-SetPrioritySettings_command13]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-SetConfigL_command14]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0012-0002-OpenFile_command15]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlayRecSpeakerAcc.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0001-SetExpectedPlayError_command07]
+ExpectedPlayError = -13
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-ReplaceFile_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay48kStereoRecSpeaker.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-SetAudioInput_command08]
+AudioInput = Input_OutputtoSpeaker
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-InitializeL_command13]
+Mode = EMMFStatePlaying
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-SetPrioritySettings_command14]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-SetConfigL_command15]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0013-0002-OpenFile_command16]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay48kStereoRecSpeaker.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_256kbps_st_1kHzsine_st2mono.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-ReplaceFile_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay8kMonoRecSpeaker.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-SetAudioInput_command08]
+AudioInput = Input_OutputtoSpeaker
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-InitializeL_command13]
+Mode = EMMFStatePlaying
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-SetPrioritySettings_command14]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-SetConfigL_command15]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0015-0002-OpenFile_command16]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay8kMonoRecSpeaker.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-ReplaceFile_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay8kStereoRecSpeaker.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-SetAudioInput_command08]
+AudioInput = Input_OutputtoSpeaker
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-InitializeL_command13]
+Mode = EMMFStatePlaying
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-SetPrioritySettings_command14]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-SetConfigL_command15]
+Channels = EMMFStereo
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0016-0002-OpenFile_command16]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlay8kStereoRecSpeaker.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-ReplaceFile_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlayMixingRecSpeaker.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-SetAudioInput_command08]
+AudioInput = Input_OutputtoSpeaker
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-SetPrioritySettings_command13]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-SetConfigL_command14]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Comb_Pr-0017-0003-OpenFile_command15]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingPlayMixingRecSpeaker.pcm
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/testdata/multimedia-mmf-devsoundext-validation-automated-comb_rr.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,87 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[audiooutput1]
+name = audiooutput1
+
+[audioinput1]
+name = audioinput1
+
+[restrictedaudiooutput1]
+name = restrictedaudiooutput1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsoundext.ini
+file2=\multimedia\mmf\devsound\t_devsoundext_environment.ini
+
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-ReplaceFile_command03]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\HwLimitRadioRecDuringMicRec1.amr
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-InitializeL_command04]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-SetPrioritySettings_command05]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-SetConfigL_command07]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-SetAudioInput_command08]
+AudioInput = Input_DefaultMic
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-InitializeL_command11]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-SetPrioritySettings_command12]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0001-SetConfigL_command14]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0002-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0002-ReplaceFile_command03]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\HwLimitRadioRecDuringMicRec2.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0002-InitializeL_command04]
+Mode = EMMFStateRecording
+FourCC = P16
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0002-SetPrioritySettings_command05]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0002-SetConfigL_command07]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0002-SetAudioInput_command09]
+AudioInput = Input_FMRadio
+
+[MULTIMEDIA-MMF-DevSoundExt-Com_Rr-0002-0002-SetExpectedRecordError_command10]
+ExpectedRecordError = -21
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/testdata/multimedia-mmf-devsoundext-validation-automated-p.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,123 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[audiooutput1]
+name = audiooutput1
+
+[audioinput1]
+name = audioinput1
+
+[restrictedaudiooutput1]
+name = restrictedaudiooutput1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsoundext.ini
+file2=\multimedia\mmf\devsound\t_devsoundext_environment.ini
+
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0013-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = G729
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0013-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0013-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0013-0001-OpenFile_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_on.bin
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0013-0001-Stop_command09]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0013-0001-Stop_command12]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-OpenFile_command03]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-InitializeL_command04]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetPrioritySettings_command05]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetConfigL_command07]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetAudioOutput_command08]
+AudioOutput = Output_Public
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetAudioOutput_command10]
+AudioOutput = Output_Private
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetAudioOutput_command11]
+AudioOutput = Output_NoOutput
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetAudioOutput_command12]
+AudioOutput = Output_Public
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetAudioOutput_command13]
+AudioOutput = Output_Private
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0016-0001-SetAudioOutput_command14]
+AudioOutput = Output_Public
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-OpenFile_command03]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-InitializeL_command04]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetPrioritySettings_command05]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetConfigL_command07]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetAudioOutput_command08]
+AudioOutput = Output_Private
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetAudioOutput_command10]
+AudioOutput = Output_Public
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetAudioOutput_command11]
+AudioOutput = Output_NoOutput
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetAudioOutput_command12]
+AudioOutput = Output_Private
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetAudioOutput_command13]
+AudioOutput = Output_All
+
+[MULTIMEDIA-MMF-DevSoundExt-P-0017-0001-SetAudioOutput_command14]
+AudioOutput = Output_Private
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/testdata/multimedia-mmf-devsoundext-validation-automated-r.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,112 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[audiooutput1]
+name = audiooutput1
+
+[audioinput1]
+name = audioinput1
+
+[restrictedaudiooutput1]
+name = restrictedaudiooutput1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsoundext.ini
+file2=\multimedia\mmf\devsound\t_devsoundext_environment.ini
+
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0001-0001-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0001-0001-ReplaceFile_command03]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\HwLimitRadioRecWithoutRadioPlay.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0001-0001-InitializeL_command04]
+Mode = EMMFStateRecording
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0001-0001-SetPrioritySettings_command05]
+Priority = {Priority,PriorityVoiceRecording}
+Preference =                           {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0001-0001-SetConfigL_command07]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0001-0001-SetAudioInput_command08]
+AudioInput = Input_FMRadio
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0001-0001-SetExpectedRecordError_command09]
+ExpectedRecordError = -21
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0002-0001-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0002-0001-ReplaceFile_command03]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\HwLimitRadioRecWithoutRadioPlay.pcm
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0002-0001-InitializeL_command04]
+Mode = EMMFStateRecording
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0002-0001-SetPrioritySettings_command05]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0002-0001-SetConfigL_command07]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0002-0001-SetAudioInput_command08]
+AudioInput = Input_VoiceCall
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0002-0001-SetExpectedRecordError_command09]
+ExpectedRecordError = -21
+
+
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-NewL_command02]
+DevSoundInstanceName = devsound1
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-ReplaceFile_command03]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RoutingRecLinein.amr
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-InitializeL_command04]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-SetPrioritySettings_command05]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-SetConfigL_command07]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-SetAudioInput_command08]
+AudioInput = Input_LineIn
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-InitializeL_command11]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSoundExt-R-0003-0001-SetPrioritySettings_command14]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/testdata/t_devsoundext_environment.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1 @@
+ 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/testdata/tube/t_devsoundext.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,79 @@
+[EncoderHwDevice]
+RAW = 0x1020658f
+G711 = 0x1020658f
+G729AB = 0x1020658f
+ILBC = 0x1020658f
+AMRNB = 0x1020659e
+
+[DecoderHwDevice]
+AMRNB = 0x10206596
+AMRWB = 0x10206591
+G711 = 0x10205EE4
+G729AB = 0x10205EEA
+ILBC = 0x10205E63
+MP3 = 0x1020658F
+RAW = 0x1020659D
+
+[drive]
+mmc=e:
+
+[SpecialFourCC]
+RAW = P16
+
+[Priority]
+PriorityMin                 = -100
+PriorityNormal              = 0
+PriorityMax                 = 100
+PriorityIncomingCall        = 100
+PriorityClockAlarm          = 93
+PriorityCalendarAlarm       = 93
+PriorityReceivedSMS         = 90
+PriorityAudioPlayback       = 80
+PriorityVoiceTagPlayback    = 73
+PriorityBackgroundMusic     = 47
+PriorityDTMFKeyPress        = 45
+PriorityBatteryLow          = 85
+PriorityRemoteMediaPlayback = 80
+PriorityVoiceRecording      = 80
+PriorityTTSCall             = 100
+PriorityCameraTone          = 45
+PriorityPocCallUp           = 95
+PriorityPocCallDown         = 95
+PriorityVoipCallDown        = 100
+PriorityVoipCallUp          = 100
+PriorityVideoRecording      = 80
+PrioritySWISPlayback        = 74
+PriorityUnknownVoipCallDown = 95
+PriorityAudioRecording      = 80
+PriorityMobileTV            = 80
+PriorityVisualization       = 40
+
+[PriorityPreference]
+PriorityPreferenceNone                  = 0
+PriorityPreferenceTime                  = 1
+PriorityPreferenceQuality               = 2
+PriorityPreferenceTimeAndQuality        = 3
+PriorityPreferenceDTMFKeyPress          = 0x00130001
+PriorityPreferenceIncomingCall          = 0x01340001
+PriorityPreferenceBatteryLow            = 0X01030001
+PriorityPreferenceClockAlarm            = 0x01220001
+PriorityPreferenceCalendarAlarm         = 0x01210001
+PriorityPreferenceReceivedSMS           = 0x01120001
+PriorityPreferenceAudioPlayback         = 0x01420001
+PriorityPreferenceVoiceTagPlayback      = 0x00030001
+PriorityPreferenceBackgroundMusic       = 0x06000005
+PriorityPreferenceMediaPlayback         = 0x01610001
+PriorityPreferenceVoiceRecording        = 0x00950001
+PriorityPreferenceTTSCall               = 0x01370001
+PriorityPreferenceCameraTone            = 0x00110001
+PriorityPreferencePocCallDown           = 0x05120001
+PriorityPreferencePocCallUp             = 0x05130001
+PriorityPreferenceVoipCallDown          = 0x05210001
+PriorityPreferenceVoipCallUp            = 0x05220001
+PriorityPreferenceVideoRecording        = 0x00950001
+PriorityPreferenceSWISPlayback          = 0x05330001
+PriorityPreferenceUnknownVoipCallDown   = 0x05110007
+PriorityPreferenceAudioRecording        = 0x00940001
+PriorityPreferenceMobileTV              = 0x03100001
+PriorityPreferenceVisualization         = 0x05350001
+PriorityPreferenceRemoteMediaPlayback   = 0x01610001
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/testdata/tube/t_devsoundext.tcs	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,4 @@
+MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0008
+MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0013
+MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-COMB_PR-0016
+MULTIMEDIA-MMF-DEVSOUNDEXT-VALIDATION-AUTOMATED-RECORDING-0003
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/testsuites/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,19 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTEXPORTS
+../multimedia/devsoundexthai.driver		/epoc32/testdriver/salt/devsoundexthai.driver
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundexthaitest/testsuites/multimedia/devsoundexthai.driver	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<driver:driver xmlns:driver="http://www.symbian.com/TestDriver">
+      <task name="devsoundexthai" timeout="0">
+        <executeOnPC>
+          <build testBuild="true" URI="${sourceroot}\group\">
+            <componentName>t_devsoundext</componentName>
+          </build>
+        </executeOnPC>
+        <transferToSymbian>
+          <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsoundext.ini" SymbianPath="c:\multimedia\mmf\devsound\t_devsoundext.ini"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsoundext_environment.ini" SymbianPath="c:\multimedia\mmf\devsound\t_devsoundext_environment.ini"/>
+        </transferToSymbian>
+        <task name="validation">
+          <task name="manual"/>
+          <task name="automated">
+            <task name="multimedia-mmf-devsoundext-validation-automated-comb_pr">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_pr.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsoundext.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="multimedia-mmf-devsoundext-validation-automated-comb_rr">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_rr.ini" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_rr.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_rr.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-comb_rr.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsoundext.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="multimedia-mmf-devsoundext-validation-automated-playback">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-p.ini" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-p.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-p.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-p.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsoundext.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="multimedia-mmf-devsoundext-validation-automated-recording">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-r.ini" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-r.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-r.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsoundext-validation-automated-r.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsoundext.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+          </task>
+        </task>
+        <task name="performance"/>
+        <task name="conformance" timeout="0"/>
+        <task name="stress">
+          <task name="manual"/>
+          <task name="automated">
+            <task name="multimedia-mmf-devsoundext-stress-automated-recording">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-stress-automated-recording.ini" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsoundext-stress-automated-recording.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsoundext-stress-automated-recording.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsoundext-stress-automated-recording.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsoundext.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+          </task>
+        </task>
+      </task>
+</driver:driver>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/common/inc/DataWrapperBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 DATA_WRAPPER_BASE_H
+#define DATA_WRAPPER_BASE_H
+
+//	EPOC includes
+#include <datawrapper.h>
+#define SECS_TO_MS(x)  (x*1000000)
+
+_LIT(KConsname,				"Test Console");
+
+class CDataWrapperBase : public CDataWrapper
+	{
+public:
+	class TEnumEntryTable
+		{
+	public:
+		const TDesC&	iString;
+		TInt			iValue;
+		};
+
+public:
+	TBool					GetBoolFromConfig(const TDesC& aSectName,const TDesC& aKeyName,TBool& aResult);
+	TBool					GetIntFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult);
+	TBool GetRealFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TReal& aResult);
+	TBool					GetStringFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult);
+	TBool					GetHexFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult);
+	TBool					GetUintFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TUint& aResult);
+	TBool					GetArrayRectFromConfig(const TDesC& aSectName, const TDesC& aKeyName, RPointerArray<HBufC>& aResult);
+	TBool 					KeyPress();
+	void 					Timedelay(TInt aTimeoutInSecs);
+	virtual void			InitialiseL();
+	inline RFs&				FileServer() { return iFs; }
+	inline CConsoleBase*	GetConsole() { return(Console::NewL(KConsname,TSize(KConsFullScreen,KConsFullScreen)));}
+	TBool					GetEnumFromConfig(const TDesC& aSectName, const TDesC& aKeyName, const TEnumEntryTable* aTable, TInt& aResult);
+
+protected:
+	CDataWrapperBase();
+	virtual ~CDataWrapperBase();
+
+private:
+	TBool	GetCommandStringParameterL(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult);
+	TBool 	KeyCheck();
+
+private:
+	// Included ini files
+	RPointerArray<CIniData>	iInclude;
+	RPointerArray<HBufC>	iBuffer;
+	RFs                     iFs;
+	RTimer					iTimer;
+	};
+
+#endif // DATA_WRAPPER_BASE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/common/src/DataWrapperBase.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,447 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "datawrapperbase.h"
+
+/*@{*/
+///	Constant Literals used.
+_LIT(KPrefixHex,			"0x");
+_LIT(KPrefixOctal,			"0");
+_LIT(KSuffixBinary,			"b");
+
+_LIT(KIncludeSection,		"include");
+_LIT(KFile,					"file%d");
+_LIT(KMatch,				"*{*,*}*");
+_LIT(KStart,				"{");
+_LIT(KSeparator,			",");
+_LIT(KEnd,					"}");
+_LIT(KDataRead,				"INI READ : %S %S %S");
+
+/*@}*/
+
+CDataWrapperBase::CDataWrapperBase()
+:	CDataWrapper()
+	{
+	}
+
+/**
+ * Public destructor
+ */
+CDataWrapperBase::~CDataWrapperBase()
+	{
+	iInclude.ResetAndDestroy();
+	iBuffer.ResetAndDestroy();
+	iFs.Close();
+	}
+
+void CDataWrapperBase::InitialiseL()
+	{
+	iTimer.CreateLocal();
+	CDataWrapper::InitialiseL();
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TPtrC		fileName;
+	TBool		moreData=ETrue;
+	TBool		index=0;
+	while ( moreData )
+		{
+		tempStore.Format(KFile(), ++index);
+		moreData=GetStringFromConfig(KIncludeSection, tempStore, fileName);
+
+		if (moreData)
+			{
+			CIniData*	iniData=CIniData::NewL(fileName);
+			CleanupStack::PushL(iniData);
+			iInclude.Append(iniData);
+			CleanupStack::Pop(iniData);
+			}
+		}
+	User::LeaveIfError(iFs.Connect());
+	}
+
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TBool reference passed in possible values TRUE, FALSE
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - The value of the boolean
+ * @return TBool - ETrue for found, EFalse for not found 
+ */
+TBool CDataWrapperBase::GetBoolFromConfig(const TDesC& aSectName,const TDesC& aKeyName,TBool& aResult)
+	{
+	TBool	ret=EFalse;
+	TPtrC	result;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	if ( ret )
+		{
+		_LIT(KTrue,"true");
+		aResult=(result.FindF(KTrue) != KErrNotFound);
+		}
+
+	return ret;
+	}
+
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TInt reference passed in
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - The value of the integer
+ * @return TBool - ETrue for found, EFalse for not found 
+ */
+TBool CDataWrapperBase::GetIntFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult)
+	{
+	TPtrC	result;
+	TBool	ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	if ( ret )
+		{
+		TLex	lex(result);
+		ret=(lex.Val(aResult)==KErrNone);
+		}
+
+	return ret;
+	}
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TReal reference passed in
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - The value of the real
+ * @return TBool - ETrue for found, EFalse for not found 
+ */
+TBool CDataWrapperBase::GetRealFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TReal& aResult)
+	{
+	TPtrC result;
+	TBool ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret = EFalse;
+		}
+	if ( ret )
+		{
+		TLex lex(result);
+		ret = ( lex.Val(aResult)==KErrNone );
+		}
+	return ret;
+	}
+
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TPtrC reference passed in
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - Reference to the string on the heap
+ * @return TBool - ETrue for found, EFalse for not found 
+ */
+TBool CDataWrapperBase::GetStringFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult)
+	{
+	TBool	ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, aResult));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	return ret;
+	}
+
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TInt reference passed in. The value can optionally be prefixed with 0x
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - The integer value of the Hex input
+ * @return TBool - ETrue for found, EFalse for not found 
+ */	
+TBool CDataWrapperBase::GetHexFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult)
+	{
+	TPtrC	result;
+	TBool	ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	if ( ret )
+		{
+		TLex	lex;
+		if( result.FindC(KPrefixHex)==KErrNone )
+			{
+			lex=result.Mid(KPrefixHex().Length());
+			}
+		else
+			{
+			lex=result;
+			}
+		ret=(lex.Val((TUint &)aResult, EHex)==KErrNone);
+		}
+
+	return ret;
+	}
+
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TUint reference passed in.
+ * If the value is prefixed with 0x the value is read as a hexidecimal value
+ * If the value is suffixed with b the value is read as a binary value
+ * If the value is prefixed with a 0 the value is read as an octal value
+ * If it does not match the above it is read in as an integer
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - The integer value of the Hex input
+ * @return TBool - ETrue for found, EFalse for not found 
+ */	
+TBool CDataWrapperBase::GetUintFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TUint& aResult)
+	{
+	TPtrC	result;
+	TBool	ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	if ( ret )
+		{
+		TLex	lex(result);
+		if( result.FindC(KPrefixHex)==KErrNone )
+			{
+			lex=result.Mid(KPrefixHex().Length());
+			ret=(lex.Val(aResult, EHex)==KErrNone);
+			}
+		else
+			{
+			TInt	binarySuffixPosition=result.Length()-KSuffixBinary().Length();
+			if ( result.FindC(KSuffixBinary)==binarySuffixPosition )
+				{
+				lex=result.Left(binarySuffixPosition);
+				ret=(lex.Val(aResult, EBinary)==KErrNone);
+				}
+			else
+				{
+				if( result.FindC(KPrefixOctal)==KErrNone )
+					{
+					ret=(lex.Val(aResult, EOctal)==KErrNone);
+					}
+				else
+					{
+					TInt	intResult;
+					ret=(lex.Val(intResult)==KErrNone);
+					if ( ret )
+						{
+						aResult=(TUint)intResult;
+						}
+					}
+				}
+			}
+		}
+
+	return ret;
+	}
+
+/**
+ *   Return array of string parameters i.e. key=a1,a2,a3 returns array which contains
+ *   String a1, a2 and a3.
+ *   @return ret - EFalse if can't get a String parameter from Config file.  ETrue if KErrNone
+ */
+TBool CDataWrapperBase::GetArrayRectFromConfig(const TDesC& aSectName, const TDesC& aKeyName, RPointerArray<HBufC>& aResult)
+	{
+	TBool	ret=EFalse;
+	TPtrC completeArray;
+	
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, completeArray));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+
+    TLex16 lex(completeArray); // Here we have the array as a string i.e. "a1,a2,a3"
+    TBuf<256> buf;
+    TChar chr;
+    
+    while(!lex.Eos())
+        {
+        chr = lex.Get();
+        // Check if there was a list separator
+        if ((chr == ',') && (lex.Peek() == '('))
+            {
+            HBufC* param = buf.AllocLC();
+            buf.Zero();
+            aResult.Append(param);
+            CleanupStack::Pop(param); // pointer to buf is stored in RPointerArray
+            }
+        // If not separator character we can store the character into array
+        else
+            {
+            buf.Append(chr);
+            }
+        }
+    // Remember to put last token into array (,a3)
+    HBufC* param = buf.AllocLC();
+    aResult.Append(param);
+    CleanupStack::Pop(param);
+    
+    return ret;
+	}
+
+/**
+ * Reads the parameter	asociated to the specified command
+ * @param aSectName	Section on ini file
+ * @param aKeyName		Name of the parameter
+ * @param aResult			descriptor containing parameter
+ * @return TBool  ETrue for found, EFalse for not found 
+ */
+TBool CDataWrapperBase::GetCommandStringParameterL(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult)
+	{
+	TBool	ret=EFalse;
+
+	if ( aSectName.Length()!=0 )
+		{
+		ret=CDataWrapper::GetStringFromConfig(aSectName, aKeyName, aResult);
+
+		for ( TInt index=iInclude.Count(); (index>0) && (!ret); )
+			{
+			ret=iInclude[--index]->FindVar(aSectName, aKeyName, aResult);
+			}
+		}
+
+	if ( ret )
+		{
+		if ( aResult.Match(KMatch)!=KErrNotFound )
+			{
+			//	We have an entry of the format
+			//	entry =*{section,entry}*
+			//	where * is one or more characters
+			//	We need to construct this from other data in the ini file replacing {*,*}
+			//	with the data from
+			//	[section]
+			//	entry =some_value
+			HBufC*	buffer=HBufC::NewLC(aResult.Length());
+			buffer->Des().Copy(aResult);
+
+			TInt	startLength=KStart().Length();
+			TInt	sparatorLength=KSeparator().Length();
+			TInt	endLength=KEnd().Length();
+			TInt	bufferLength;
+			TInt	start;
+			TInt	sparator;
+			TInt	end;
+			TPtrC	remaining;
+			TLex	lex;
+			do
+				{
+				bufferLength=buffer->Length();
+				start=buffer->Find(KStart);
+
+				remaining.Set(buffer->Des().Right(bufferLength-start-startLength));
+				sparator=remaining.Find(KSeparator);
+				remaining.Set(remaining.Right(remaining.Length()-sparator-sparatorLength));
+				sparator += (start + startLength);
+
+				end=remaining.Find(KEnd) + sparator + sparatorLength;
+
+				TPtrC	sectionName(buffer->Ptr()+start+startLength, sparator-start-startLength);
+				TPtrC	keyName(buffer->Ptr()+sparator+sparatorLength, end-sparator-sparatorLength);
+				sectionName.Set(TLex(sectionName).NextToken());
+				keyName.Set(TLex(keyName).NextToken());
+
+				TInt	entrySize=0;
+				TPtrC	entryData;
+				TBool	found=CDataWrapper::GetStringFromConfig(sectionName, keyName, entryData);
+				for ( TInt index=iInclude.Count(); (index>0) && (!found);  )
+					{
+					found=iInclude[--index]->FindVar(sectionName, keyName, entryData);
+					}
+				if ( found )
+					{
+					entrySize=entryData.Length();
+					}
+
+				TInt	newLength=start + bufferLength - end - endLength + entrySize;
+				HBufC*	bufferNew=HBufC::NewLC(newLength);
+				bufferNew->Des().Copy(buffer->Ptr(), start);
+				if ( entrySize>0 )
+					{
+					bufferNew->Des().Append(entryData);
+					}
+				bufferNew->Des().Append(buffer->Ptr() + end + endLength, bufferLength - end - endLength);
+				CleanupStack::Pop(bufferNew);
+				CleanupStack::PopAndDestroy(buffer);
+				buffer=bufferNew;
+				CleanupStack::PushL(buffer);
+				}
+			while ( buffer->Match(KMatch)!=KErrNotFound );
+			iBuffer.Append(buffer);
+			CleanupStack::Pop(buffer);
+			aResult.Set(*buffer);
+			INFO_PRINTF4(KDataRead, &aSectName, &aKeyName , &aResult);
+			}
+		}
+
+	return ret;
+	}
+
+/**
+ * Utility function to produce time delay
+ * @param aTimeoutInSecs Times in micro seconds
+ */
+void CDataWrapperBase::Timedelay(TInt aTimeoutInSecs)
+	{
+	TRequestStatus	status;
+	iTimer.After(status, aTimeoutInSecs);
+	User::WaitForRequest(status);
+	}
+
+TBool CDataWrapperBase::GetEnumFromConfig(const TDesC& aSectName, const TDesC& aKeyName, const TEnumEntryTable* aTable, TInt& aResult)
+	{
+	TPtrC	str;
+	TBool	ret=GetStringFromConfig(aSectName, aKeyName, str);
+
+	if ( ret )
+		{
+		TBool	found=EFalse;
+		TInt	index=0;
+		while ( (aTable[index].iValue!=-1) && !found )
+			{
+			if ( aTable[index].iString==str )
+				{
+				found=ETrue;
+				aResult=aTable[index].iValue;
+				}
+			else
+				{
+				++index;
+				}
+			}
+
+		if ( !found )
+			{
+			ret=GetIntFromConfig(aSectName, aKeyName, aResult);
+			}
+		}
+
+	return ret;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,74 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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 "device.cfg"
+
+#include "../testsuites/group/bld.inf"
+
+PRJ_TESTEXPORTS
+t_devsound.iby                                                               /epoc32/rom/haitests/t_devsound.iby
+t_devsound_binaries.iby                                                      /epoc32/rom/haitests/t_devsound_binaries.iby
+t_devsound_testdata.iby                                                      /epoc32/rom/haitests/t_devsound_testdata.iby
+../pkg/t_devsound.bat                                                        c:/multimedia/mmf/devsound/t_devsound.bat
+../testdata/t_devsound_environment.ini                                       c:/multimedia/mmf/devsound/t_devsound_environment.ini 
+../scripts/multimedia-mmf-devsound-stress-automated-playback.script 	       c:/multimedia/mmf/devsound/multimedia-mmf-devsound-stress-automated-playback.script	
+../testdata/multimedia-mmf-devsound-stress-automated-playback.ini            c:/multimedia/mmf/devsound/multimedia-mmf-devsound-stress-automated-playback.ini
+../scripts/multimedia-mmf-devsound-stress-automated-recording.script         c:/multimedia/mmf/devsound/multimedia-mmf-devsound-stress-automated-recording.script
+../testdata/multimedia-mmf-devsound-stress-automated-recording.ini           c:/multimedia/mmf/devsound/multimedia-mmf-devsound-stress-automated-recording.ini
+../scripts/multimedia-mmf-devsound-stress-automated-tones.script             c:/multimedia/mmf/devsound/multimedia-mmf-devsound-stress-automated-tones.script
+../testdata/multimedia-mmf-devsound-stress-automated-tones.ini               c:/multimedia/mmf/devsound/multimedia-mmf-devsound-stress-automated-tones.ini
+../scripts/multimedia-mmf-devsound-stress-automated.script                   c:/multimedia/mmf/devsound/multimedia-mmf-devsound-stress-automated.script
+../testdata/multimedia-mmf-devsound-stress-automated.ini                     c:/multimedia/mmf/devsound/multimedia-mmf-devsound-stress-automated.ini
+../scripts/multimedia-mmf-devsound-validation-automated-comb_pp.script       c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-comb_pp.script
+../testdata/multimedia-mmf-devsound-validation-automated-comb_pp.ini         c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-comb_pp.ini
+../scripts/multimedia-mmf-devsound-validation-automated-comb_pr.script       c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-comb_pr.script
+../testdata/multimedia-mmf-devsound-validation-automated-comb_pr.ini         c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-comb_pr.ini
+../scripts/multimedia-mmf-devsound-validation-automated-comb_pt.script       c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-comb_pt.script
+../testdata/multimedia-mmf-devsound-validation-automated-comb_pt.ini         c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-comb_pt.ini
+../scripts/multimedia-mmf-devsound-validation-automated-comb_rr.script       c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-comb_rr.script
+../testdata/multimedia-mmf-devsound-validation-automated-comb_rr.ini         c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-comb_rr.ini
+../scripts/multimedia-mmf-devsound-validation-automated-comb_rt.script       c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-comb_rt.script
+../testdata/multimedia-mmf-devsound-validation-automated-comb_rt.ini         c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-comb_rt.ini
+../scripts/multimedia-mmf-devsound-validation-automated-comb_tt.script       c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-comb_tt.script
+../testdata/multimedia-mmf-devsound-validation-automated-comb_tt.ini         c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-comb_tt.ini
+../scripts/multimedia-mmf-devsound-validation-automated-playback.script      c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-playback.script
+../testdata/multimedia-mmf-devsound-validation-automated-playback.ini        c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-playback.ini
+../scripts/multimedia-mmf-devsound-validation-automated-recording.script     c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-recording.script
+../testdata/multimedia-mmf-devsound-validation-automated-recording.ini       c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-recording.ini
+../scripts/multimedia-mmf-devsound-validation-automated-tones.script         c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-tones.script
+../testdata/multimedia-mmf-devsound-validation-automated-tones.ini           c:/multimedia/mmf/devsound/multimedia-mmf-devsound-validation-automated-tones.ini
+
+
+
+#if defined(TEST_DEVICE_DEVLON52)
+../testdata/devlon52/t_devsound.ini						                                 c:/multimedia/mmf/devsound/t_devsound.ini
+../testdata/devlon52/t_devsound.tcs						                                 c:/multimedia/mmf/devsound/t_devsound.tcs
+#endif
+
+#if defined(TEST_DEVICE_TUBE)
+../testdata/tube/t_devsound.ini						                                 	 c:/multimedia/mmf/devsound/t_devsound.ini
+../testdata/tube/t_devsound.tcs						                                 	 c:/multimedia/mmf/devsound/t_devsound.tcs
+#endif
+
+#if defined(TEST_DEVICE_H6HRP)
+../testdata/h6hrp/t_devsound.ini						                                 c:/multimedia/mmf/devsound/t_devsound.ini
+../testdata/h6hrp/t_devsound.tcs						                                 c:/multimedia/mmf/devsound/t_devsound.tcs
+#endif
+
+
+PRJ_TESTMMPFILES
+t_devsound.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/group/device.cfg	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,24 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+
+// Used within the build process to export the correct files for the supported devices
+// Uncomment only one of the devices definied in  listed below
+
+//#define	TEST_DEVICE_DEVLON52
+#define	TEST_DEVICE_TUBE
+//#define	TEST_DEVICE_H6HRP
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/group/devsoundhaitest.mrp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,20 @@
+#
+# Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#
+component		devsoundhaitest
+source			\sf\os\mm\mmapitest\devsoundhaitest
+notes_source	\sf\os\mm\mmapitest\devsoundhaitest\group\release.txt
+ipr				T
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/group/release.txt	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,5 @@
+NOTESRC_RELEASER
+Nokia Corporation
+
+NOTESRC_RELEASE_REASON
+DevSound SALT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/group/t_devsound.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,25 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_DEVSOUND_IBY__)
+#define __T_DEVSOUND_IBY__
+
+//Test Includes
+#include <..\haitests\t_devsound_binaries.iby>
+#include <..\haitests\t_devsound_testdata.iby>
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/group/t_devsound.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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>
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+TARGET			t_devsound.exe
+TARGETTYPE		exe
+UID 0x102863E4 0x200041CA
+VENDORID		0x70000001
+
+capability		All -Tcb
+
+SOURCEPATH		../src
+
+SOURCE			../common/src/datawrapperbase.cpp
+SOURCE			t_cmmfdevsounddata.cpp
+SOURCE			t_devsoundserver.cpp
+SOURCE			t_crepositorydata.cpp
+
+
+USERINCLUDE		../inc
+USERINCLUDE		../common/inc 
+
+SYSTEMINCLUDE	/epoc32/include/test
+SYSTEMINCLUDE	/epoc32/include/mmf/server
+
+LIBRARY			euser.lib
+LIBRARY			efsrv.lib
+LIBRARY			testexecuteutils.lib
+LIBRARY			testexecutelogclient.lib
+LIBRARY     iniparser.lib
+LIBRARY			ecom.lib
+LIBRARY			mmfdevsound.lib
+LIBRARY			centralrepository.lib
+
+
+SMPSAFE
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/group/t_devsound_binaries.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,23 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_DEVSOUND_BINARIES_IBY__)
+#define __T_DEVSOUND_BINARIES_IBY__
+
+file=\Epoc32\Release\armv5\urel\t_devsound.exe		\sys\bin\t_devsound.exe
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/group/t_devsound_testdata.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,51 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_DEVSOUND_TESTDATA_IBY__)
+#define __T_DEVSOUND_TESTDATA_IBY__
+
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.script			multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.script	
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.ini				multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.script			multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.ini				multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-tones.script				multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-tones.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-tones.ini					multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-tones.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated.script					multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated.ini						multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.script		multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini			multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.script		multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini			multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.script		multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini			multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rr.script		multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rr.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rr.ini			multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rr.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.script		multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.ini			multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.script		multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.ini			multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.script		multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini			multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.script		multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini			multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.script			multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini				multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\t_devsound.ini														multimedia\mmf\devsound\t_devsound.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\t_devsound.bat														multimedia\mmf\devsound\t_devsound.bat
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\t_devsound.tcs														multimedia\mmf\devsound\t_devsound.tcs
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devsound\t_devsound_environment.ini											multimedia\mmf\devsound\t_devsound_environment.ini
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/group/testdriversetup.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+perl testdriversetup.pl --statlite=false
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/group/testdriversetup.pl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,82 @@
+#
+# Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#
+
+use Getopt::Long;
+use Cwd;
+
+
+sub Usage()
+	{
+	print <<USAGE_EOF;
+Usage
+perl testdriversetup.pl --statlite=StatLite
+
+    StatLite = [true | false ]
+
+    --help                      : This help
+USAGE_EOF
+	exit( 0 )
+	}
+
+sub main()
+	{
+	my	$help='';
+	my	$statLite="";
+
+	GetOptions(
+		'statlite=s'=> \$statLite,
+		'help' 		=> \$help
+	);
+
+	if($help or (($statLite ne "true") and ($statLite ne "false")) )
+		{
+		Usage();
+		exit(0);
+		}
+
+	my $theEpocRoot=$ENV{EPOCROOT};
+	my $epoc32Location="$theEpocRoot.\\epoc32";
+
+	my $currentDirectory=cwd;
+	$currentDirectory =~ s/Group//i;
+	$currentDirectory =~ s/\//\\/g;
+
+	my $currentDrive = substr($currentDirectory,0,2);
+
+	my	$cmd="TestDriver config";
+	my	$suite="file:/$currentDrive$epoc32Location\\testdriver\\salt\\devsoundhai.driver";
+	$suite =~ s.\\./.g;
+	$suite =~ s\/./\/\g;
+
+	$cmd .= " --bldclean OFF";
+	$cmd .= " --bldmake OFF";
+	$cmd .= " -e $currentDrive$theEpocRoot";
+	$cmd .= " -x $currentDrive$epoc32Location\\testdriver\\salt";
+	$cmd .= " --repos $currentDrive$epoc32Location\\testdriver\\Repository";
+	$cmd .= " -c $currentDrive$epoc32Location\\testdriver\\Results";
+	$cmd .= " -i $currentDirectory";
+	$cmd .= " -s $suite";
+	$cmd .= " --source $currentDirectory";
+	$cmd .= " --tp $currentDirectory";
+	$cmd .= " --testexec ON";
+	$cmd .= " --statlite $statLite";
+	$cmd .= " --teflite true";
+	$cmd .= " --commdb overwrite";
+	system("$cmd");
+	}
+
+main();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/inc/T_CMMFDevSoundData.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,226 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 T_CMMFDEVSOUND_DATA_H
+#define T_CMMFDEVSOUND_DATA_H
+
+//User includes
+#include "datawrapperbase.h"
+
+//Epoc Includes
+#include <sounddevice.h> //CMMFDevSound
+
+/**
+ * This class tests the CMMFDevSound API's
+ */
+
+enum THwDeviceType
+	{
+	EDecoder,
+	EEncoder
+	};
+
+class CT_CMMFDevSoundData : public CDataWrapperBase, public MDevSoundObserver
+	{
+public:
+	~CT_CMMFDevSoundData();
+	static  CT_CMMFDevSoundData* NewL();
+	virtual TAny* GetObject();
+	virtual TBool DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+
+protected:
+	CT_CMMFDevSoundData();
+	void ConstructL();
+
+private:
+	void UtilityFourCCToHwDeviceUidL(const TDesC& aFourCC, THwDeviceType aType, TUid& aHwDeviceUid);
+	void DestroyData();
+	void Stop();
+	void PlayData();
+	void RecordData();
+	
+	/** From MDevSoundObserver */
+	virtual void InitializeComplete(TInt aError);
+	virtual void ToneFinished(TInt aError);
+	virtual void BufferToBeFilled(CMMFBuffer* aBuffer);
+	virtual void PlayError(TInt aError);
+	virtual void BufferToBeEmptied(CMMFBuffer* aBuffer);
+	virtual void RecordError(TInt aError);
+	virtual void ConvertError(TInt aError);
+	virtual void DeviceMessage(TUid uid, const TDesC8& aMsg);
+
+protected:
+	void DoCmdNewL();
+	void DoCmdNewLLoopL(const TTEFSectionName&aSection);
+	void DoCmdDestructor();
+	void DoCmdCapabilities();
+	void DoCmdConfig();
+	void DoCmdMaxGain(const TTEFSectionName& aSection);
+	void DoCmdMaxVolume(const TTEFSectionName& aSection);
+	void DoCmdGetPlayBalanceL(const TTEFSectionName& aSection);
+	void DoCmdGetRecordBalanceL(const TTEFSectionName& aSection);
+	void DoCmdGetSupportedInputDataTypesL();
+	void DoCmdGetSupportedOutputDataTypesL();
+	void DoCmdSamplesPlayed();
+	void DoCmdSamplesRecorded();
+	void DoCmdVolume(const TTEFSectionName& aSection);
+	void DoCmdGain(const TTEFSectionName& aSection);
+	void DoCmdFixedSequenceCount();
+	void DoCmdFixedSequenceName(const TTEFSectionName& aSection);
+	void DoCmdSetConfigL(const TTEFSectionName& aSection);
+	void DoCmdSetDTMFLengths(const TTEFSectionName& aSection);
+	void DoCmdSetGain(const TTEFSectionName& aSection);
+	void DoCmdSetPlayBalanceL(const TTEFSectionName& aSection);
+	void DoCmdSetPrioritySettings(const TTEFSectionName& aSection);
+	void DoCmdSetRecordBalanceL(const TTEFSectionName& aSection);
+	void DoCmdSetToneRepeats(const TTEFSectionName& aSection);
+	void DoCmdSetVolume(const TTEFSectionName& aSection);
+	void DoCmdSetVolumeRamp(const TTEFSectionName& aSection);
+	void DoCmdInitializeL(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	void DoCmdPlayDTMFStringL(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	void DoCmdPlayData();
+	void DoCmdPlayDualToneL(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	void DoCmdPlayInitL(const TInt aAsyncErrorIndex);
+	void DoCmdPlayToneL(const TTEFSectionName& aSection , const TInt aAsyncErrorIndex);
+	void DoCmdPlayToneSequenceL(const TTEFSectionName& aSection , const TInt aAsyncErrorIndex);
+	void DoCmdRecordData();
+	void DoCmdRecordInitL(const TInt aAsyncErrorIndex);
+	void DoCmdStop(const TTEFSectionName& aSection);
+	void DoCmdSetVolumeLoop(const TTEFSectionName& aSection);
+
+	void DoCmdUtilityErrorConceal();
+	void DoCmdUtilityReplaceFile(const TTEFSectionName& aSection);
+	void DoCmdUtilityOpenFile(const TTEFSectionName& aSection);
+	void DoCmdUtilityCloseFile();
+	void DoCmdUtilityFileStartPosition();
+
+private:
+
+	/**
+	 * Wrapped object
+	 */
+	CMMFDevSound* iDevSound;
+	/**
+	 * Array to store DevSound objects
+	 */
+	RPointerArray<CMMFDevSound> iObjectsDevSound;
+	/**
+	 * Prority settings
+	 */
+	TMMFPrioritySettings iPrioritySettings;
+	/**
+	 * Capabilities
+	 */
+	TMMFCapabilities iCapabilities;
+	/**
+	 * Store the volume value
+	 */
+	TInt iVolumeValue;
+	/**
+	 * Store the gain value
+	 */
+	TInt iGainValue;
+	/**
+	 * Left percentage
+	 */
+	TInt iLeftPercentage;
+	/**
+	 * Right percentage
+	 */
+	TInt iRightPercentage;
+	/**
+	 * File Server
+	 */
+	RFs iFs;
+	/**
+	 * File for tones
+	 */
+	RFile iToneFile;
+	/**
+	 * File for audio
+	 */
+	RFile iAudiofile;
+	/**
+	 * Buffer to be filled or to review if it's empty
+	 */
+	CMMFBuffer* iBuffer;
+	/**
+	 * Last sample of audio file
+	 */
+	TInt iLastSample;
+	/**
+	 * for control the pause (DoCmdPause)
+	 */
+	TBool iPaused;
+	/**
+	 * Conceal the error
+	 */
+	TBool iErrorConceal;
+	/**
+	 * End of file
+	 */
+	TBool iEndFile;
+	/**
+	 * Buffer to be filled with tone sequence
+	 */
+	TBuf8<1024> iToneSequence;
+	/**
+	 * Enum for channels
+	 */
+	static const TEnumEntryTable iEnumChannels[];
+	/**
+	 * Enum for sample rate
+	 */
+	static const TEnumEntryTable iEnumSampleRate[];
+	/**
+	 * Enum for the mode
+	 */
+	static const TEnumEntryTable iEnumMode[];
+	/**
+	 * Enum for the priorities
+	 */
+	static const TEnumEntryTable iEnumPriority[];
+	/**
+	 * Enum for the priority preference
+	 */
+	static const TEnumEntryTable iEnumPriorityPreference[];
+	/**
+	 * Enum for initialize(FourCC, HwDevice) the mode and state
+	 */
+	static const TEnumEntryTable iEnumInitializeLType[];
+	/**
+	 * Async Error Index of RecordError.
+	 */
+	TInt iRecordErrorIndex;
+		/**
+	 * Async Error Index of PlayError.
+	 */
+	TInt iPlayErrorIndex;
+		/**
+	 * Async Error Index of ToneError.
+	 */
+	TInt iToneErrorIndex;
+    		/**
+	 * Async Error Index of InitializeError.
+	 */
+	TInt iInitializeErrorIndex;
+	
+	};
+
+#endif // T_CMMFDEVSOUND_DATA_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/inc/T_CRepositoryData.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 T_CREPOSITORY_DATA_H
+#define T_CREPOSITORY_DATA_H
+
+//User Includes
+#include "datawrapperbase.h"
+
+//Epoc Includes
+#include <centralrepository.h>//CRepository
+
+class CT_CRepositoryData : public CDataWrapperBase
+	{
+public:
+	~CT_CRepositoryData();
+	static	CT_CRepositoryData* NewL();
+	virtual TAny* GetObject();
+	virtual TBool DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	CT_CRepositoryData();
+	
+private:
+	
+	void ConstructL();
+
+	void DestroyData();
+	
+private:
+	void DoCmdNewL(const TTEFSectionName& aSection);
+	void DoCmdDestructor();
+    void DoCmdSet(const TTEFSectionName& aSection);
+    
+private:
+	/**
+	 * Wrapped object
+	 */
+    CRepository* iRepository;
+    	
+	};
+
+
+#endif //T_CREPOSITORY_DATA_H
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/inc/T_DevSoundServer.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 T_DEVSOUND_SERVER_H
+#define T_DEVSOUND_SERVER_H
+
+#include <testserver2.h>
+
+class CT_DevSoundServer : public CTestServer2
+	{
+private:
+	class CT_DevSoundBlock : public CTestBlockController
+		{
+	public:
+		inline CT_DevSoundBlock();
+		inline ~CT_DevSoundBlock();
+		CDataWrapper* CreateDataL( const TDesC& aData );
+		};
+
+public:
+	static CT_DevSoundServer* NewL();
+	inline CTestBlockController* CreateTestBlock();
+	void DoCmdutilStartApp();
+
+	};
+
+#include "t_devsoundserver.inl"
+
+#endif // T_DEVSOUND_SERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/inc/T_DevSoundServer.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+CT_DevSoundServer::CT_DevSoundBlock::CT_DevSoundBlock()
+:	CTestBlockController()
+	{
+	}
+
+CT_DevSoundServer::CT_DevSoundBlock::~CT_DevSoundBlock()
+	{
+	}
+
+CTestBlockController* CT_DevSoundServer::CreateTestBlock()
+	{
+	return new CT_DevSoundBlock();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/pkg/t_devsound.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.script -tcx c:\multimedia\mmf\devsound\t_devsound.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.script -tcx c:\multimedia\mmf\devsound\t_devsound.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.script -tcx c:\multimedia\mmf\devsound\t_devsound.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rr.script -tcx c:\multimedia\mmf\devsound\t_devsound.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.script -tcx c:\multimedia\mmf\devsound\t_devsound.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.script -tcx c:\multimedia\mmf\devsound\t_devsound.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.script -tcx c:\multimedia\mmf\devsound\t_devsound.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.script -tcx c:\multimedia\mmf\devsound\t_devsound.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.script -tcx c:\multimedia\mmf\devsound\t_devsound.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.script -tcx c:\multimedia\mmf\devsound\t_devsound.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.script -tcx c:\multimedia\mmf\devsound\t_devsound.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-tones.script -tcx c:\multimedia\mmf\devsound\t_devsound.tcs
+testexecute c:\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated.script -tcx c:\multimedia\mmf\devsound\t_devsound.tcs
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-stress-automated-playback.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,567 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsound-stress-automated-playback
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsound
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0001
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0001
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-NB playback of long file
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Open File(Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_long.amr;WaitForEOF = ETrue)
+//!                7. Start Play 
+//!                8. Close File
+//!                9. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB playback of long file
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	1000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0001-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Playback-0001-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0001-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Playback-0001-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0001
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0002
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0002
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		AMR-NB playback unexpected events
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Stop
+//!                7. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                8. Play 10 seconds 
+//!                9. Pause for 5 seconds(Pause=TRUE)
+//!                10. FileStartPosition
+//!                11. Stop
+//!                12. Pause for 5 seconds(Pause=TRUE)
+//!                13. Play 10 seconds 
+//!                14. Stop
+//!                15. CloseFile
+//!                16. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB playback unexpected events
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0002-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Playback-0002-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0002-0001-SetConfigL_command05
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Playback-0002-0001-OpenFile_command07
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Stress-Playback-0002-0001-Stop_command09
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Stress-Playback-0002-0001-Stop_command12
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0002
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0003
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0003
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-WB playback of long file
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC = AWB)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_long.awb)
+//!                7. Start Play 
+//!                8. Close File
+//!                9. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-WB playback of long file
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	1200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0003-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Playback-0003-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0003-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Playback-0003-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0003
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0004
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0004
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		AMR-WB playback unexpected events
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AWB)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. Stop for 5 seconds
+//!                7. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                8. Play 10 seconds
+//!                9. Pause for 5 seconds(Pause=TRUE)
+//!                10. FileStartPosition
+//!                11. Stop
+//!                12. Pause for 5 seconds(Pause=TRUE)
+//!                13. Play 10 seconds 
+//!                14. Stop
+//!                15. CloseFile
+//!                16. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-WB playback unexpected events
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0004-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Playback-0004-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0004-0001-SetConfigL_command05
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Playback-0004-0001-OpenFile_command07
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Stress-Playback-0004-0001-Stop_command09
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		DELAY  4000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Stress-Playback-0004-0001-Stop_command12
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0004
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0005
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0005
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		G.729AB playback of long file
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC = G729)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Open File  (Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_on_long.bin)
+//!                7. Start Play
+//!                8. Close File
+//!                9. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                G.729AB playback of long file
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	1000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0005-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Playback-0005-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0005-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Playback-0005-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0005
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0006
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0006
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		MP3 playback invalid file
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\Err_MP3_44.1k_64kbps_mono.mp3)
+//!                7. Play 
+//!                8. CloseFile
+//!                9. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 playback invalid file
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	97	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0006-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Playback-0006-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0006-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Playback-0006-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0006
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0007
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0007
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		MP3 playback of long file
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_long.mp3)
+//!                7. Start Play 
+//!                8. Close File
+//!                9. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 playback of long file
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	1000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0007-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Playback-0007-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0007-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Playback-0007-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0007
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0008
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0008
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		MP3 playback unexpected events
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration(Channels=EMMFMono;Rate=EMMFSampleRate8000Hz)
+//!                6. Stop 5 seconds
+//!                7. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_320kbps_st_Test3.mp3)
+//!                8. Play 10 seconds 
+//!                9. Pause for 5 seconds(Pause=TRUE)
+//!                10. FileStartPosition
+//!                11. Stop 5 seconds
+//!                12. Pause for 5 seconds(Pause=TRUE)
+//!                13. Play 10 seconds
+//!                14. Stop
+//!                15. CloseFile
+//!                16. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 playback unexpected events
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0008-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Playback-0008-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0008-0001-SetConfigL_command05
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Playback-0008-0001-OpenFile_command07
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Stress-Playback-0008-0001-Stop_command09
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Stress-Playback-0008-0001-Stop_command12
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0008
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0009
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0009
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM playback empty file
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying)
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\empty.pcm)
+//!                7. Play 
+//!                8. CloseFile
+//!                9. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM playback empty file
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	30	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0009-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Playback-0009-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0009-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Playback-0009-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0009
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0010
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0010
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		PCM playback of long file
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate8000Hz)
+//!                6. Open File  (Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_8k_16b_signed_st_long.pcm)
+//!                7. Start Play
+//!                8. Close File
+//!                9. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM playback of long file
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	1000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0010-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Playback-0010-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Playback-0010-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Playback-0010-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-PLAYBACK-0010
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-stress-automated-recording.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,536 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsound-stress-automated-recording
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsound
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0001
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0001
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-NB recording 30 minutes
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecAMRNB30Min.amr )
+//!                7. Record 1800m 
+//!                8. Stop 5s
+//!                9.CloseFile
+//!                10. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecAMRNB30Min.amr)
+//!                15. Start Play 60 seconds
+//!                16. Stop
+//!                17. CloseFile
+//!                18. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB recording 30 minutes
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	2000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  1800000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  60000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0001
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0002
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0002
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-WB recording 30 minutes
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = AWB)
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecAMRWB30Min.awb )
+//!                7. Record 1800m
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AWB)
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecAMRWB30Min.awb)
+//!                15. Start Play 60 seconds 
+//!                16. Stop
+//!                17. CloseFile
+//!                18. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-WB recording 30 minutes
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	2000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  1800000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  60000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0002
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0003
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0003
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		G.711 recording 30 minutes
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = G711)
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecG711a30Min.pcm )
+//!                7. Record 1800m
+//!                8. Stop 5s
+//!                9. CloseFile 
+//!                10. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = G711)
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecG711a30Min.pcm)
+//!                15. Start Play 60 seconds 
+//!                16. Stop
+//!                17. CloseFile
+//!                18. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                G.711 recording 30 minutes
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	2000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  1800000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  60000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0003
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0004
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0004
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		G.729AB recording 30 minutes
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = G729)
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile(Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecG729AB30min.bin )
+//!                7. Record 1800m 
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = G729)
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecG729AB30min.bin)
+//!                15. Start Play 60 seconds 
+//!                16. Stop
+//!                17. CloseFile
+//!                18. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                G.729AB recording 30 minutes
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	2000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  1800000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  60000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0004
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0005
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0005
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		iLBC recording 30 minutes
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = ILBC)
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\Rec15kbpsiLBC30min.bin )
+//!                7. Record 1800m 
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = ILBC)
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14. OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\Rec15kbpsiLBC30min.bin)
+//!                15. Start Play 60 seconds 
+//!                16. Stop
+//!                17. CloseFile
+//!                18. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                iLBC recording 30 minutes
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	2000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  1800000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  60000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0005
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0006
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0006
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		PCM recording 30 minutes
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\Rec8kPCM30Min.pcm )
+//!                7. Record 1800m 
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\Rec8kPCM30Min.pcm)
+//!                15. Start Play 60 seconds 
+//!                16. Stop
+//!                17. CloseFile
+//!                18. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM recording 30 minutes
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	2000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  1800000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  60000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0006
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0007
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0007
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		PCM recording 30 minutes
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.ReplaceFile(Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\Rec8kPCM30MinB.pcm )
+//!                7. Record 1800m 
+//!                8. Stop 5s
+//!                9.CloseFile
+//!                10. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\Rec8kPCM30MinB.pcm)
+//!                15. Start Play 60 seconds 
+//!                16. Stop
+//!                17. CloseFile
+//!                18. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM recording 30 minutes
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	2000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  1800000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  60000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-RECORDING-0007
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-stress-automated-tones.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,79 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsound-stress-automated-tones
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsound
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-TONES-0001
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-TONES-0001
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Play long ringing tone file
+//!@SYMTestActions
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_long.mp3)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                4. Set Priority (Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                7. Start Play
+//!                8.Close File
+//!                9. Destroy Devsound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Play long ringing tone file
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	2000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Stress-Tones-0001-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Stress-Tones-0001-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Stress-Tones-0001-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Stress-Tones-0001-0001-SetConfigL_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-TONES-0001
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-stress-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,57 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsound-stress-automated
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsound
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-0001
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevSound::NewL()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Create 100 DevSound instances
+//!@SYMTestActions
+//!                1.NewLLoop  (Loop=100;AllowedError=-4)
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Create 100 DevSound instances
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	10	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewLLoopL			MULTIMEDIA-MMF-DevSound-Stress-0001-0001-NewLLoopL_command01
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-STRESS-AUTOMATED-0001
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-comb_pp.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,5763 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsound-validation-automated-comb_pp
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsound
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0001
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0001
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Audio playback during audio playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6..Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7.. Set expected play error( ExpectedPlayError=-13)
+//!                8. Start Play
+//!                9.Close file
+//!                10. Destroy DevSound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration and delay 10 seconds (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7. Start Play for 10 seconds
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Audio playback during audio playback
+//! TEST_BLOCK 001
+//!                MP3 playback with expected error -13
+//! TEST_BLOCK 002
+//!                AMR playback for 10 seconds
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0001-OpenFile_command06
+		COMMAND	  !AsyncError=-13	devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0002-OpenFile_command06
+		COMMAND   devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0001
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0002
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0002
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Calendar alarm during audio playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Start Play for 30 seconds
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityCalendarAlarm}; Preference = {PriorityPreference,PriorityPreferenceCalendarAlarm};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration and delay 10 seconds(Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_160-256kbps_st_Test1.mp3)
+//!                7. Start Play for 10 seconds
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Calendar alarm during audio playback
+//! TEST_BLOCK 001
+//!                MP3 playback for 30s
+//! TEST_BLOCK 002
+//!                MP3 playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0002
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0003
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0003
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Calendar alarm during incoming SMS
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                3. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC= MP3)
+//!                4. Set priority settings ( Priority = {Priority,PriorityReceivedSMS}; Preference = {PriorityPreference,PriorityPreferenceReceivedSMS}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                7. Set expected error (ExpectedPlayError = -13)
+//!                8. Start play
+//!                9. Close file
+//!                10.Destroy DevSound instance.
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3)
+//!                3. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC= MP3)
+//!                4. Set priority settings ( Priority = {Priority,PriorityCalendarAlarm}; Preference = {PriorityPreference,PriorityPreferenceCalendarAlarm}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration  delay 10s (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz) 
+//!                7. Start play 10s
+//!                8. Close file
+//!                9.Destroy DevSound instance.
+//!@SYMTestStatus		Delivered
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Calendar alarm during incoming SMS
+//! TEST_BLOCK 001
+//!                MP3 playback with expected error -13
+//! TEST_BLOCK 002
+//!                MP3 playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0001-SetConfigL_command06
+		COMMAND   !AsyncError=-13 devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0002-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0002-SetConfigL_command06
+		DELAY  10000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0003
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0004
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0004
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Pause()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Incoming call during alarm clock
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                4. Set Priority (Priority = {Priority,PriorityClockAlarm}; Preference = {PriorityPreference,PriorityPreferenceClockAlarm}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                7.Set Expected Error (ExpectedPlayError = -13)
+//!                8. Start Play 
+//!                9. Close File
+//!                10. Destroy Devsound Instance
+//! TEST_BLOCK 002
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                4. Set Priority (Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                7. Pause for 10 seconds(Pause=TRUE)
+//!                8. Start Play for 10 seconds 
+//!                9. Stop
+//!                10. Close File
+//!                11. Destroy Devsound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming call during alarm clock
+//! TEST_BLOCK 001
+//!                MP3 playback with expected error -13
+//! TEST_BLOCK 002
+//!                MP3 playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0001-SetConfigL_command06
+		COMMAND   !AsyncError=-13			devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0002-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0002-SetConfigL_command06
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0002-Stop_command07
+		DELAY  10000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0004
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0005
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0005
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Incoming call during incoming SMS
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityReceivedSMS}; Preference = {PriorityPreference,PriorityPreferenceReceivedSMS};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Set expected play error( ExpectedPlayError=-13)
+//!                8. Start Play EOF
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration & wait 10s (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_160-256kbps_st_Test1.mp3)
+//!                7. Start Play for 10 seconds
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming call during incoming SMS
+//! TEST_BLOCK 001
+//!                MP3 playback with expected error -13
+//! TEST_BLOCK 002
+//!                MP3 playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13			devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	30	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0005
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0006
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0006
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Incoming SMS during incoming SMS
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityReceivedSMS}; Preference= {PriorityPreference,PriorityPreferenceReceivedSMS}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 
+//!                8. CloseFile
+//!                9. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityReceivedSMS}; Preference= {PriorityPreference,PriorityPreferenceReceivedSMS}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3)
+//!                7. Pause 10 seconds(Pause=TRUE)
+//!                8. Play 10 seconds 
+//!                9. Stop
+//!                10. CloseFile
+//!                11. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming SMS during incoming SMS
+//! TEST_BLOCK 001
+//!                MP3 playback with expected error -13
+//! TEST_BLOCK 002
+//!                MP3 playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0002-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0002-OpenFile_command06
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0002-Stop_command07
+		DELAY  10000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0006
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0007
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0007
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Mixing rule - Perform and force mute and perform
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_320kbps_st_Test3.mp3)
+//!                7. Start Play for 30 seconds
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityBackgroundMusic}; Preference = {PriorityPreference,PriorityPreferenceBackgroundMusic} ;PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration and delay 10 seconds (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                7. Start Play for 10 seconds 
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mixing rule - Perform and force mute and perform
+//! TEST_BLOCK 001
+//!                MP3 playback for 30s
+//! TEST_BLOCK 002
+//!                RAW playback for 10 s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0007
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0008
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0008
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Mixing rule - Perform and perform
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Start Play for 30 seconds
+//!                8. Stop for 2s
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration and delay 10 seconds (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3)
+//!                7. Start Play for 10 seconds
+//!                8. Stop for 2s
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mixing rule - Perform and perform
+//! TEST_BLOCK 001
+//!                MP3 playback for 30s
+//! TEST_BLOCK 002
+//!                MP3 playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0008
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0009
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0009
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Mixing rule - Perform and perform and quieten
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityIncomingCall}; Preference= {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_320kbps_st_Test3.mp3)
+//!                7. Play 30 seconds 
+//!                8. CloseFile
+//!                9. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityTTSCall}; Preference= {PriorityPreference,PriorityPreferenceTTSCall} ; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                7. Play 10 seconds 
+//!                8. Stop
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mixing rule - Perform and perform and quieten
+//! TEST_BLOCK 001
+//!                MP3 playback for 30s
+//! TEST_BLOCK 002
+//!                RAW playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	30	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0009
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0010
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0010
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Mixing rule - Perform and perform and ramp down
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityTTSCall}; Preference= {PriorityPreference,PriorityPreferenceTTSCall} ; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 30 seconds 
+//!                8. Stop for 2s
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityIncomingCall}; Preference= {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3)
+//!                7. Play 10 seconds 
+//!                8. Stop for 2s
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mixing rule - Perform and perform and ramp down
+//! TEST_BLOCK 001
+//!                MP3 playback for 30s
+//! TEST_BLOCK 002
+//!                MP3 playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	30	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0010
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0011
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0011
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Mixing rule - Perform and quieten and perform
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityCalendarAlarm}; Preference= {PriorityPreference,PriorityPreferenceCalendarAlarm}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 30 seconds 
+//!                8. Stop for2s
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityBackgroundMusic}; Preference= {PriorityPreference,PriorityPreferenceBackgroundMusic} ; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3)
+//!                7. Play 10 seconds 
+//!                8. Stop for 2s
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mixing rule - Perform and quieten and perform
+//! TEST_BLOCK 001
+//!                MP3 playback for 30s
+//! TEST_BLOCK 002
+//!                MP3 playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	30	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0011
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0012
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0012
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Mixing rule - Perform and ramp up and perform and ramp down
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityNormal}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 30 seconds
+//!                8. Stop for 2s
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityIncomingCall}; Preference= {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3)
+//!                7. Play 10 seconds
+//!                8. Stop for 2s
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mixing rule - Perform and ramp up and perform and ramp down
+//! TEST_BLOCK 001
+//!                MP3 playback for 30s
+//! TEST_BLOCK 002
+//!                MP3 playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	30	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0012
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0013
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0013
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Mixing rule - Perform and ramp up and stop
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityVoiceTagPlayback}; Preference= {PriorityPreference,PriorityPreferenceVoiceTagPlayback} ; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. OpenFile  (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Set expected play error( ExpectedPlayError=-13)
+//!                8. Play
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityIncomingCall}; Preference= {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3)
+//!                7. Play 10 seconds 
+//!                8. CloseFile
+//!                9. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mixing rule - Perform and ramp up and stop
+//! TEST_BLOCK 001
+//!                MP3 playback with expected error -13
+//! TEST_BLOCK 002
+//!                MP3 playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	600	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13			devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	30	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0013
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0014
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0014
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Mixing rule - Perform and stop
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Set expected play error( ExpectedPlayError=-13)
+//!                8. Play 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3)
+//!                7. Play 10 seconds 
+//!                8. Stop for 2s
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mixing rule - Perform and stop
+//! TEST_BLOCK 001
+//!                MP3 playback with expected error -13
+//! TEST_BLOCK 002
+//!                MP3 playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	600	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13			devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	30	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0014
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0015
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0015
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		TTS stream during incoming call
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_320kbps_st_Test3.mp3)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                4. Set Priority (Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                7. Start Play for 20 seconds
+//!                8. Stop
+//!                9. Close File
+//!                10. Destroy Devsound Instance
+//! TEST_BLOCK 002
+//!                1. Create Devsound Instance 
+//!                2. Pause for 1 second(Pause=TRUE)
+//!                3. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                4. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                5. Set Priority (Priority = {Priority,PriorityTTSCall}; Preference = {PriorityPreference,PriorityPreferenceTTSCall} ; PriorityState=EMMFStatePlaying)
+//!                6. Capabilities 
+//!                7. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                8. Start Play for 10 seconds
+//!                9. Stop
+//!                10. Close File
+//!                11. Destroy Devsound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                TTS stream during incoming call
+//! TEST_BLOCK 001
+//!                MP3 playback for 20s
+//! TEST_BLOCK 002
+//!                RAW playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0001-SetConfigL_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0002-Stop_command02
+		DELAY  1000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0002-OpenFile_command03
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0002-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0002-SetPrioritySettings_command05
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0002-SetConfigL_command07
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0015
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0017
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0017
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		AA_Audio playback during xSP VoIP downlink with other capability
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                4. Set Priority (Priority ={Priority,PriorityUnknownVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceUnknownVoipCallDown}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                7. Start Play for 30 seconds
+//!                8. Stop
+//!                9. Close File
+//!                10. Destroy Devsound Instance
+//! TEST_BLOCK 002
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC =  {SpecialFourCC,RAW})
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                7. Pause for 10 seconds(Pause=TRUE)
+//!                8. Start Play for 10 seconds
+//!                9. Stop
+//!                10. Close File
+//!                11. Destroy Devsound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AA_Audio playback during xSP VoIP downlink with other capability
+//! TEST_BLOCK 001
+//!                AMR playback for 30s
+//! TEST_BLOCK 002
+//!                RAW playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0001-SetConfigL_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0002-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0002-SetConfigL_command06
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0002-Stop_command07
+		DELAY  10000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0017
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0018
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0018
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Audio playback during xSP VoIP downlink with writedevicedata capability
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityUnknownVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceUnknownVoipCallDown};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7. Start Play for 20 seconds
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration & wait 10s (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                7. Start Play EOF
+//!                8. Close file
+//!                9. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Audio playback during xSP VoIP downlink with writedevicedata capability
+//! TEST_BLOCK 001
+//!                AMR playback for 20s
+//! TEST_BLOCK 002
+//!                RAW playback with expected error -21
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	30	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0018
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0019
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0019
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Audio playback during audio playback with multimediadd capabilities
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference ={PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Start Play for 20 seconds
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference ={PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration & wait 10 s(Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3)
+//!                7. Start Play for 20 seconds
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Audio playback during audio playback with multimediadd capabilities
+//! TEST_BLOCK 001
+//!                MP3 playback with expected error -13
+//! TEST_BLOCK 002
+//!                MP3 playback for 20s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13			devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0019
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0020
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0020
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Audio playback with none capability during audio playback with multimediadd capability
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                7.Set Expected Error (ExpectedPlayError = -13)
+//!                8. Start Play for 20 seconds
+//!                9. Stop
+//!                10. Close File
+//!                11. Destroy Devsound Instance
+//! TEST_BLOCK 002
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                7. Pause for 10 seconds(Pause=TRUE)
+//!                8. Start Play for 20 seconds
+//!                9. Stop
+//!                10. Close File
+//!                11. Destroy Devsound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Audio playback with none capability during audio playback with multimediadd capability
+//! TEST_BLOCK 001
+//!                MP3 playback with expected error -13
+//! TEST_BLOCK 002
+//!                MP3 playback for 20s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0001-SetConfigL_command06
+		COMMAND		!AsyncError=-13			devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0002-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0002-SetConfigL_command06
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0002-Stop_command07
+		DELAY  10000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0020
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0021
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0021
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Pause()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		AA_Audio playback with multimediadd capability during audio playback with none capability
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                7.Set Expected Error (ExpectedPlayError = -13)
+//!                8. Start Play for 20 seconds
+//!                9. Stop
+//!                10. Close File
+//!                11. Destroy Devsound Instance
+//! TEST_BLOCK 002
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                7. Pause for 10 seconds(Pause=TRUE)
+//!                8. Start Play for 20 seconds
+//!                9. Stop
+//!                10. Close File
+//!                11. Destroy Devsound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AA_Audio playback with multimediadd capability during audio playback with none capability
+//! TEST_BLOCK 001
+//!                MP3 playback with expected error -13
+//! TEST_BLOCK 002
+//!                MP3 playback for 20 s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0001-SetConfigL_command06
+		COMMAND		!AsyncError=-13			devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0002-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0002-SetConfigL_command06
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0002-Stop_command07
+		DELAY  10000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0021
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0023
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0023
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		AA_Audio playback during xSP VoIP downlink with other capability
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                4. Set Priority (Priority = {Priority,PriorityUnknownVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceUnknownVoipCallDown}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                7. Start Play for 30 seconds
+//!                8. Stop
+//!                9.Close File
+//!                10. Destroy Devsound Instance
+//! TEST_BLOCK 002
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = P16)
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                7. Pause for  10 seconds(Pause=TRUE)
+//!                8. Start Play for 10 seconds
+//!                9. Stop
+//!                10. Close File
+//!                11. Destroy Devsound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AA_Audio playback during xSP VoIP downlink with other capability
+//! TEST_BLOCK 001
+//!                AMR playback for 30s
+//! TEST_BLOCK 002
+//!                PCM playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0001-SetConfigL_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0002-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0002-SetConfigL_command06
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0002-Stop_command07
+		DELAY  10000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0023
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0024
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0024
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//! TEST_BLOCK 004
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Mix four 48k stereo MP3 playbacks
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_256kbps_st_dinner_bell.mp3)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                7. Start Play for 25 seconds
+//!                8. Stop
+//!                9. Close File
+//!                10. Destroy Devsound Instance
+//! TEST_BLOCK 002
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_256kbps_st_drums.mp3)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                7. Pause for  5 seconds(Pause=TRUE)
+//!                8. Start Play for 20 seconds
+//!                9. Stop
+//!                10. Close File
+//!                11. Destroy Devsound Instance
+//! TEST_BLOCK 003
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_256kbps_st_jingle_bells.mp3)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                7. Pause for  10 seconds(Pause=TRUE)
+//!                8. Start Play for 15 seconds
+//!                9. Stop
+//!                10. Close File
+//!                11. Destroy Devsound Instance
+//! TEST_BLOCK 004
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_256kbps_st_flute.mp3)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                7. Pause for  15 seconds(Pause=TRUE)
+//!                8. Start Play for 10 seconds
+//!                9. Stop
+//!                10. Close File
+//!                11. Destroy Devsound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix four 48k stereo MP3 playbacks
+//! TEST_BLOCK 001
+//!                MP3 playback for 25s
+//! TEST_BLOCK 002
+//!                MP3 playback for 20s
+//! TEST_BLOCK 003
+//!                MP3 playback for 15s
+//! TEST_BLOCK 004
+//!                MP3 playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0001-SetConfigL_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  25000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0002-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0002-SetConfigL_command06
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0002-Stop_command07
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0003-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0003-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0003-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0003-SetConfigL_command06
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0003-Stop_command07
+		DELAY  10000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  15000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0004-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0004-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0004-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0004-SetConfigL_command06
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0004-Stop_command07
+		DELAY  15000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0024
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0025
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0025
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 004
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 005
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 006
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Mix six 48k mono PCM playbacks
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.  Create DevSound instance
+//!                2.  Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3.  Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState = EMMFStatePlaying)
+//!                4.  Capabilities
+//!                5.  Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)
+//!                6.  Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_mono_dinner_bell.pcm)
+//!                7.  Play 40 sec
+//!                8.  Stop
+//!                9. Close File
+//!                10. Destroy DevSound instance
+//!                
+//! TEST_BLOCK 002
+//!                1.  Create DevSound instance
+//!                2.  Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3.  Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState = EMMFStatePlaying)
+//!                4.  Capabilities
+//!                5.  Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz) and delay 5 seconds
+//!                6.  Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_mono_drums.pcm)
+//!                7.  Play 35 sec
+//!                8.  Stop
+//!                9. Close File
+//!                10. Destroy DevSound instance
+//!                
+//! TEST_BLOCK 003
+//!                1.  Create DevSound instance
+//!                2.  Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3.  Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState = EMMFStatePlaying)
+//!                4.  Capabilities
+//!                5.  Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz) and delay 10 seconds
+//!                6.  Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_mono_flute.pcm)
+//!                7.  Play 30 sec
+//!                8.  Stop
+//!                9. Close File
+//!                10. Destroy DevSound instance
+//!                
+//! TEST_BLOCK 004
+//!                1.  Create DevSound instance
+//!                2.  Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3.  Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState = EMMFStatePlaying)
+//!                4.  Capabilities
+//!                5.  Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz) and delay 15 seconds
+//!                6.  Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_mono_jingle_bells.pcm)
+//!                7.  Play 25 sec
+//!                8.  Stop
+//!                9. Close File
+//!                10. Destroy DevSound instance
+//!                
+//! TEST_BLOCK 005
+//!                1.  Create DevSound instance
+//!                2.  Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3.  Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState = EMMFStatePlaying)
+//!                4.  Capabilities
+//!                5.  Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz) and delay 20 seconds
+//!                6.  Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_mono_speech2.pcm)
+//!                7.  Play 20 sec
+//!                8.  Stop
+//!                9. Close File
+//!                10. Destroy DevSound instance
+//!                
+//! TEST_BLOCK 006
+//!                1.  Create DevSound instance
+//!                2.  Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3.  Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState = EMMFStatePlaying)
+//!                4.  Capabilities
+//!                5.  Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz) and delay 25 seconds
+//!                6.  Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_mono_Camera.pcm)
+//!                7.  Play 15 sec
+//!                8.  Stop
+//!                9. Close File
+//!                10. Destroy DevSound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix six 48k mono PCM playbacks
+//! TEST_BLOCK 001
+//!                RAW playback for 40s
+//! TEST_BLOCK 002
+//!                RAW playback for 25s
+//! TEST_BLOCK 003
+//!                RAW playback for 30s
+//! TEST_BLOCK 004
+//!                RAW playback for 25s
+//! TEST_BLOCK 005
+//!                RAW playback for 20s
+//! TEST_BLOCK 006
+//!                RAW playback for 15s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  40000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0002-SetConfigL_command05
+		DELAY  5000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  35000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0003-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0003-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0004-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0004-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0004-SetConfigL_command05
+		DELAY  15000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0004-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  25000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0005-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0005-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0005-SetConfigL_command05
+		DELAY  20000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0005-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0006-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0006-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0006-SetConfigL_command05
+		DELAY  25000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0006-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  15000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0025
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0026
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0026
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 16k mono AMR-WB playback with 16k mono AMR-WB playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = AWB)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7. Start Play 20 seconds
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy Devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= AWB)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels= EMMFMono; Rate= EMMFSampleRate16000Hz) and delay 10 seconds
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech2.awb)
+//!                7. Play 20 seconds 
+//!                8. Stop
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 16k mono AMR-WB playback with 16k mono AMR-WB playback
+//! TEST_BLOCK 001
+//!                AMR-WB 16KHz mono playback
+//! TEST_BLOCK 002
+//!                AMR-WB 16KHz mono playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0026
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0027
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0027
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 16k mono AMR-WB playback with 48k stereo PCM playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= AWB)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels= EMMFMono; Rate= EMMFSampleRate16000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7. Play 20 seconds 
+//!                8. Stop
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels= EMMFStereo; Rate= EMMFSampleRate48000Hz) and delay 10 seconds
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                7. Play 20 seconds 
+//!                8. Stop
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 16k mono AMR-WB playback with 48k stereo PCM playback
+//! TEST_BLOCK 001
+//!                AMR-WB 16KHz mono playback
+//! TEST_BLOCK 002
+//!                PCM 48KHz mono playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0027
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0028
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0028
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 32k stereo PCM playback with 44.1k stereo PCM playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate32000Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_32k_16b_signed_st_Test1.pcm)
+//!                7. Play 20 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_st_Test2.pcm)
+//!                7. Play 20 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 32k stereo PCM playback with 44.1k stereo PCM playback
+//! TEST_BLOCK 001
+//!                PCM 32KHz stereo playback
+//! TEST_BLOCK 002
+//!                PCM 44.1KHz stereo playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0028
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0029
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0029
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 44.1k stereo MP3 playback with 16k mono AMR-WB playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz) 
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 20 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= AWB)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7. Play 20 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10 Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 44.1k stereo MP3 playback with 16k mono AMR-WB playback
+//! TEST_BLOCK 001
+//!                MP3 44.1KHz stereo playback
+//! TEST_BLOCK 002
+//!                AMR-WB 16KHz stereo playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0029
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0030
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0030
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 44.1k stereo MP3 playback with 44.1k stereo PCM playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 20 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_st_Test2.pcm)
+//!                7. Play 20 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 44.1k stereo MP3 playback with 44.1k stereo PCM playback
+//! TEST_BLOCK 001
+//!                MP3 44.1 KHz stereo playback
+//! TEST_BLOCK 002
+//!                PCM 44.1KHz stereo playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0030
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0031
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0031
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 44.1k stereo MP3 playback with 48k stereo MP3 playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz) 
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 20 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_320kbps_st_Test3.mp3)
+//!                7. Play 20 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 44.1k stereo MP3 playback with 48k stereo MP3 playback
+//! TEST_BLOCK 001
+//!                MP3 44.1 KHz stereo playback
+//! TEST_BLOCK 002
+//!                MP3 48 KHz stereo playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0031
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0032
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0032
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 44.1k stereo MP3 playback with 48k stereo PCM playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz) 
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 20 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                7. Play 20 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 44.1k stereo MP3 playback with 48k stereo PCM playback
+//! TEST_BLOCK 001
+//!                MP3 44.1 KHz stereo playback
+//! TEST_BLOCK 002
+//!                PCM 48 KHz stereo playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0032
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0033
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0033
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 44.1k stereo MP3 playback with 8k mono AMR-NB playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz) 
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 20 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= AMR)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7. Play 20 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 44.1k stereo MP3 playback with 8k mono AMR-NB playback
+//! TEST_BLOCK 001
+//!                MP3 44.1 KHz stereo playback
+//! TEST_BLOCK 002
+//!                AMR-NB 8KHz mono playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0033
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0034
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0034
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 48k mono MP3 playback with 16k mono and stereo PCM playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz) 
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_mono_Test1.mp3)
+//!                7. Play 55 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_16k_16b_signed_mono_Test2.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 003
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz) and delay 30 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_16k_16b_signed_st_Test2.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 48k mono MP3 playback with 16k mono and stereo PCM playback
+//! TEST_BLOCK 001
+//!                MP3 48 KHz mono playback
+//! TEST_BLOCK 002
+//!                PCM 16KHz mono playback
+//! TEST_BLOCK 003
+//!                PCM 16KHz mono playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	80	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  55000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	120	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0003-SetConfigL_command05
+		DELAY  30000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0003-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0034
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0035
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0035
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 48k mono MP3 playback with 44.1k mono and stereo PCM playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz) 
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_mono_Test1.mp3)
+//!                7. Play 55 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate44100Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_mono_Test2.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 003
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate44100Hz) and delay 30 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_st_Test2.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 48k mono MP3 playback with 44.1k mono and stereo PCM playback
+//! TEST_BLOCK 001
+//!                MP3 48 KHz mono playback
+//! TEST_BLOCK 002
+//!                PCM 44.1 KHz mono playback
+//! TEST_BLOCK 003
+//!                PCM 44.1 KHz mono playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	80	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  55000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	120	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0003-SetConfigL_command05
+		DELAY  30000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0003-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0035
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0036
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0036
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 48k mono MP3 playback with 48k mono and stereo PCM playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_mono_Test1.mp3)
+//!                7. Play 55 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFMono; Rate= EMMFSampleRate48000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_mono_Test1.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 003
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFStereo; Rate= EMMFSampleRate48000Hz) and delay 30 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 48k mono MP3 playback with 48k mono and stereo PCM playback
+//! TEST_BLOCK 001
+//!                MP3 48 KHz mono playback
+//! TEST_BLOCK 002
+//!                PCM  48 KKz mono playback
+//! TEST_BLOCK 003
+//!                PCM 48 KHz stereo playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	80	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  55000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	120	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0003-SetConfigL_command05
+		DELAY  30000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0003-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0036
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0037
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0037
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 48k mono MP3 playback with 8k mono and stereo PCM playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFMono; Rate= EMMFSampleRate48000Hz) 
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_mono_Test1.mp3)
+//!                7. Play 55 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFMono; Rate= EMMFSampleRate8000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_8k_16b_signed_mono_Test1.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 003
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFMono; Rate= EMMFSampleRate8000Hz) and delay 30 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_8k_16b_signed_st_Test1.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 48k mono MP3 playback with 8k mono and stereo PCM playback
+//! TEST_BLOCK 001
+//!                MP3 48Khz mono playback
+//! TEST_BLOCK 002
+//!                PCM 8 HKz mono playback
+//! TEST_BLOCK 003
+//!                PCM 8 KHz mono playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	80	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  55000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	120	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0003-SetConfigL_command05
+		DELAY  30000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0003-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0037
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0038
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0038
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 48k stereo MP3 playback with 16k mono and stereo PCM playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFStereo; Rate= EMMFSampleRate48000Hz) 
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_st_Test5.mp3)
+//!                7. Play 55 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFMono; Rate= EMMFSampleRate16000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_16k_16b_signed_mono_Test2.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 003
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFStereo; Rate= EMMFSampleRate16000Hz) and delay 30 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_16k_16b_signed_st_Test2.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 48k stereo MP3 playback with 16k mono and stereo PCM playback
+//! TEST_BLOCK 001
+//!                MP3 48 KHz stereo playback
+//! TEST_BLOCK 002
+//!                PCM 16 KHz mono playback
+//! TEST_BLOCK 003
+//!                PCM 16 KHz stereo playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	80	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  55000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0002-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	120	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0003-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0003-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0038
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0039
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0039
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 48k stereo MP3 playback with 44.1k mono and stereo PCM playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFStereo; Rate= EMMFSampleRate48000Hz) 
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_st_Test5.mp3)
+//!                7. Play 55 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFMono; Rate= EMMFSampleRate44100Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_mono_Test2.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 003
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFStereo; Rate= EMMFSampleRate16000Hz) and delay 30 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_st_Test2.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 48k stereo MP3 playback with 44.1k mono and stereo PCM playback
+//! TEST_BLOCK 001
+//!                MP3 48K KHz stereo playback
+//! TEST_BLOCK 002
+//!                PCM 44.1 KHz mono playback
+//! TEST_BLOCK 003
+//!                PCM 44.1 KHz stereo playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	80	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  55000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	120	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0003-SetConfigL_command05
+		DELAY  30000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0003-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0039
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0040
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0040
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 48k stereo MP3 playback with 48k mono and stereo PCM playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFStereo; Rate= EMMFSampleRate48000Hz) 
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_st_Test5.mp3)
+//!                7. Play 55 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFMono; Rate= EMMFSampleRate48000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_mono_Test1.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 003
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFStereo; Rate= EMMFSampleRate48000Hz) and delay 30 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 48k stereo MP3 playback with 48k mono and stereo PCM playback
+//! TEST_BLOCK 001
+//!                MP3 48 KHz stereo playback
+//! TEST_BLOCK 002
+//!                PC, 48 KHz mono playback
+//! TEST_BLOCK 003
+//!                PCM 48 KHz stereo playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	80	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  55000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	120	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0003-SetConfigL_command05
+		DELAY  30000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0003-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0040
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0041
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0041
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 48k stereo MP3 playback with 8k mono and stereo PCM playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFStereo; Rate= EMMFSampleRate48000Hz) 
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_st_Test5.mp3)
+//!                7. Play 55 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFMono; Rate= EMMFSampleRate8000Hz) and delay 10 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_8k_16b_signed_mono_Test1.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 003
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFStereo; Rate= EMMFSampleRate8000Hz) and delay 30 seconds
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_8k_16b_signed_st_Test1.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 48k stereo MP3 playback with 8k mono and stereo PCM playback
+//! TEST_BLOCK 001
+//!                MP3 48 KHz stereo playback
+//! TEST_BLOCK 002
+//!                PCM 8 KHz mono playback
+//! TEST_BLOCK 003
+//!                PCM 8 KHz stereo playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	80	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  55000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	120	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0003-SetConfigL_command05
+		DELAY  30000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0003-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0041
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0042
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0042
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			ddamian
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Volume control of two simultaneous audio playbacks
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities.
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7.- Play 15 s
+//!                8.- Set volume (Volume = 100). Wait 5 seconds
+//!                9.- Set Volume (Volume = 50). Wait 20 seconds
+//!                10.- Stop
+//!                11.- Close File
+//!                12.- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities.
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz). Wait 5 seconds
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_st_Test5.mp3)
+//!                7.- Play 20s
+//!                8.- Set volume (Volume = 0) and wait 5 seconds
+//!                9.- Set Volume (Volume = 50) and wait 10 seconds
+//!                10.- Stop
+//!                11.- Close File
+//!                12.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Volume control of two simultaneous audio playbacks
+//! TEST_BLOCK 001
+//!                MP3 Playback as audioplayback
+//! TEST_BLOCK 002
+//!                MP3 Playback as audioplayback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  15000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0001-SetVolume_command08
+		ASYNC_DELAY  5000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0001-SetVolume_command09
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0002-SetConfigL_command05
+		DELAY  5000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0002-SetVolume_command08
+		ASYNC_DELAY  5000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0002-SetVolume_command09
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0042
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0043
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0043
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Audio playback with none capability during audio playback with multimediadd capability
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 20 seconds
+//!                8. Stop
+//!                9. Close File
+//!                10. Destroy DevSound instance
+//!                
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz). Wait 10 seconds
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test4.mp3)
+//!                7.- Play 20 seconds
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Audio playback with none capability during audio playback with multimediadd capability
+//! TEST_BLOCK 001
+//!                MP3 playback
+//! TEST_BLOCK 002
+//!                MP3 playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13			devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0043
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0044
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0044
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			ddamian
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Audio playback during xSP VoIP downlink with writedevicedata capability
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityUnknownVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceUnknownVoipCallDown}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7.- Play 20 sec
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3.- Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz). Wait 10 seconds
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                7.- Play
+//!                8.- Close File
+//!                9.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Audio playback during xSP VoIP downlink with writedevicedata capability
+//! TEST_BLOCK 001
+//!                AMR-NB playback as UnknownVoIPCallDown
+//! TEST_BLOCK 002
+//!                PCM playback as audioplayback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0044
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0045
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0045
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Incoming call during Mobile TV playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. create DevSound Instance att
+//!                2. Initialize DevSound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. SetPriority (Priority = {Priority,PriorityMobileTV} ; Preference = {PriorityPreference,PriorityPreferenceMobileTV}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. SetConfiguration (Channels=EMMFStereo; Rate= EMMFSampleRate44100Hz)
+//!                6. Open File (Filename= {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play
+//!                8. Close File
+//!                9. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. create DevSound Instance att
+//!                2. Initialize DevSound (Mode= EMMFStatePlaying; FourCC=MP3)
+//!                3. SetPriority (Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. SetConfiguration (Channels=EMMFStereo; Rate= EMMFSampleRate48000Hz) and delay 10 seconds
+//!                6. Open File (Filename= {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_160-256kbps_st_Test1.mp3)
+//!                7. Play
+//!                8. Close File
+//!                9. Destroy DevSound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming call during Mobile TV playback
+//! TEST_BLOCK 001
+//!                MP3 playback as Mobile TV
+//! TEST_BLOCK 002
+//!                MP3 playback as Incoming Call
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0045
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0046
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0046
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		PoC downlink during Mobile TV playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC=MP3)
+//!                3. SetPriority (Priority= {Priority,PriorityMobileTV};  Preference={PriorityPreference,PriorityPreferenceMobileTV}; PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. SetConfiguration (Channels=EMMFStereo; Rate=EMMFSampleRate44100Hz)
+//!                6. Open File (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Set Expected Play Error(ExpectedPlayError=-13)
+//!                8. PlayInitL 30s
+//!                9. Stop
+//!                10. Close file
+//!                11. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC=AMR)
+//!                3. SetPriority (Priority={Priority,PriorityPocCallDown}; Preference={PriorityPreference,PriorityPreferencePocCallDown} ; PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. SetConfiguration & wait 10s (Channels=EMMFMono; Rate=EMMFSampleRate8000Hz)
+//!                6. Open File (Filename= {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7. PlayInitL TIMER_10S
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PoC downlink during Mobile TV playback
+//! TEST_BLOCK 001
+//!                MP3 playback as Mobile TV
+//! TEST_BLOCK 002
+//!                AMR-NB playback as PocCallDown
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13			devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0046
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0047
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0047
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Mix 8k mono AMR-NB playback with 16k mono AMR-WB playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7. Start Play 20 s
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AWB)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration & wait 10s (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7. Start Play 20 s
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 8k mono AMR-NB playback with 16k mono AMR-WB playback
+//! TEST_BLOCK 001
+//!                AMR-NB 8KHz playback
+//! TEST_BLOCK 002
+//!                AMR-WB 8KHz playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0047
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0048
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0048
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Mix 8k mono AMR-NB playback with 48k stereo PCM playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7. Start Play 20 s
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration & wait 10s (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                7. Start Play 20 s
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 8k mono AMR-NB playback with 48k stereo PCM playback
+//! TEST_BLOCK 001
+//!                AMR-NB 8 KHz playback
+//! TEST_BLOCK 002
+//!                PCM 48 KHz playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0048
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0049
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0049
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Mix 8k mono AMR-NB playback with 8k mono AMR-NB playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7. Start Play 20 s
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration & wait 10s(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_backwards.amr)
+//!                7. Start Play 20 s
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 8k mono AMR-NB playback with 8k mono AMR-NB playback
+//! TEST_BLOCK 001
+//!                AMR-NB 8 KHz playback
+//! TEST_BLOCK 002
+//!                AMR-NB 8 HKz playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0049
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0050
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0050
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::SetVolume(TInt)
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::SetVolume(TInt)
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		9/8/2008 
+//!@SYMTestCaseDesc		Volume control of two simultaneous audio playbacks
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test2.mp3)
+//!                7. Start Play for 15 seconds
+//!                8. Set volume and delay 5 seconds (Volume = 100)
+//!                9. Set volume and delay 20 seconds (Volume = 50)
+//!                10. Stop
+//!                11. Close file
+//!                12. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration and delay 5 seconds (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_st_Test5.mp3)
+//!                7. Start Play for 20 seconds
+//!                8. Set volume and delay 5 seconds (Volume = 0)
+//!                9. Set volume and delay 10 seconds (Volume = 50)
+//!                10. Stop
+//!                11. Close file
+//!                12. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Volume control of two simultaneous audio playbacks
+//! TEST_BLOCK 001
+//!                MP3 Playback with volume settings
+//! TEST_BLOCK 002
+//!                MP3 Playback with volume settings
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0001-SetVolume_command08
+		ASYNC_DELAY  5000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0001-SetVolume_command09
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0002-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0002-SetVolume_command08
+		ASYNC_DELAY  5000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0002-SetVolume_command09
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0050
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0051
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0051
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		9/8/2008 
+//!@SYMTestCaseDesc		PoC downlink during audio playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.  Create DevSound instance 
+//!                2.  Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3.  Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4.  Capabilities 
+//!                5.  Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6.  Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7.  Set expected play error( ExpectedPlayError= -13)
+//!                8.  Start Play
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!                
+//! TEST_BLOCK 002
+//!                1.  Create DevSound instance 
+//!                2.  Initialize DevSound (Mode= EMMFStatePlaying; FourCC= AMR)
+//!                3.  Set Priority (Priority= {Priority,PriorityPocCallDown}; Preference= {PriorityPreference,PriorityPreferencePocCallDown} ; PriorityState= EMMFStatePlaying)
+//!                4.  Capabilities 
+//!                5.  Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz) and delay 10 seconds
+//!                6.  Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7.  Play 10 seconds
+//!                8.  Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PoC downlink during audio playback
+//! TEST_BLOCK 001
+//!                AMR-NB playback as PocCallDown
+//! TEST_BLOCK 002
+//!                MP3 playback as Incoming Call
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13			devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0051
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0052
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0052
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		9/8/2008 
+//!@SYMTestCaseDesc		PoC downlink during incoming SMS
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.  Create DevSound instance 
+//!                2.  Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3.  Set Priority (Priority= {Priority,PriorityReceivedSMS}; Preference= {PriorityPreference,PriorityPreferenceReceivedSMS}; PriorityState= EMMFStatePlaying)
+//!                4.  Capabilities 
+//!                5.  Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6.  Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7.  Set expected play error( ExpectedPlayError= -13)
+//!                8.  Start Play
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.  Create DevSound instance 
+//!                2.  Initialize DevSound (Mode= EMMFStatePlaying; FourCC= AMR)
+//!                3.  Set Priority (Priority= {Priority,PriorityPocCallDown}; Preference= {PriorityPreference,PriorityPreferencePocCallDown} ; PriorityState= EMMFStatePlaying)
+//!                4.  Capabilities 
+//!                5.  Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz) and delay 10 seconds
+//!                6.  Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7.  Play 10 seconds
+//!                8.  Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PoC downlink during incoming SMS
+//! TEST_BLOCK 001
+//!                G.729AB 8k 8kbps mono playback when cng on
+//! TEST_BLOCK 002
+//!                AMR-NB playback verify all bitrates when cng on
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13			devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0052
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0053
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0053
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		9/8/2008 
+//!@SYMTestCaseDesc		Audio playback during PoC downlink
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- create DevSoundTester instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR  )
+//!                3.- Set Priority (Priority = {Priority,PriorityPocCallDown}; Preference = {PriorityPreference,PriorityPreferencePocCallDown} ; PriorityState = EMMFStatePlaying )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Open file (Filename ={drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7.- Start Play 20s
+//!                8 Close file
+//!                9- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- create DevSoundTester instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3.- Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6.- Open file (Filename ={drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7.- Pause 10s(Pause=TRUE)
+//!                8.- SetExpectedError(ExpectedPlayError=-21)
+//!                9.- Start Play
+//!                10.- Close file
+//!                11.- Destroy DevSound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Audio playback during PoC downlink
+//! TEST_BLOCK 001
+//!                MP3 playback as Received SMS
+//! TEST_BLOCK 002
+//!                AMR-NB playback as PocCallDown
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0002-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0002-OpenFile_command06
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0002-Stop_command07
+		DELAY  10000000 
+		COMMAND		!AsyncError=-21			devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0053
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0054
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0054
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::RecordInitL()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		9/8/2008 
+//!@SYMTestCaseDesc		Incoming call during PoC downlink
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- create DevSoundTester instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR  )
+//!                3.- Set Priority (Priority = {Priority,PriorityPocCallDown}; Preference = {PriorityPreference,PriorityPreferencePocCallDown} ; PriorityState = EMMFStatePlaying )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Open file (Filename ={drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr) 
+//!                7.- Start Play 
+//!                8.- Close file
+//!                9.- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- create DevSoundTester instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3  )
+//!                3.- Set Priority (Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState = EMMFStatePlaying )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6.- Open file (Filename ={drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7.- Pause 10S(Pause=TRUE)
+//!                8.- Start Play 10s
+//!                9.- Close file
+//!                10.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming call during PoC downlink
+//! TEST_BLOCK 001
+//!                AMR-NB playback as PocCallDown
+//! TEST_BLOCK 002
+//!                AMR playback as Voice Recording
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13			devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0002-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0002-OpenFile_command06
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0002-Stop_command07
+		DELAY  10000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PP-0054
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-comb_pr.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,3745 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsound-validation-automated-comb_pr
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsound
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0001
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0001
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Audio playback during voice recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\Recording\PlayMP3DuringRecAMRNB.amr)
+//!                7. Record 20 s
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\PlayMP3DuringRecAMRNB.amr)
+//!                15. Play EOF
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration 10s (Channels = EMMFMono; Rate = EMMFSampleRate44100Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Set expected play error( ExpectedPlayError=-21)
+//!                8. Play EOF
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Audio playback during voice recording
+//! TEST_BLOCK 001
+//!                Record AMR file during 20s and play recorded file
+//! TEST_BLOCK 002
+//!                Error expected -21 while trying to play MP3 file
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	175	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0002-OpenFile_command06
+        COMMAND   !AsyncError=-21    devsound1 PlayInitL        
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0001
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0002
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0002
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Incoming call during voice recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound (Mode = EMMFStateRecording; FourCC = AMR)
+//!                3. Set Priority ( Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState=EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\IncomingCallDuringRecAMRNB.amr)
+//!                7. Record 20 seconds
+//!                8. Close file and delay 15 seconds
+//!                9. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                10. Set Priority ( Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                11. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\IncomingCallDuringRecAMRNB.amr)
+//!                12. Play EOF
+//!                13. Close file
+//!                14. Delete DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority ( Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration and delay 10 seconds (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 10 seconds
+//!                8. Stop
+//!                9. Close file
+//!                10. Delete DevSound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming call during voice recording
+//! TEST_BLOCK 001
+//!                Record AMR file with expected error -13
+//! TEST_BLOCK 002
+//!                MP3 playback for 10s
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0001-ReplaceFile_command06
+		COMMAND		!AsyncError=-13    devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		CloseFile
+		DELAY  15000000 
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0001-OpenFile_command12
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0002
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0003
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0003
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Mixing rule - Stop and perform
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\Recording\MixingRuleSR.amr)
+//!                7. Record 20 s
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14. OpenFile (Filename={drive,mmc}\multimedia\mmf\devsound\Recording\MixingRuleSR.amr)
+//!                15. Play EOF
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration 10s (Channels = EMMFMono; Rate = EMMFSampleRate44100Hz)
+//!                6. OpenFile (Filename={drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Set expected play error( ExpectedPlayError=-21)
+//!                8. Play EOF
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mixing rule - Stop and perform
+//! TEST_BLOCK 001
+//!                Record AMR for 20s and playback until EOF
+//! TEST_BLOCK 002
+//!                MP3 playback with expected error -21
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	175	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0002-OpenFile_command06
+		COMMAND		!AsyncError=-21    devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0003
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0004
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0004
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM playback during audio playback recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate44100Hz)
+//!                6. OpenFile (Filename={drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Set Expected Play Error(ExpectedPlayError=-13)
+//!                8. Play 30 s
+//!                9. Stop
+//!                10. CloseFile
+//!                11. Delete devsound instance
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration 10 s(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\Recording\PlayPCMDuringPlayRec.amr)
+//!                7. Record 20 s
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14. OpenFile (Filename={drive,mmc}\multimedia\mmf\devsound\Recording\PlayPCMDuringPlayRec.amr)
+//!                15. Play EOF
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//! TEST_BLOCK 003
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration 20 s(Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)
+//!                6. OpenFile (Filename={drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                7. Set Expected Play Error (ExpectedPlayError=-21)
+//!                8. Play EOF
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM playback during audio playback recording
+//! TEST_BLOCK 001
+//!                MP3 playback with expected error -13
+//! TEST_BLOCK 002
+//!                AMR record for 20s and playback until EOF
+//! TEST_BLOCK 003
+//!                RAW playback with expected error -21
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	80	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13    devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	80	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	80	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0003-SetConfigL_command05
+		DELAY  20000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0003-OpenFile_command06
+		COMMAND		!AsyncError=-21    devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0004
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0005
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0005
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		 Mix 16k mono AMR-WB playback with AMR-NB recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= AWB)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels= EMMFMono; Rate= EMMFSampleRate16000Hz) 
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7. Play 30 seconds 
+//!                8. Stop
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStateRecording; FourCC= AMR)
+//!                3. Set Priority (Priority= {Priority,PriorityVoiceRecording}; Preference= {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState= EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz) and delay 10 seconds
+//!                6. ReplaceFile (Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayAMRWBWithRecAMRNB.amr)
+//!                7. Record 10 seconds
+//!                8. Stop 15 seconds
+//!                9. CloseFile
+//!                10. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= AMR)
+//!                11. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz) 
+//!                14. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayAMRWBWithRecAMRNB.amr)
+//!                15. Play
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//!                
+
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 16k mono AMR-WB playback with AMR-NB recording
+//! TEST_BLOCK 001
+//!                AMR-WB 16HKz mono playback
+//! TEST_BLOCK 002
+//!                AMR-NB 8KHz mono playback and recording
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13    devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  15000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0005
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0006
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0006
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		 Mix 44.1k stereo MP3 playback with AMR-NB recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz) 
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 30 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStateRecording; FourCC= AMR)
+//!                3. Set Priority (Priority= {Priority,PriorityVoiceRecording}; Preference= {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState= EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz) and delay 10 seconds
+//!                6. ReplaceFile (Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayAMRWBWithRecAMRNB.amr)
+//!                7. Record 10 seconds
+//!                8. Stop 15 seconds
+//!                9. CloseFile
+//!                10. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= AMR)
+//!                11. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz) 
+//!                14. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayAMRWBWithRecAMRNB.amr)
+//!                15. Play
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//!                
+
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 44.1k stereo MP3 playback with AMR-NB recording
+//! TEST_BLOCK 001
+//!                MP3 44.1 KHz stereo playback
+//! TEST_BLOCK 002
+//!                AMR 8 KHz mono recording and playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13    devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  15000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0006
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0007
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0007
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		 Mix 44.1k stereo MP3 playback with AMR-WB recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz) 
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 30 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStateRecording; FourCC= AWB)
+//!                3. Set Priority (Priority= {Priority,PriorityVoiceRecording}; Preference= {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState= EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz) and delay 10 seconds
+//!                6. ReplaceFile (Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayMP3WithRecAMRWB.awb)
+//!                7. Record 10 seconds
+//!                8. Stop 15 seconds
+//!                9. CloseFile
+//!                10. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= AWB)
+//!                11. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz) 
+//!                14. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayMP3WithRecAMRWB.awb)
+//!                15. Play
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 44.1k stereo MP3 playback with AMR-WB recording
+//! TEST_BLOCK 001
+//!                MP3 44.1 KHz stereo playback
+//! TEST_BLOCK 002
+//!                AMR-WB 16KHz  stereo recording and playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13    devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  15000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0007
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0008
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0008
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		 Mix 48k stereo PCM playback with PCM recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceNone}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFStereo; Rate= EMMFSampleRate48000Hz) 
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_8k_16b_signed_st_Test1.pcm)
+//!                7. Play 30 seconds
+//!                8. Stop 
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStateRecording; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityVoiceRecording}; Preference= {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState= EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz) and delay 10 seconds
+//!                6. ReplaceFile (Filename= {drive,mmc}\multimedia\mmf\devsound\codec_mixing\MixPlayPCMWithRecPCM.pcm)
+//!                7. Record 10 seconds
+//!                8. Stop 15 seconds
+//!                9. CloseFile
+//!                10. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                11. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels= EMMFMono; Rate= EMMFSampleRate8000Hz) 
+//!                14. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\codec_mixing\MixPlayPCMWithRecPCM.pcm)
+//!                15. Play
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 48k stereo PCM playback with PCM recording
+//! TEST_BLOCK 001
+//!                PCM 8KHz stereo playback
+//! TEST_BLOCK 002
+//!                PCM 8 HKz mono recording and playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	80	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  15000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0008
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0009
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0009
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			ddamian
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		44.1k audio playback during VoIP call - AMR-WB
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AWB)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7.- Play 30 sec
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AWB)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallUp}; Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayMP3DuringVoIPCallAMRWB.awb)
+//!                7.- Record Init 30s
+//!                8.- Stop and wait 5 sec.
+//!                9.- Close File
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AWB)
+//!                11.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayMP3DuringVoIPCallAMRWB.awb)
+//!                15.- Play EOF
+//!                16.- Close file
+//!                17.- Destroy DevSound instance
+//! TEST_BLOCK 003
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration and wait 10 seconds (Channels = EMMFStereo; Rate =EMMFSampleRate44100Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7.- Play 10 sec
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                44.1k audio playback during VoIP call - AMR-WB
+//! TEST_BLOCK 001
+//!                AMR-WB 16 KHz mono playback as VoIPCallDown
+//! TEST_BLOCK 002
+//!                AMR-NB 16 KHz mono recording and playback as VoIPCall
+//! TEST_BLOCK 003
+//!                MP3 44.1 KHz stereo playback as audio playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0003-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0003-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0009
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0010
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0010
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 004
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		SWIS playback and voice recording during VoIP call
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7.- Play 50 sec
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallUp}; Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\PlaySWISAndRecAMRNBDuringVoIPCall1.amr)
+//!                7.- Record 50 sec.
+//!                8.- Stop and wait 5 sec.
+//!                9.- Close File
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\PlaySWISAndRecAMRNBDuringVoIPCall1.amr)
+//!                15.- Play
+//!                16.- Close file
+//!                17.- Destroy DevSound instance
+//! TEST_BLOCK 003
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3.- Set Priority settings (Priority = {Priority,PrioritySWISPlayback}; Preference = {PriorityPreference,PriorityPreferenceSWISPlayback}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz). Wait 10 seconds
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7.- Play 20 seconds
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 004
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound  ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3.- Set priority settings (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- SetConfiguration and wait 20 sec (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\PlaySWISAndRecAMRNBDuringVoIPCall2.amr)
+//!                7.- Record 20 seconds
+//!                8.- Stop and wait 70 seconds
+//!                9.- Close File
+//!                10.- initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11.- Set priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\PlaySWISAndRecAMRNBDuringVoIPCall2.amr)
+//!                15..- Play
+//!                16.- Close File
+//!                17.- Destroy Data
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                SWIS playback and voice recording during VoIP call
+//! TEST_BLOCK 001
+//!                AMR-NB playback as VoIPCallDown
+//! TEST_BLOCK 002
+//!                AMR-NB record and playback as VoIPCallUp
+//! TEST_BLOCK 003
+//!                MP3 playback as SWIS playback
+//! TEST_BLOCK 004
+//!                AMR-NB record and playback as voice recording
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  50000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  50000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0003-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0003-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-SetConfigL_command05
+		DELAY  20000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  70000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0010
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0011
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0011
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Voice recording during VoIP call - AMR-NB
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7.- Play 30 sec
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallUp}; Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRNB1.amr)
+//!                7.- Record 30 sec.
+//!                8.- Stop and wait 5 sec.
+//!                9.- Close File
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRNB1.amr)
+//!                15.- Play file and wait 5 sec
+//!                16.- Close file
+//!                17.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                18.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                19.- Capabilities
+//!                20.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                21.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRNB2.amr)
+//!                22.- Play file
+//!                23.- Close file
+//!                24.- Destroy DevSound instance
+//! TEST_BLOCK 003
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration and wait 10 sec (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRNB2.amr)
+//!                7.- Record 10 sec.
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Voice recording during VoIP call - AMR-NB
+//! TEST_BLOCK 001
+//!                AMR-NB playback as VoIPCallDown
+//! TEST_BLOCK 002
+//!                AMR-NB recording and playback as VoIPCallUp
+//! TEST_BLOCK 003
+//!                AMR-NB playback as Voice recording
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		DELAY  5000000 
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-InitializeL_command17
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-SetPrioritySettings_command18
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-SetConfigL_command20
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-OpenFile_command21
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0003-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0003-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0011
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0012
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0012
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Voice recording during VoIP call - AMR-WB
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AWB)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7.- Play 30 sec
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AWB)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallUp}; Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRWB.awb)
+//!                7.- Record 30 sec.
+//!                8.- Stop and wait 5 sec.
+//!                9.- Close File
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AWB)
+//!                11.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRWB.awb)
+//!                15.- Play file and wait 5 sec
+//!                16.- Close file
+//!                17.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                18.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                19.- Capabilities
+//!                20.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                21.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRWB.amr)
+//!                22.- Play file
+//!                23.- Close file
+//!                24.- Destroy DevSound instance
+//! TEST_BLOCK 003
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration and wait 10 sec (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRNB2.amr)
+//!                7.- Record 10 sec.
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Voice recording during VoIP call - AMR-WB
+//! TEST_BLOCK 001
+//!                AMR Playback as VoIPCallDown
+//! TEST_BLOCK 002
+//!                AMR-WB recording and playback as VoIPCallUp
+//! TEST_BLOCK 003
+//!                AMR-NB playback as Voice recording
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		DELAY  5000000 
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-InitializeL_command17
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-SetPrioritySettings_command18
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-SetConfigL_command20
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-OpenFile_command21
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0003-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0003-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0012
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0013
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0013
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		VoIP call during audio playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.  Create DevSound instance
+//!                2.  Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3.  Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                4.  Capabilities
+//!                5.  Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6.  Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7.  Play
+//!                8. Close File
+//!                9. Destroy DevSound instance
+//!                
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration and wait 10 sec (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7.- Play 10 seconds
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 003
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallUp}; Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\VoIPCallDuringPlayMP3.amr)
+//!                7.- Record 10s
+//!                8.- Stop and wait 5 sec.
+//!                9.- Close File
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\VoIPCallDuringPlayMP3.amr)
+//!                15.- Play
+//!                16.- Close file
+//!                17.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                VoIP call during audio playback
+//! TEST_BLOCK 001
+//!                MP3 Playback as audioplayback
+//! TEST_BLOCK 002
+//!                AMR-NB playback as VoIPCallDown
+//! TEST_BLOCK 003
+//!                AMR-NB recording and playback as VoIPCallUp
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13    devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0002-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0013
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0014
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0014
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 004
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		VoIP call during VoIP call
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7.- Play 30 sec
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallUp}; Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\VoIPCallDuringVoIPCall1.amr)
+//!                7.- Record Init 30s
+//!                8.- Stop and wait 5 sec.
+//!                9.- Close File
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\VoIPCallDuringVoIPCall1.amr)
+//!                15.- Play
+//!                16.- Close file
+//!                17.- Destroy DevSound instance
+//! TEST_BLOCK 003
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration and wait 10 sec (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_backwards.amr)
+//!                7.- Play 10 seconds
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 004
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallUp}; Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration and wait 10 sec (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\VoIPCallDuringVoIPCall2.amr)
+//!                7.- Record 10 sec.
+//!                8.- Stop and wait 50 sec.
+//!                9.- Close File
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\VoIPCallDuringVoIPCall2.amr)
+//!                15.- Play
+//!                16.- Close file
+//!                17.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                VoIP call during VoIP call
+//! TEST_BLOCK 001
+//!                AMR-NB playback as VoIPCallDown
+//! TEST_BLOCK 002
+//!                AMR-NB recording and playback as VoIPCallUp
+//! TEST_BLOCK 003
+//!                AMR-NB playback as VoIPCallDown
+//! TEST_BLOCK 004
+//!                AMR-NB recording and playback as VoIPCallUp
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0003-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0003-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  50000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0014
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0015
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0015
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Mix 8k mono AMR-NB playback with AMR-NB recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7. Set Expected Play Error(ExpectedPlayError=-13)
+//!                8. Start Play 30 s
+//!                9. Stop
+//!                10. Close file
+//!                11. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration & wait 10s(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayAMRNBWithRecAMRNB.amr)
+//!                7. Record 10s 
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11. Set Priority (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayAMRNBWithRecAMRNB.amr)
+//!                15. Start Play EOF 
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix 8k mono AMR-NB playback with AMR-NB recording
+//! TEST_BLOCK 001
+//!                AMR 8 KHz mono playback
+//! TEST_BLOCK 002
+//!                AMR-NB mono recording and playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	45	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0001-OpenFile_command06
+		COMMAND		!AsyncError=-13    devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	45	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0015
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0016
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0016
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Mix AMR-NB recording with AMR-NB recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRNBWithRecAMRNB1.amr)
+//!                3. Initialize Devsound ( Mode = EMMFStateRecording; FourCC= AMR)
+//!                4. Set priority settings ( Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState=EMMFStateRecording)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                7. Start record 30s
+//!                8. Stop 5s
+//!                9.Initialize Devsound ( Mode = EMMFStatePlaying; FourCC= AMR)
+//!                10.Capabilities 
+//!                11.Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                12.Set priority settings ( Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                13. FileStartPosition
+//!                14.Set expected error (ExpectedPlayError = -13)
+//!                15.Star play
+//!                16.Close file
+//!                17.Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRNBWithRecAMRNB2.amr)
+//!                3. Initialize Devsound ( Mode = EMMFStateRecording; FourCC= AMR)
+//!                4. Set priority settings ( Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState=EMMFStateRecording)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                7. Set expected error (ExpectedRecordError = -21)
+//!                8. Start record 10s
+//!                9. Stop 50s
+//!                10. Close file
+//!                11. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRNBWithRecAMRNB2.amr)
+//!                12.Initialize Devsound ( Mode = EMMFStatePlaying; FourCC= AMR)
+//!                13.Capabilities 
+//!                14.Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                15.Set priority settings ( Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                16.Star play
+//!                17.Close file
+//!                18.Destroy DevSound instance
+//!@SYMTestStatus		Delivered
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix AMR-NB recording with AMR-NB recording
+//! TEST_BLOCK 001
+//!                AMR-NB mono recording and playback
+//! TEST_BLOCK 002
+//!                AMR-NB mono recording and playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0001-ReplaceFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0001-SetConfigL_command06
+        DELAY  5000000 
+		COMMAND		!AsyncError=-21 		devsound1   RecordInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0001-InitializeL_command09
+		OUTSTANDING
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0001-SetConfigL_command11
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0001-SetPrioritySettings_command12
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-ReplaceFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-SetConfigL_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  50000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-OpenFile_command11
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-SetConfigL_command14
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-SetPrioritySettings_command15
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0016
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0017
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0017
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Mix AMR-WB recording with AMR-NB recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRWBWithRecAMRNB.awb)
+//!                3. Initialize Devsound ( Mode = EMMFStateRecording; FourCC= AWB)
+//!                4. Set priority settings ( Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState=EMMFStateRecording)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                7. Start record 30s
+//!                8. Stop 5s
+//!                9.Initialize Devsound ( Mode = EMMFStatePlaying; FourCC= AWB)
+//!                10.Capabilities 
+//!                11.Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                12.Set priority settings ( Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                13. FileStartPosition
+//!                14.Set expected error (ExpectedPlayError = -13)
+//!                15.Star play
+//!                16.Close file
+//!                17.Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRWBWithRecAMRNB.amr)
+//!                3. Initialize Devsound ( Mode = EMMFStateRecording; FourCC= AMR)
+//!                4. Set priority settings ( Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState=EMMFStateRecording)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                7. Set expected error (ExpectedRecordError = -21)
+//!                8. Start record 10s
+//!                9. Stop 50s
+//!                10.Close file
+//!                11.Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRWBWithRecAMRNB.amr)
+//!                12.Initialize Devsound ( Mode = EMMFStatePlaying; FourCC= AMR)
+//!                13.Capabilities 
+//!                14.Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                15.Set priority settings ( Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                16.Star play
+//!                17.Close file
+//!                18.Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix AMR-WB recording with AMR-NB recording
+//! TEST_BLOCK 001
+//!                AMR-NB 16 KHz mono recording and playback
+//! TEST_BLOCK 002
+//!                AMR-NB 16 KHz mono recording and playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0001-ReplaceFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0001-SetConfigL_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0001-InitializeL_command09
+		OUTSTANDING
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0001-SetConfigL_command11
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0001-SetPrioritySettings_command12
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		!AsyncError=-13    devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-ReplaceFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-SetConfigL_command06
+		COMMAND		!AsyncError=-21    devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  50000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-OpenFile_command11
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-SetConfigL_command14
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-SetPrioritySettings_command15
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0017
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0018
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0018
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Mix AMR-WB recording with AMR-WB recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRWBWithRecAMRWB1.awb)
+//!                3. Initialize Devsound ( Mode = EMMFStateRecording; FourCC= AWB)
+//!                4. Set priority settings ( Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState=EMMFStateRecording)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                7. Start record 30s
+//!                8. Stop 5s
+//!                9.Initialize Devsound ( Mode = EMMFStatePlaying; FourCC= AWB)
+//!                10.Capabilities 
+//!                11.Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                12.Set priority settings ( Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                13. FileStartPosition
+//!                14.Set expected error (ExpectedPlayError = -13)
+//!                15.Star play
+//!                16.Close file
+//!                17.Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRWBWithRecAMRWB2.awb)
+//!                3. Initialize Devsound ( Mode = EMMFStateRecording; FourCC= AWB)
+//!                4. Set priority settings ( Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState=EMMFStateRecording)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                7. Set expected error (ExpectedRecordError = -21)
+//!                8. Start record 10s
+//!                9. Stop 50s
+//!                10.Close file
+//!                11.Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRWBWithRecAMRWB2.awb)
+//!                12.Initialize Devsound ( Mode = EMMFStatePlaying; FourCC= AWB)
+//!                13.Capabilities 
+//!                14.Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                15.Set priority settings ( Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                16.Star play
+//!                17.Close file
+//!                18.Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix AMR-WB recording with AMR-WB recording
+//! TEST_BLOCK 001
+//!                AMR-NB 16 KHz mono recording and playback
+//! TEST_BLOCK 002
+//!                AMR-NB 16 KHz mono recording and playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0001-ReplaceFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0001-SetConfigL_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0001-InitializeL_command09
+		OUTSTANDING
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0001-SetConfigL_command11
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0001-SetPrioritySettings_command12
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		!AsyncError=-13    devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-ReplaceFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-SetConfigL_command06
+		COMMAND		!AsyncError=-21    devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  50000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-OpenFile_command11
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-SetConfigL_command14
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-SetPrioritySettings_command15
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0018
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0019
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0019
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		9/8/2008 
+//!@SYMTestCaseDesc		Gain control of VoIP call
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}; PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7. Start Play for 30 seconds
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityVoipCallUp}; Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}; PriorityState=EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\GainVoIPCall.amr)
+//!                7. Set Expected Record Error (ExpectedRecordError = -18)
+//!                8. Record 10 seconds
+//!                9. Set Gain and delay 10 seconds (Gain = 0)
+//!                10. Set Gain and delay 10 seconds (Gain = 1 )
+//!                11. Stop 5 seconds
+//!                12. Close file
+//!                13. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                14. Set Priority ( Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                15. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                16. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\GainVoIPCall.amr)
+//!                17. Play EOF
+//!                18. Close file
+//!                19. Delete DevSound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Gain control of VoIP call
+//! TEST_BLOCK 001
+//!                AMR-NB playback as VoIPCallDown
+//! TEST_BLOCK 002
+//!                AMR-NB recording and playback as VoIPCallUp
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		SetGain			MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-SetGain_command09
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		SetGain			MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-SetGain_command10
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-InitializeL_command13
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-SetPrioritySettings_command14
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-SetConfigL_command15
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-OpenFile_command16
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0019
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0020
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0020
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			ddamian
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		44.1k audio playback during VoIP call - AMR-NB
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7.- Play
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallUp}; Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayMP3DuringVoIPCallAMRNB.amr)
+//!                7.- Record Init 30s
+//!                8.- Stop and wait 5 sec.
+//!                9.- Close File
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayMP3DuringVoIPCallAMRNB.amr)
+//!                15.- Play
+//!                16.- Close file
+//!                17.- Destroy DevSound instance
+//! TEST_BLOCK 003
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities. Wait 10 seconds
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7.- Play 10 seconds
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                44.1k audio playback during VoIP call - AMR-NB
+//! TEST_BLOCK 001
+//!                AMR-NB 8KHz mono playback as VoIPCall
+//! TEST_BLOCK 002
+//!                AMR-NB 8 KHz mono playback as VoIPCall
+//! TEST_BLOCK 003
+//!                MP3 44.1 KHz stereo playback as audio playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		DELAY  10000000 
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0003-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0003-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0020
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0021
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0021
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			ddamian
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		8k audio playback during VoIP call - AMR-NB
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7.- Play 30 seconds
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallUp}; Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayPCMDuringVoIPCallAMRNB.amr)
+//!                7.- Record Init 30s
+//!                8.- Stop and wait 5 sec.
+//!                9.- Close File
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayMP3DuringVoIPCallAMRNB.amr)
+//!                15.- Play
+//!                16.- Close file
+//!                17.- Destroy DevSound instance
+//! TEST_BLOCK 003
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3.- Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate8000Hz). Wait 10 seconds
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_8k_16b_signed_st_Test1.pcm)
+//!                7.- Play 10 seconds
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                8k audio playback during VoIP call - AMR-NB
+//! TEST_BLOCK 001
+//!                AMR-NB 8  KHz mono playback as VoIPCall
+//! TEST_BLOCK 002
+//!                AMR-NB mono playback as VoIPCall
+//! TEST_BLOCK 003
+//!                PCM 8 KHZ mono playback as audioplayback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0003-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0003-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0021
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0022
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0022
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!@SYMAuthor			ddamian
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Basic VoIP call - AMR-NB
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7.- Play 10 seconds
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallUp}; Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayMP3DuringVoIPCallAMRNB.amr)
+//!                7.- Record 10 sec.
+//!                8.- Stop and wait 5 sec.
+//!                9.- Close File
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayMP3DuringVoIPCallAMRNB.amr)
+//!                15.- Play
+//!                16.- Close file
+//!                17.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Basic VoIP call - AMR-NB
+//! TEST_BLOCK 001
+//!                AMR-WB 8 KHZ mono playback as VoIPCall UP
+//! TEST_BLOCK 002
+//!                AMR-NB 8 KHz mono playback as VoIPCall UP
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0022
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0023
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0023
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!@SYMAuthor			ddamian
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Basic VoIP call - AMR-WB
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AWB)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7.- Play 10 sec
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AWB)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallUp}; Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\VoIPCallAMRNB.amr)
+//!                7.- Record 10s
+//!                8.- Stop and wait 5 sec.
+//!                9.- Close File
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AWB)
+//!                11.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\VoIPCallAMRNB.amr)
+//!                15.- Play
+//!                16.- Close file
+//!                17.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Basic VoIP call - AMR-WB
+//! TEST_BLOCK 001
+//!                AMR-WB mono playback as VoIPCDown
+//! TEST_BLOCK 002
+//!                AMR-NB record and playback as VoIPCallUp
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0023
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0024
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0024
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			ddamian
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Calendar alarm during VoIP call
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7.- Play 20 seconds
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallUp}; Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\CalendarAlarmDuringVoIPCall.amr)
+//!                7.- Record 20 sec.
+//!                8.- Stop and wait 5 sec.
+//!                9.- Close File
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\CalendarAlarmDuringVoIPCall.amr)
+//!                15.- Play
+//!                16.- Close file
+//!                17.- Destroy DevSound instance
+//! TEST_BLOCK 003
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityCalendarAlarm}; Preference = {PriorityPreference,PriorityPreferenceCalendarAlarm}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz). Wait 10 seconds
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7.- Play
+//!                8.- Close File
+//!                9.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Calendar alarm during VoIP call
+//! TEST_BLOCK 001
+//!                AMR-NB playback as VoIPCallDown
+//! TEST_BLOCK 002
+//!                AMR-NB record and playback as VoIPCallUp
+//! TEST_BLOCK 003
+//!                MP3 playback as calendar alarm
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0003-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0003-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0003-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0024
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0025
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0025
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			ddamian
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Incoming call during VoIP call
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7.- Play 20 sec
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallUp}; Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayDTMFDuringWBVoIPCallNonSignaling.awb)
+//!                7.- Record 20 sec.
+//!                8.- Stop and wait 5 sec.
+//!                9.- Close File
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayDTMFDuringWBVoIPCallNonSignaling.awb)
+//!                15.- Play
+//!                16.- Close file
+//!                17.- Destroy DevSound instance
+//! TEST_BLOCK 003
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateTonePlaying; FourCC = none)
+//!                3.- Set Priority settings and wait 10 sec (Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState = EMMFStateTonePlaying)
+//!                4.- Play tone sequence (Filename = {drive,mmc}\multimedia\mmf\devsound\NRT\Nokia_ringing_tone.nrt)
+//!                5.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming call during VoIP call
+//! TEST_BLOCK 001
+//!                AMR-NB playback as VoIPCallDown
+//! TEST_BLOCK 002
+//!                AMR-WB playback as VoIPCallUp
+//! TEST_BLOCK 003
+//!                NRT playback as incoming call
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0003-SetPrioritySettings_command03
+		DELAY  10000000 
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0003-PlayToneSequenceL_command04
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0025
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0026
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0026
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Mix PCM recording with PCM recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecPCMWithRecPCM1.pcm)
+//!                3. Initialize Devsound ( Mode = EMMFStateRecording; FourCC={SpecialFourCC,RAW})
+//!                4. Set priority settings ( Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState=EMMFStateRecording)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                7. Start record 30s
+//!                8. Stop 5s
+//!                9.Initialize Devsound ( Mode = EMMFStatePlaying; FourCC= P16)
+//!                10.Capabilities 
+//!                11.Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                12.Set priority settings ( Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                13. FileStartPosition
+//!                14.Set expected error (ExpectedPlayError = -13)
+//!                15.Star play
+//!                16.Close file
+//!                17.Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecPCMWithRecPCM2.pcm)
+//!                3. Initialize Devsound ( Mode = EMMFStateRecording; FourCC= {SpecialFourCC,RAW})
+//!                4. Set priority settings ( Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState=EMMFStateRecording)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                7. Set expected error (ExpectedRecordError = -21)
+//!                8. Start record 10s
+//!                9. Stop 50s
+//!                10.Close file
+//!                11.Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecPCMWithRecPCM2.pcm) 
+//!                12.Initialize Devsound ( Mode = EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                13.Capabilities 
+//!                14.Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                15.Set priority settings ( Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                16.Star play
+//!                17.Close file
+//!                18.Destroy DevSound instance
+//!@SYMTestStatus		Delivered
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mix PCM recording with PCM recording
+//! TEST_BLOCK 001
+//!                PCM 8 KHz recording and playback
+//! TEST_BLOCK 002
+//!                PCM 8 KHz recording and playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0001-ReplaceFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0001-SetConfigL_command06
+        DELAY  5000000
+		COMMAND		!AsyncError=-21    devsound1		RecordInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0001-InitializeL_command09
+		OUTSTANDING
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0001-SetConfigL_command11
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0001-SetPrioritySettings_command12
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound2
+		COMMAND		devsound2		NewL
+		COMMAND		devsound2		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-ReplaceFile_command02
+		COMMAND		devsound2		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound2		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-SetPrioritySettings_command04
+		COMMAND		devsound2		Capabilities
+		COMMAND		devsound2		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-SetConfigL_command06
+		COMMAND		devsound2		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound2		Stop
+		DELAY  50000000 
+		COMMAND		devsound2		CloseFile
+		COMMAND		devsound2		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-OpenFile_command11
+		COMMAND		devsound2		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound2		Capabilities
+		COMMAND		devsound2		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-SetConfigL_command14
+		COMMAND		devsound2		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-SetPrioritySettings_command15
+		COMMAND		devsound2		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound2		CloseFile
+		COMMAND		devsound2		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0026
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0027
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0027
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		9/8/2008 
+//!@SYMTestCaseDesc		Voice recording during PoC downlink
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.  Create DevSound instance 
+//!                2.  Initialize DevSound (Mode= EMMFStatePlaying; FourCC= AMR)
+//!                3.  Set Priority (Priority= {Priority,PriorityPocCallDown}; Preference= {PriorityPreference,PriorityPreferencePocCallDown} ; PriorityState= EMMFStatePlaying)
+//!                4.  Capabilities 
+//!                5.  Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.  Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7.  Play 20 seconds
+//!                8.  Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!                
+//! TEST_BLOCK 002
+//!                1.  Create DevSound instance 
+//!                2.  Initialize DevSound (Mode= EMMFStateRecording; FourCC= AMR)
+//!                3.  Set Priority (Priority= {Priority,PriorityVoiceRecording}; Preference= {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState= EMMFStateRecording)
+//!                4.  Capabilities 
+//!                5.  Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz) and delay 10 seconds
+//!                6.  ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecAMRNBDuringPoCDownlink.amr)
+//!                7.  Set Expected Error (ExpectedRecordError= -21)
+//!                8.  Record
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Voice recording during PoC downlink
+//! TEST_BLOCK 001
+//!                PCM 44.1k stereo playback - Sine sweep
+//! TEST_BLOCK 002
+//!                MP3 Playback as audioplayback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0002-ReplaceFile_command06
+		COMMAND		!AsyncError=-21    devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PR-0027
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-comb_pt.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,968 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsound-validation-automated-comb_pt
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsound
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0001
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0001
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Calendar alarm during alarm clock
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityCalendarAlarm}; Preference = {PriorityPreference,PriorityPreferenceClockAlarm};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Start Play for 20 seconds
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings and delay 10 seconds ( Priority={Priority,PriorityCalendarAlarm}; Preference={PriorityPreference,PriorityPreferenceCalendarAlarm}; PriorityState=EMMFStateTonePlaying)
+//!                4. Play tone sequence EOF (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                5. Delete DevSound instance.
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Calendar alarm during alarm clock
+//! TEST_BLOCK 001
+//!                MP3 playback for 20 s
+//! TEST_BLOCK 002
+//!                Play tone sequence
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0001-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0001-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0001-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pt-0001-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0001-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0001-0002-SetPrioritySettings_command03
+		DELAY  10000000 
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0001-0002-PlayToneSequenceL_command04
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0001
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0002
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0002
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Calendar alarm during incoming call
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Start Play for 20 seconds
+//!                8. Stop
+//!                9. Close file
+//!                10. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings and delay 10 seconds ( Priority={Priority,PriorityCalendarAlarm}; Preference={PriorityPreference,PriorityPreferenceCalendarAlarm}; PriorityState=EMMFStateTonePlaying)
+//!                4. Play tone sequence EOF (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                5. Delete DevSound instance.
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Calendar alarm during incoming call
+//! TEST_BLOCK 001
+//!                MP3 playback for 20s
+//! TEST_BLOCK 002
+//!                Expected error -21 during playtone sequence
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	30	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0002-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0002-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0002-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pt-0002-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0002-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0002-0002-SetPrioritySettings_command03
+		DELAY  10000000
+    COMMAND   !AsyncError=-21    devsound1 PlayToneSequenceL MULTIMEDIA-MMF-DevSound-Comb_Pt-0002-0002-PlayToneSequenceL_command05
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0002
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0003
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0003
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::SetDTMFLengths(TTimeIntervalMicroSeconds32 {ref}, TTimeIntervalMicroSeconds32 {ref}, TTimeIntervalMicroSeconds32 {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		DTMF tones during audio playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                4. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                7. Start Play for 20 seconds 
+//!                8.Stop
+//!                9.Close file
+//!                10.Destroy Devsound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings & delay 1s ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState=EMMFStateTonePlaying)
+//!                4. Set DTMF Lengths (ToneOnLength = 300000; ToneOffLength = 100000; PauseLength = 100000)
+//!                5. Start DTMF Play (DTMFString = 1234567890)
+//!                6. Destroy DevSound instance
+//!@SYMTestStatus		Delivered
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                DTMF tones during audio playback
+//! TEST_BLOCK 001
+//!                RAW playback for 20 s
+//! TEST_BLOCK 002
+//!                DTMF play
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0001-SetConfigL_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0002-SetPrioritySettings_command03
+		DELAY  10000000 
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0002-SetDTMFLengths_command04
+		COMMAND		devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0002-PlayDTMFStringL_command05
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0003
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0004
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0004
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const 
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::Pause()
+//!                CMMFDevSound::SetToneRepeats(TInt, TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Incoming call during audio playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                3. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                4. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                7. Start Play for 30 seconds 
+//!                8. Stop
+//!                9. Close File
+//!                10. Destroy Devsound Instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings ( Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying)
+//!                4. Pause for 10 seconds(Pause=TRUE)
+//!                5. Set tone repeats (RepeatCount = 5; RepeatTrailingSilence = 0)
+//!                6. Play tone sequence 10 seconds(Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko.nrt)
+//!                7. Stop
+//!                8. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming call during audio playback
+//! TEST_BLOCK 001
+//!                MP3 playback for 30s
+//! TEST_BLOCK 002
+//!                Play tone sequence
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0001-SetConfigL_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0002-Stop_command04
+		DELAY  10000000 
+		COMMAND		devsound1		SetToneRepeats			MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0002-SetToneRepeats_command05
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0002-PlayToneSequenceL_command06
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0004
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0005
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0005
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const 
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Incoming SMS during alarm clock
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityClockAlarm}; Preference= {PriorityPreference,PriorityPreferenceClockAlarm}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 20 seconds 
+//!                8. CloseFile
+//!                9. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set Priority (Priority= {Priority,PriorityReceivedSMS}; Preference= {PriorityPreference,PriorityPreferenceReceivedSMS}; PriorityState= EMMFStateTonePlaying) and delay 10 seconds
+//!                4. Play tone sequence EOF (Filename= {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                5. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming SMS during alarm clock
+//! TEST_BLOCK 001
+//!                MP3 playback for 20s
+//! TEST_BLOCK 002
+//!                Play tone sequence with expected error -21
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0005-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0005-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0005-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pt-0005-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0005-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0005-0002-SetPrioritySettings_command03
+		DELAY  10000000 
+		COMMAND   !AsyncError=-21		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0005-0002-PlayToneSequenceL_command05
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0005
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0006
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0006
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const 
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Incoming SMS during audio playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 25 seconds 
+//!                8. Stop
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set Priority (Priority= {Priority,PriorityReceivedSMS}; Preference= {PriorityPreference,PriorityPreferenceReceivedSMS}; PriorityState= EMMFStateTonePlaying) and delay 10 seconds
+//!                4. Play tone sequence EOF (Filename= {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                5. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming SMS during audio playback
+//! TEST_BLOCK 001
+//!                MP3 playback for 25s
+//! TEST_BLOCK 002
+//!                Play tone sequence
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0006-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0006-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0006-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pt-0006-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  25000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0006-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0006-0002-SetPrioritySettings_command03
+		DELAY  10000000 
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0006-0002-PlayToneSequenceL_command04
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0006
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0007
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0007
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const 
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Incoming SMS during incoming call
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority (Priority= {Priority,PriorityIncomingCall}; Preference= {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 20 seconds 
+//!                8. Stop for 2s
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!                
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode= EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set Priority (Priority= {Priority,PriorityReceivedSMS}; Preference= {PriorityPreference,PriorityPreferenceReceivedSMS}; PriorityState= EMMFStateTonePlaying) and delay 10 seconds
+//!                4. Play tone sequence EOF (Filename= {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                5. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming SMS during incoming call
+//! TEST_BLOCK 001
+//!                MP3 playback for 20s
+//! TEST_BLOCK 002
+//!                Play tone sequence with expected error -21
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0007-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0007-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0007-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pt-0007-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0007-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0007-0002-SetPrioritySettings_command03
+		DELAY  10000000 
+		COMMAND   !AsyncError=-21		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0007-0002-PlayToneSequenceL_command05
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0007
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0008
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0008
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const 
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		NRT tone playback during audio playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                3. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                4. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                7. Start Play for 30 seconds 
+//!                8. Stop for 2s
+//!                9.Close file
+//!                10.Destroy Devsound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings ( Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying)
+//!                4. Play tone sequence 10s (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko.nrt)
+//!                5. Stop sequence for 2s
+//!                6. Delete DevSound instance.
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                NRT tone playback during audio playback
+//! TEST_BLOCK 001
+//!                RAW playback for 30s
+//! TEST_BLOCK 002
+//!                Play tone sequence
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pt-0008-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0008-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0008-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0008-0001-SetConfigL_command06
+		COMMAND		   devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0008-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0008-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0008-0002-PlayToneSequenceL_command04
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0008
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0009
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0009
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			ddamian
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		DTMF tones during WB VoIP call - non-signaling
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AWB)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallDown}; Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7.- Play 32 sec
+//!                8.- Stop
+//!                9.- Close File
+//!                10.- Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = AWB)
+//!                3.- Set Priority settings (Priority = {Priority,PriorityVoipCallUp}; Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- Set Configuration and wait 2 sec (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayDTMFDuringWBVoIPCallNonSignaling.awb)
+//!                7.- Record Init 30s
+//!                8.- Stop and wait 5 sec.
+//!                9.- Close File
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AWB)
+//!                11.- Set Priority settings (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayDTMFDuringWBVoIPCallNonSignaling.awb)
+//!                15.- Play
+//!                16.- Close file
+//!                17.- Destroy DevSound instance
+//! TEST_BLOCK 003
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= none)
+//!                3. Set priority settings and wait 12 sec ( Priority = {Priority,PriorityDTMFKeyPress}; Preference = {PriorityPreference,PriorityPreferenceDTMFKeyPress}  ; PriorityState=EMMFStateTonePlaying)
+//!                4. Set DTMF Lengths (ToneOnLength = 300000; ToneOffLength = 100000; PauseLength = 100000)
+//!                5. Start DTMF Play (DTMFString = 1234567890)
+//!                6. Set DTMF Lengths (ToneOnLength = 300000; ToneOffLength = 100000; PauseLength = 100000)
+//!                7. Start DTMF Play (DTMFString = 1234567890)
+//!                8. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                DTMF tones during WB VoIP call - non-signaling
+//! TEST_BLOCK 001
+//!                AMR-WB playback as VoIPCallDown
+//! TEST_BLOCK 002
+//!                AMR-WB playback as VoIPCallUp
+//! TEST_BLOCK 003
+//!                DTMF tones playback
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  32000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-SetConfigL_command05
+		DELAY  2000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0003-SetPrioritySettings_command03
+		DELAY  12000000 
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0003-SetDTMFLengths_command04
+		COMMAND		devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0003-PlayDTMFStringL_command05
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0003-SetDTMFLengths_command06
+		COMMAND		devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0003-PlayDTMFStringL_command07
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0009
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0010
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0010
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Incoming SMS during Mobile TV playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                3. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC= MP3)
+//!                4. Set priority settings ( Priority = {Priority,PriorityMobileTV};  Preference ={PriorityPreference,PriorityPreferenceMobileTV}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz) 
+//!                7. Start play 20s
+//!                8. Close file
+//!                9.Destroy DevSound instance.
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= MP3)
+//!                3. Set priority settings delay 10s ( Priority = {Priority,PriorityReceivedSMS}; Preference = {PriorityPreference,PriorityPreferenceReceivedSMS}; PriorityState=EMMFStateTonePlaying)
+//!                4. Play tone sequence (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                5. Delete DevSound instance.
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming SMS during Mobile TV playback
+//! TEST_BLOCK 001
+//!                MP3 playback as Mobile TV
+//! TEST_BLOCK 002
+//!                NRT playback as Tone playing
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Pt-0010-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0010-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0010-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0010-0001-SetConfigL_command06
+		COMMAND     devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0010-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Pt-0010-0002-SetPrioritySettings_command03
+        DELAY  10000000
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Pt-0010-0002-PlayToneSequenceL_command04
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_PT-0010
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-comb_rr.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,151 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsound-validation-automated-comb_rr
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsound
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_RR-0001
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_RR-0001
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		SIZE Mixing rule - Stop and perform
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\Recording\SizeMixingRuleSR.amr)
+//!                7. Record 20 s
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14. OpenFile (Filename={drive,mmc}\multimedia\mmf\devsound\Recording\SizeMixingRuleSR.amr)
+//!                15. Play EOF
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//! TEST_BLOCK 002
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration 10s(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\Recording\SizeMixingRuleSR.pcm )
+//!                7. Record 60 s
+//!                8. Stop
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                SIZE Mixing rule - Stop and perform
+//! TEST_BLOCK 001
+//!                AMR record for 20s and playback until EOF
+//! TEST_BLOCK 002
+//!                AMR recording with expected error -21
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-OpenFile_command14
+		COMMAND		   devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	80	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rr.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0002-SetConfigL_command05
+		DELAY  10000000 
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0002-ReplaceFile_command06
+    COMMAND              !AsyncError=-21    devsound1 RecordInitL      
+		ASYNC_DELAY  60000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_RR-0001
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-comb_rt.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,461 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsound-validation-automated-comb_rt
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsound
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_RT-0001
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_RT-0001
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Calendar alarm during voice recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound (Mode = EMMFStateRecording; FourCC = AMR)
+//!                3. Set Priority ( Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState=EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\CalendarAlarmDuringRecAMRNB.amr)
+//!                7. Record 20 seconds
+//!                8. Stop 5 seconds
+//!                9. Close file
+//!                10. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11. Set Priority ( Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                12. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                13. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\CalendarAlarmDuringRecAMRNB.amr)
+//!                14. Play EOF
+//!                15. Close file
+//!                16. Delete DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC=ILBC)
+//!                3. Set priority settings delay 10s ( Priority = {Priority,PriorityCalendarAlarm}; Preference = {PriorityPreference,PriorityPreferenceCalendarAlarm}; PriorityState=EMMFStateTonePlaying)
+//!                4. Play tone sequence (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                5. Delete DevSound instance.
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Calendar alarm during voice recording
+//! TEST_BLOCK 001
+//!                Record AMR file during 20s and play recorded file
+//! TEST_BLOCK 002
+//!                Play tone sequence
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-SetConfigL_command12
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-OpenFile_command13
+		COMMAND		    devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0002-SetPrioritySettings_command03
+		DELAY  10000000 
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0002-PlayToneSequenceL_command04
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_RT-0001
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_RT-0002
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_RT-0002
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::SetDTMFLengths(TTimeIntervalMicroSeconds32 {ref}, TTimeIntervalMicroSeconds32 {ref}, TTimeIntervalMicroSeconds32 {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		DTMF tones during voice recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\PlayDTMFDuringRecPCM.pcm)
+//!                7. Record 30s 
+//!                8. Stop 5s
+//!                9.Close file 
+//!                10. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.Open file (Filename =  {drive,mmc}\multimedia\mmf\devsound\Recording\PlayDTMFDuringRecPCM.pcm)
+//!                15. Start Play 20 seconds
+//!                16.Close file 
+//!                17. Delete devsound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState=EMMFStateTonePlaying)
+//!                4. Set DTMF Lengths (ToneOnLength = 300000; ToneOffLength = 100000; PauseLength = 100000)
+//!                5. Start DTMF Play (DTMFString = 1234567890)
+//!                6. Set DTMF Lengths (ToneOnLength = 300000; ToneOffLength = 100000; PauseLength = 100000)
+//!                7. Start DTMF Play (DTMFString = 1234567890)
+//!                8. Destroy DevSound instance
+//!                
+//!@SYMTestStatus		Delivered
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                DTMF tones during voice recording
+//! TEST_BLOCK 001
+//!                RAW recording for 30s and play for 20s
+//! TEST_BLOCK 002
+//!                DTMF play
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound2
+		COMMAND		devsound2		NewL
+		COMMAND		devsound2		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound2		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0002-SetPrioritySettings_command03
+		COMMAND		devsound2		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0002-SetDTMFLengths_command04
+		COMMAND		devsound2		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0002-PlayDTMFStringL_command05
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound2		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0002-SetDTMFLengths_command06
+		COMMAND		devsound2		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0002-PlayDTMFStringL_command07
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound2		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_RT-0002
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_RT-0003
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_RT-0003
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const 
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!                
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Incoming SMS during voice recording
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound Instance
+//!                2. Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\IncomingSMSDuringRecAMRNB.amr)
+//!                3. Initialize Devsound ( Mode = EMMFStateRecording; FourCC= AMR)
+//!                4. Set Priority Settings ( Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState=EMMFStateRecording)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                7.Start Record for 20 seconds
+//!                8. Stop for 5 seconds
+//!                9. Close File
+//!                10. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\IncomingSMSDuringRecAMRNB.amr)
+//!                11. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                12. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                13. Capabilities 
+//!                14. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                15. Start Play
+//!                16.Close File
+//!                17. Destroy DevSound Instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings ( Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying)
+//!                4. Pause for 10 seconds(Pause=TRUE)
+//!                5. Play tone sequence 10 seconds(Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                6. Stop
+//!                7. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming SMS during voice recording
+//! TEST_BLOCK 001
+//!                AMR recording with expected error -13
+//! TEST_BLOCK 002
+//!                Play tone sequence
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-ReplaceFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-SetConfigL_command06
+		COMMAND		!AsyncError=-13    devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-OpenFile_command11
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-SetPrioritySettings_command13
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-SetConfigL_command15
+		COMMAND		  devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0002-Stop_command04
+		DELAY  10000000 
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0002-PlayToneSequenceL_command05
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_RT-0003
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_RT-0004
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_RT-0004
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const 
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Mixing rule - Stop and play beep and perform
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\Recording\MixingRuleSBR.amr)
+//!                7. Record 20 s
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14. OpenFile (Filename={drive,mmc}\multimedia\mmf\devsound\Recording\MixingRuleSBR.amr)
+//!                15. Play EOF
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings 1s ( Priority={Priority,PriorityCalendarAlarm}; Preference={PriorityPreference,PriorityPreferenceCalendarAlarm}; PriorityState=EMMFStateTonePlaying)
+//!                4. Play tone sequence EOF (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                5. Delete DevSound instance.
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Mixing rule - Stop and play beep and perform
+//! TEST_BLOCK 001
+//!                AMR recording for 20s and playback until EOF
+//! TEST_BLOCK 002
+//!                Play tone sequence
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	20	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0002-SetPrioritySettings_command03
+		DELAY  1000000 
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0002-PlayToneSequenceL_command04
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_RT-0004
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-comb_tt.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,298 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsound-validation-automated-comb_tt
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsound
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_TT-0001
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_TT-0001
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::SetDTMFLengths(TTimeIntervalMicroSeconds32 {ref}, TTimeIntervalMicroSeconds32 {ref}, TTimeIntervalMicroSeconds32 {ref})
+//!                CMMFDevSound::PlayInitL()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::SetDTMFLengths(TTimeIntervalMicroSeconds32 {ref}, TTimeIntervalMicroSeconds32 {ref}, TTimeIntervalMicroSeconds32 {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		DTMF tones during DTMF tones
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState=EMMFStateTonePlaying)
+//!                4. Set DTMF Lengths (ToneOnLength = 300000; ToneOffLength = 100000; PauseLength = 100000)
+//!                5. Start DTMF Play (DTMFString = 12345678901234567890)
+//!                6. Destroy DevSound instance
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState=EMMFStateTonePlaying)
+//!                4. Set DTMF Lengths (ToneOnLength = 300000; ToneOffLength = 100000; PauseLength = 100000)
+//!                5. Start DTMF Play (DTMFString = 09876543210987654321)
+//!                6. Destroy DevSound instance
+//!                
+//!@SYMTestStatus		Delivered
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                DTMF tones during DTMF tones
+//! TEST_BLOCK 001
+//!                DTMF play
+//! TEST_BLOCK 002
+//!                DTMF play
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0001-SetDTMFLengths_command04
+		DELAY  2000000
+        COMMAND		!AsyncError=-21    devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0001-PlayDTMFStringL_command05
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0002-SetPrioritySettings_command03
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0002-SetDTMFLengths_command04
+		COMMAND		devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0002-PlayDTMFStringL_command06
+		ASYNC_DELAY  4000000 
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_TT-0001
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_TT-0002
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_TT-0002
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const 
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const 
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 003
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const 
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Incoming call during two NRT tone playbacks
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= MP3)
+//!                3. Set priority settings ( Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStateTonePlaying)
+//!                4. Set expected error (ExpectedToneError = -13)
+//!                5. Play tone sequence 10s (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko.nrt)
+//!                6. Stop sequence
+//!                7. Delete DevSound instance.
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= MP3)
+//!                3. Set priority settings delay 1s ( Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceNone}; PriorityState=EMMFStateTonePlaying)
+//!                4. Play tone sequence 10s (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko2.nrt)
+//!                5. Stop sequence
+//!                6. Delete DevSound instance.
+//! TEST_BLOCK 003
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= MP3)
+//!                3. Set priority settings delay 5s ( Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying)
+//!                4. Play tone sequence 10s (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                5. Stop sequence
+//!                6. Delete DevSound instance.
+//!@SYMTestStatus		Delivered
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming call during two NRT tone playbacks
+//! TEST_BLOCK 001
+//!                Play tone sequence with expected error -13
+//! TEST_BLOCK 002
+//!                Play tone sequence with expected error -21
+//! TEST_BLOCK 003
+//!                Play tone sequence
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0001-SetPrioritySettings_command03
+		COMMAND		!AsyncError=-13     devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0001-PlayToneSequenceL_command05
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0002-SetPrioritySettings_command03
+		DELAY  1000000 
+		COMMAND		!AsyncError=-21     devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0002-PlayToneSequenceL_command05
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0003-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0003-SetPrioritySettings_command03
+		DELAY  5000000 
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0003-PlayToneSequenceL_command04
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_TT-0002
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_TT-0003
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_TT-0003
+//!@SYMAPI
+//! TEST_BLOCK 001
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const 
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CMMFDevSound::Stop()
+//! TEST_BLOCK 002
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const 
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		NRT tone playback during NRT tone playback
+//!@SYMTestActions
+//! TEST_BLOCK 001
+//!                1. Create DevSound instance
+//!                2. Initialize devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings ( Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying)
+//!                4. Play tone sequence 10s (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko.nrt)
+//!                5. Stop sequence
+//!                6. Delete DevSound instance.
+//! TEST_BLOCK 002
+//!                1. Create DevSound instance
+//!                2. Initialize devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings delaying 10s ( Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying) 
+//!                4. Play tone sequence 10s (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko2.nrt)
+//!                5. Stop sequence
+//!                6. Delete DevSound instance.
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                NRT tone playback during NRT tone playback
+//! TEST_BLOCK 001
+//!                Play tone sequence
+//! TEST_BLOCK 002
+//!                Play tone sequence with expected error -21
+//!@SYMTestType			CIT
+
+
+	CONCURRENT
+
+
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Tt-0003-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Tt-0003-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Tt-0003-0001-PlayToneSequenceL_command04
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+
+
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Comb_Tt-0003-0002-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Comb_Tt-0003-0002-SetPrioritySettings_command03
+		DELAY  5000000 
+		COMMAND		!AsyncError=-21     devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Comb_Tt-0003-0002-PlayToneSequenceL_command05
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-COMB_TT-0003
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-playback.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,5606 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsound-validation-automated-playback
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsound
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0001
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0001
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/7/2008 
+//!@SYMTestCaseDesc		AMR-NB 8k 12.2kbps mono playback
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration(Channels=EMMFMono;Rate=EMMFSampleRate8000Hz)
+//!                6. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_0x01_mono.amr)
+//!                7. Play 10 seconds 
+//!                8. Stop for 5 seconds (Pause=TRUE)
+//!                9. Play 10 seconds
+//!                10. FileStartPosition
+//!                11. Stop 5 seconds
+//!                12. Play 10 seconds
+//!                13. Stop
+//!                14. CloseFile
+//!                15. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB 8k 12.2kbps mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	45	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0001-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0001-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0001-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0001-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0001-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0001
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0002
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0002
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-NB 8k 12.2kbps mono playback play stop twice
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7. Start Play 10 seconds 
+//!                8. Stop for 5 seconds
+//!                9. FileStartPosition
+//!                10. Start Play 10 seconds
+//!                11. Stop
+//!                12. CloseFile
+//!                13. Destroy devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB 8k 12.2kbps mono playback play stop twice
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0002-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0002-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0002-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0002-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0002
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0003
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0003
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-NB 8k 12.2kbps mono playback repeat
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_0x01_mono.amr)
+//!                7. Play 10 seconds
+//!                8. Stop 5 seconds (Pause=TRUE)
+//!                9. Play 10 seconds 
+//!                10. FileStartPosition
+//!                11. Stop 5 seconds
+//!                12. Play 10 seconds
+//!                13. FileStartPosition
+//!                14. Stop 5 seconds
+//!                15. Play  10 seconds
+//!                16. Stop 5 seconds(Pause=TRUE)
+//!                17. Play 10 seconds 
+//!                18. FileStartPosition
+//!                19. Stop 5 seconds
+//!                20. Play 10 seconds 
+//!                21. Stop
+//!                22. CloseFile
+//!                23. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB 8k 12.2kbps mono playback repeat
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0003-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0003-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0003-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0003-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0003-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0003-0001-Stop_command16
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0003
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0004
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0004
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-NB 8k 12.2kbps mono playback twice
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying;FourCC= AMR)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_0x01_mono.amr)
+//!                7. Start Play  for 10S 
+//!                8. Stop for 5S (Pause=TRUE)
+//!                9. Play for 10S 
+//!                10. FileStartPosition
+//!                11. Stop for 5S
+//!                12. Play for 10S 
+//!                13. Stop
+//!                14. CloseFile
+//!                15. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB 8k 12.2kbps mono playback twice
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	45	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0004-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0004-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0004-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0004-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0004-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0004
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0005
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0005
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TUid aHWDev, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-NB 8k 12.2kbps mono playback using UID
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; HwDevice = {DecoderHwDevice,AMRNB})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7. Play 10 seconds 
+//!                8. Stop for 5 seconds (Pause=TRUE)
+//!                9. Resume and continue Play 10 seconds
+//!                10. Stop 5 seconds
+//!                11. FileStartPosition
+//!                12. Play 10 seconds 
+//!                13. Stop
+//!                14. CloseFile
+//!                15. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB 8k 12.2kbps mono playback using UID
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	45	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0005-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0005-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0005-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0005-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0005-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0005
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0006
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0006
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-NB 8k 12.2kbps mono playback verify EOF
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7. Start Play 
+//!                8. CloseFile
+//!                9. Destroy devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB 8k 12.2kbps mono playback verify EOF
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	1000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0006-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0006-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0006-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0006-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0006
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0007
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0007
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-NB 8k 12.2kbps mono playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech_dtx_on.amr)
+//!                7. Start Play for 10 seconds 
+//!                8. Stop for 5 seconds (Pause =TRUE)
+//!                9. Play for 10 seconds
+//!                10. Stop for 5 seconds
+//!                11. FileStartPosition
+//!                12. Start Play for 10 seconds 
+//!                13. Stop
+//!                14. CloseFile
+//!                15. Destroy Devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB 8k 12.2kbps mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	45	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0007-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0007-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0007-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0007-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0007-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0007
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0008
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0008
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-NB 8k 5.15kbps mono playback
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC= AMR)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_5.15kbps_mono_speech.amr)
+//!                7. Play  10S
+//!                8. Stop for 5S(Pause=TRUE)
+//!                9. Play 10S 
+//!                10. FileStartPosition
+//!                11. Stop 5S
+//!                12. Play 10S
+//!                13. Stop
+//!                14. CloseFile 
+//!                15. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB 8k 5.15kbps mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	45	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0008-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0008-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0008-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0008-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0008-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0008
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0009
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0009
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-NB playback verify all bitrates
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_VBR_mono_speech.amr)
+//!                7. Start Play 
+//!                8. CloseFile
+//!                9. Destroy Devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB playback verify all bitrates
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	1000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0009-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0009-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0009-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0009-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0009
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0010
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0010
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-NB playback verify all bitrates
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_VBR_mono_speech_dtx_on.amr)
+//!                7. Start Play 
+//!                8. CloseFile
+//!                9. Destroy Devsound instance.
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB playback verify all bitrates
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	1000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0010-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0010-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0010-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0010-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0010
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0011
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0011
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-WB 16k 23.85kbps mono playback repeat
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC= AWB)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7. Play 10 seconds
+//!                8. Stop 5 seconds(Pause=TRUE)
+//!                9. Play 10 seconds
+//!                10. FileStartPosition
+//!                11. Stop 5 seconds
+//!                12. Play 10 seconds
+//!                13. FileStartPosition
+//!                14. Stop 5 seconds
+//!                15. Play 10 seconds
+//!                16. Stop
+//!                17. CloseFile
+//!                18. Delete DevSound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-WB 16k 23.85kbps mono playback repeat
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0011-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0011-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0011-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0011-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0011-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0011
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0012
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0012
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-WB 16k 23.85kbps mono playback play stop twice
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC= AWB)
+//!                3. Set Priority (Priority= {Priority,PriorityNormal}; Preference= {PriorityPreference,PriorityPreferenceQuality}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels= EMMFMono; Rate= EMMFSampleRate16000Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7. Start Play 10 seconds
+//!                8. Stop 5 seconds
+//!                9. FileStartPosition
+//!                10. Start Play 10 seconds 
+//!                11. Stop
+//!                12. CloseFile
+//!                13. Destroy DevSound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-WB 16k 23.85kbps mono playback play stop twice
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0012-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0012-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0012-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0012-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0012
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0013
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0013
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-WB 16k 23.85kbps mono playback repeat
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC= AWB)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7. Play 10 seconds
+//!                8. Stop 5 seconds(Pause=TRUE)
+//!                9. Play 10 seconds
+//!                10. FileStartPosition
+//!                11. Stop 5 seconds
+//!                12. Play 10 seconds
+//!                13. FileStartPosition
+//!                14. Stop 5 seconds
+//!                15. Play 10 seconds
+//!                16. Stop 5 seconds(Pause=TRUE)
+//!                17. Play 10 seconds
+//!                18. FileStartPosition
+//!                19. Stop 5 seconds
+//!                20. Play 10 seconds
+//!                21. Stop
+//!                22. CloseFile
+//!                23. Delete DevSound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-WB 16k 23.85kbps mono playback repeat
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0013-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0013-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0013-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0013-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0013-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0013-0001-Stop_command16
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0013
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0014
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0014
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-WB 16k 23.85kbps mono playback twice
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC= AWB)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. OpenFile (Filename= {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7. Play 10 seconds
+//!                8. Stop for 5S(Pause=TRUE)
+//!                9. Play 10 seconds
+//!                10. Stop 5 seconds
+//!                11. FileStartPosition
+//!                12. Play 10 seconds
+//!                13. Stop
+//!                14. CloseFile
+//!                15. Delete DevSound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-WB 16k 23.85kbps mono playback twice
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0014-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0014-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0014-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0014-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0014-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0014
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0015
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0015
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TUid aHWDev, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-WB 16k 23.85kbps mono playback using UID
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; HwDevice = {DecoderHwDevice,AMRWB})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7. Play 10 seconds 
+//!                8. Pause for 5 seconds(Pause=TRUE)
+//!                9. Resume and continue Play 10 seconds
+//!                10. Stop 5 seconds
+//!                11. FileStartPosition
+//!                12. Play 10 seconds 
+//!                13. Stop
+//!                14. CloseFile
+//!                15. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-WB 16k 23.85kbps mono playback using UID
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	45	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0015-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0015-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0015-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0015-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0015-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0015
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0016
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0016
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-WB 16k 23.85kbps mono playback verify EOF
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying;FourCC= AWB)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. OpenFile(Filename= {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7. StartPlay EOF
+//!                8. CloseFile
+//!                9. Delete Devsound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-WB 16k 23.85kbps mono playback verify EOF
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0016-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0016-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0016-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0016-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0016
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0017
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0017
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-WB 16k 23.85kbps mono playback 
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = AWB)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb)
+//!                7. Start Play for 10 seconds ()
+//!                8. Pause for 5 seconds (Pause=TRUE)
+//!                9. Play for 10 seconds
+//!                10.Stop for 5 seconds
+//!                11.Start Play for 10 seconds ()
+//!                12.Stop
+//!                13.CloseFile
+//!                14.Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-WB 16k 23.85kbps mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0017-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0017-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0017-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0017-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0017-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0017
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0018
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0018
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-WB 16k 8.85kbps mono playback
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode= EMMFStatePlaying; FourCC= AWB)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. OpenFile (Filename={drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_8.85kbps_mono_speech.awb)
+//!                7. Play 10 seconds
+//!                8. Pause 5 seconds (Pause=TRUE)
+//!                9. Play 10 seconds
+//!                10. Stop 5 seconds
+//!                11. FileStartPosition
+//!                12. Play 10 seconds
+//!                13. Stop
+//!                14. CloseFile
+//!                15. Delete DevSound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-WB 16k 8.85kbps mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0018-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0018-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0018-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0018-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0018-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0018
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0019
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0019
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-WB playback verify all bitrates
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC = AWB)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_VBR_mono_speech.awb)
+//!                7. Start Play ()
+//!                8. CloseFile
+//!                9. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-WB playback verify all bitrates
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	1000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0019-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0019-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0019-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0019-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0019
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0020
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0020
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		AMR-WB playback verify all bitrates 
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC = AWB)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_VBR_mono_speech_dtx_on.awb)
+//!                7. Start Play ()
+//!                8. CloseFile
+//!                9. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-WB playback verify all bitrates
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	1000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0020-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0020-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0020-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0020-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0020
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0021
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0021
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TUid aHWDev, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		G.711 a-law coded 8k mono PCM playback using UID
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; HwDevice = {DecoderHwDevice,G711})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\G711\G711_8k_8b_signed_mono_alaw.pcm)
+//!                7. Play 10 seconds 
+//!                8. Stop 5 seconds
+//!                9. Set File Start Position
+//!                10. Play 10 seconds 
+//!                11. Stop 5 seconds
+//!                12. Set File Start Position
+//!                13. Play 10 seconds 
+//!                14. Stop
+//!                15. Close File
+//!                16. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                G.711 a-law coded 8k mono PCM playback using UID
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	45	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0021-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0021-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0021-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0021-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0021
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0023
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0023
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		G.729AB 8k 8kbps mono playback
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = G729)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_off.bin)
+//!                7. Start Play for 10 seconds ()
+//!                8. Stop for 5 seconds
+//!                9. Start Play for 10 seconds ()
+//!                10. Stop for 5 seconds
+//!                11. Start Play for 10 seconds ()
+//!                12. Stop for 2s
+//!                13. CloseFile
+//!                14. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                G.729AB 8k 8kbps mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0023-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0023-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0023-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0023-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0023
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0024
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0024
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		G.729AB 8k 8kbps mono playback twice
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC = G729)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_on.bin)
+//!                7. Start Play for 10 seconds ()
+//!                8. Stop for 5 seconds
+//!                9. Start Play for 10 seconds ()
+//!                10. Stop for 5 seconds
+//!                11. CloseFile
+//!                12. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                G.729AB 8k 8kbps mono playback twice
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	1000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0024-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0024-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0024-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0024-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0024
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0025
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0025
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TUid aHWDev, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		G.729AB 8k 8kbps mono playback using UID
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; HwDevice ={DecoderHwDevice,G729AB})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_on.bin)
+//!                7. Play 10 seconds 
+//!                8. Stop 5 seconds
+//!                9. Set File Start Position
+//!                10. Play 10 seconds 
+//!                11. Stop 5 seconds
+//!                12. Set File Start Position
+//!                13. Play 10 seconds 
+//!                14. Stop
+//!                15. CloseFile
+//!                16. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                G.729AB 8k 8kbps mono playback using UID
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	45	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0025-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0025-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0025-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0025-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0025
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0026
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0026
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		G.729AB 8k 8kbps mono playback verify EOF
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC = G729)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile( Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_on.bin )
+//!                7. Start Play ()
+//!                8. CloseFile
+//!                9. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                G.729AB 8k 8kbps mono playback verify EOF
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	1000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0026-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0026-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0026-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0026-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0026
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0027
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0027
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		G.729AB 8k 8kbps mono playback 
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC = G729)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_on.bin)
+//!                7. Start Play for 10 seconds ()
+//!                8. Stop for 5 seconds
+//!                9. Start Play for 10 seconds ()
+//!                10. Stop for 5 seconds
+//!                11. Start Play for 10 seconds ()
+//!                12. Stop for 2s
+//!                13. CloseFile
+//!                14. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                G.729AB 8k 8kbps mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	1000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0027-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0027-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0027-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0027-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0027
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0028
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0028
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TUid aHWDev, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		iLBC 8k 15.20kbps mono playback using UID
+//!@SYMTestActions
+//!                1. Create Devsound instance
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; HwDevice = {DecoderHwDevice,ILBC})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\iLBC\iLBC_8k_15.20kbps_mono.bin)
+//!                7. Play 10 seconds 
+//!                8. Stop 5 seconds
+//!                9. Set File Start Position
+//!                10. Play 10 seconds 
+//!                11. Stop 5 seconds
+//!                12. Set File Start Position
+//!                13. Play 10 seconds 
+//!                14. Stop
+//!                15. CloseFile
+//!                16. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                iLBC 8k 15.20kbps mono playback using UID
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	45	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0028-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0028-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0028-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0028-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0028
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0031
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0031
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CRepository::Set(TUint32 ,const TDesC8 {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		Play digital ringing tone file when vibra on
+//!@SYMTestActions
+//!                1. Create Central repository instance (RepUID={RepositoryID,UidVibraCtrl}).
+//!                2. Set repository settings (ItemID={ItemsID,IdVibraEnabled}; SetValue={DataID,On})
+//!                3. Create DevSound instance.
+//!                4. OpenFile( Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3 )
+//!                5. Initialize devsound (Mode = EMMFStatePlaying; FourCC= MP3)
+//!                6. Set priority settings ( Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStatePlaying)
+//!                7. Capabilities
+//!                8. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                9. Play audio file ()
+//!                10. Set repository settings (ItemID={ItemsID,IdVibraEnabled}; SetValue={DataID,Off} )
+//!                11. CloseFile
+//!                12. Delete DevSound instance.
+//!                13. Delete Central repository instance.
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Play digital ringing tone file when vibra on
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CRepository		repository1
+		COMMAND		repository1		NewL			MULTIMEDIA-MMF-DevSound-Playback-0031-0001-NewL_command01
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Playback-0031-0001-Set_command02
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0031-0001-OpenFile_command04
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0031-0001-InitializeL_command05
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0031-0001-SetPrioritySettings_command06
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0031-0001-SetConfigL_command08
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Playback-0031-0001-Set_command10
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+		COMMAND		repository1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0031
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0032
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0032
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		MP3 11.025k 40kbps mono playback
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate11025Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_11.025k_40kbps_mono_Queen.mp3)
+//!                7. Start Play for 10 seconds
+//!                8. Pause for 5 seconds(Pause=TRUE)
+//!                9. Play for 10 seconds
+//!                10. Stop for 5 seconds
+//!                11. Set file pointer to start position
+//!                12. Start Play for 10 seconds
+//!                13. Stop for 2s
+//!                14. Close file
+//!                15. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 11.025k 40kbps mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0032-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0032-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0032-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0032-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0032-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0032
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0033
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0033
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		MP3 16k 96-160kbps mono playback
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_16k_96-160kbps_mono_Queen.mp3)
+//!                7. Start Play for 10 seconds
+//!                8. Pause for 5 seconds(Pause=TRUE)
+//!                9. Play for 10 seconds
+//!                10. Stop for 5 seconds
+//!                11. Set file pointer to start position
+//!                12. Start Play for 10 seconds
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 16k 96-160kbps mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0033-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0033-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0033-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0033-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0033-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0033
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0034
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0034
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		MP3 22.05k 64kbps stereo playback
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate22050Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_22.05k_64kbps_joint_st_Kilpi.mp3)
+//!                7. Start Play for 10 seconds
+//!                8. Pause for 5 seconds(Pause=TRUE)
+//!                9. Play for 10 seconds
+//!                10. Stop for 5 seconds
+//!                11. Set file pointer to start position
+//!                12. Start Play for 10 seconds
+//!                13. Stop for 2s
+//!                14. Close file
+//!                15. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 22.05k 64kbps stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0034-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0034-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0034-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0034-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0034-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0034
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0035
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0035
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		MP3 24k 160kbps stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate24000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_24k_160kbps_st_Test2.mp3)
+//!                7. Start Play for 10s
+//!                8. Pause 5s (Pause=TRUE)
+//!                9. Resume 10s
+//!                10. Stop 5s
+//!                11. FileStartPosition
+//!                12. Start Play 10s
+//!                13. Stop for 2s
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 24k 160kbps stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0035-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0035-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0035-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0035-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0035-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0035
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0036
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0036
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		MP3 32k 48-192kbps stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate32000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_32k_48-192kbps_st_Test1.mp3)
+//!                7. Start Play for 10s
+//!                8. Pause 5s (Pause=TRUE)
+//!                9. Resume 10s
+//!                10. Stop 5s
+//!                11. FileStartPosition
+//!                12. Start Play 10s
+//!                13. Stop for 2s
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 32k 48-192kbps stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0036-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0036-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0036-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0036-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0036-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0036
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0037
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0037
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		MP3 44.1k 128kbps stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Start Play for 10s
+//!                8. Pause 5s (Pause=TRUE)
+//!                9. Resume 10s
+//!                10. Stop 5s
+//!                11. FileStartPosition
+//!                12. Start Play 10s
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 44.1k 128kbps stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0037-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0037-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0037-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0037-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0037-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0037
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0038
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0038
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::SamplesPlayed()
+//!                
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		9/8/2008 
+//!@SYMTestCaseDesc		MP3 44.1k 128kbps stereo playback verify played samples
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration & pause for 5s (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test4.mp3)
+//!                7. Start Play for 1 second
+//!                8. Samples Played for 1 second
+//!                9. Samples Played for 1 second
+//!                10. Samples Played for 1 second
+//!                11. Samples Played 
+//!                12. Samples Played
+//!                13. Close file
+//!                14. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 44.1k 128kbps stereo playback verify played samples
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	10	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0038-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0038-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0038-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0038-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  1000000 
+		COMMAND		devsound1		SamplesPlayed
+		ASYNC_DELAY  1000000 
+		COMMAND		devsound1		SamplesPlayed
+		ASYNC_DELAY  1000000 
+		COMMAND		devsound1		SamplesPlayed
+		ASYNC_DELAY  1000000 
+		COMMAND		devsound1		SamplesPlayed
+		COMMAND		devsound1		SamplesPlayed
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0038
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0039
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0039
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		MP3 48k 160-256kbps stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3)
+//!                7. Start Play 10s
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Resume 10s
+//!                10. Stop 5s
+//!                11. FileStartPosition
+//!                12. Start Play 10s
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 48k 160-256kbps stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0039-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0039-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0039-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0039-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0039-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0039
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0040
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0040
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		MP3 48k 320kbps stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_320kbps_st_Test3.mp3)
+//!                7. Start Play 10s
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Resume 10s
+//!                10. Stop 5s
+//!                11. FileStartPosition
+//!                12. Start Play 10s
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 48k 320kbps stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0040-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0040-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0040-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0040-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0040-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0040
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0041
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0041
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		MP3 48k 320kbps stereo playback play stop twice
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode=EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_320kbps_st_Queen.MP3)
+//!                7. Start Play 10 seconds
+//!                8. Stop 5 seconds
+//!                9. Set file pointer to start position
+//!                10. Start Play 10 seconds 
+//!                11. Stop
+//!                12. Close file
+//!                13. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 48k 320kbps stereo playback play stop twice
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0041-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0041-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0041-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0041-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0041
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0042
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0042
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		MP3 48k 320kbps stereo playback repeat
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode=EMMFStatePlaying; FourCC= MP3)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_320kbps_st_Queen.MP3)
+//!                7. Play 10 seconds
+//!                8. Pause 5 seconds(Pause=TRUE)
+//!                9. Play 10 seconds
+//!                10. Stop 5 seconds
+//!                11. Set file pointer to start position
+//!                12. Play 10 seconds
+//!                13. Stop 5 seconds
+//!                14. Set file pointer to start position
+//!                15. Play 10 seconds 
+//!                16. Pause 5 seconds(Pause=TRUE)
+//!                17. Play 10 seconds
+//!                18. Stop 5 seconds
+//!                19. Set file pointer to start position
+//!                20. Play  10 seconds
+//!                21. Stop
+//!                22. Close file
+//!                23. Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 48k 320kbps stereo playback repeat
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0042-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0042-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0042-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0042-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0042-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0042-0001-Stop_command16
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0042
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0043
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0043
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		MP3 48k 320kbps stereo playback twice
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode=EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_320kbps_st_Queen.mp3)
+//!                7. Start Play for 10 seconds
+//!                8. Stop for 5 seconds
+//!                9. Set file pointer to start position
+//!                10. Start Play for 10 seconds
+//!                11. Stop
+//!                12. Close file
+//!                13. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 48k 320kbps stereo playback twice
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0043-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0043-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0043-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0043-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0043
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0044
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0044
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TUid aHWDev, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		MP3 48k 320kbps stereo playback using UID
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; HwDevice = {DecoderHwDevice,MP3})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_320kbps_st_Queen.mp3)
+//!                7. Play 10 seconds
+//!                8. Stop for 5 seconds (Pause=TRUE)
+//!                9. Play 10 seconds
+//!                10. Set file pointer to start position
+//!                11. Stop 5 seconds
+//!                12. Play 10 seconds
+//!                13. Stop
+//!                14. Close file
+//!                15. Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 48k 320kbps stereo playback using UID
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0044-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0044-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0044-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0044-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0044-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0044
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0045
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0045
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		MP3 48k 320kbps stereo playback verify EOF
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound ( Mode=EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_320kbps_st_Queen.mp3)
+//!                7. Start Play
+//!                8. Close file
+//!                9. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 48k 320kbps stereo playback verify EOF
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0045-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0045-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0045-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0045-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0045
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0046
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0046
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM 11.025k mono playback
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate11025Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_11.025k_16b_signed_mono_Dire.pcm)
+//!                7. Start Play for 10 seconds
+//!                8. Pause for 5 seconds(Pause=TRUE)
+//!                9. Play for 10 seconds
+//!                10. Stop for 5 seconds
+//!                11. Set file pointer to start position
+//!                12. Start Play for 10 seconds
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 11.025k mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0046-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0046-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0046-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0046-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0046-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0046
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0047
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0047
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 11.025k stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate11025Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_11.025k_16b_signed_st_Test2.pcm   )
+//!                7. Start Play 10s
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Resume 10s
+//!                10. Stop 5s
+//!                11. FileStartPosition
+//!                12. Start Play 10s
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 11.025k stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0047-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0047-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0047-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0047-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0047-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0047
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0048
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0048
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM 12k mono playback
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate12000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_12k_16b_signed_mono_Dire.pcm)
+//!                7. Start Play for 10 seconds
+//!                8. Pause for 5 seconds(Pause=TRUE)
+//!                9. Play for 10 seconds
+//!                10. Stop for 5 seconds
+//!                11. Set file pointer to start position
+//!                12. Start Play for 10 seconds
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 12k mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0048-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0048-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0048-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0048-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0048-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0048
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0049
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0049
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 12k stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate12000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_12k_16b_signed_st_Test1.pcm)
+//!                7. Start Play 10s
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Resume 10s
+//!                10. Stop 5s
+//!                11. FileStartPosition
+//!                12. Start Play 10s
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 12k stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0049-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0049-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0049-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0049-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0049-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0049
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0050
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0050
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM 16k mono playback
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_16k_16b_signed_mono_Dire.pcm)
+//!                7. Start Play for 10 seconds
+//!                8. Pause for 5 seconds(Pause=TRUE)
+//!                9. Play for 10 seconds
+//!                10. Stop for 5 seconds
+//!                11. Set file pointer to start position
+//!                12. Start Play for 10 seconds
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 16k mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0050-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0050-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0050-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0050-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0050-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0050
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0051
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0051
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 16k stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate16000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_16k_16b_signed_st_Test2.pcm)
+//!                7. Start Play 10s
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Resume 10s
+//!                10. Stop 5s
+//!                11. FileStartPosition
+//!                12. Start Play 10s
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 16k stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0051-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0051-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0051-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0051-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0051-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0051
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0052
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0052
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM 22.05k mono playback
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate22050Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_22.05k_16b_signed_mono_Dire.pcm)
+//!                7. Start Play for 10 seconds
+//!                8. Pause for 5 seconds(Pause=TRUE)
+//!                9. Play for 10 seconds
+//!                10. Stop for 5 seconds
+//!                11. Set file pointer to start position
+//!                12. Start Play for 10 seconds
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 22.05k mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0052-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0052-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0052-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0052-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0052-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0052
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0053
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0053
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 22.05k stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate22050Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_22.05k_16b_signed_st_Test1.pcm)
+//!                7. Start Play 10s
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Resume 10s
+//!                10. Stop 5s
+//!                11. FileStartPosition
+//!                12. Start Play 10s
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 22.05k stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0053-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0053-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0053-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0053-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0053-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0053
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0054
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0054
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM 24k mono playback
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate24000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_24k_16b_signed_mono_Dire.pcm)
+//!                7. Start Play for 10 seconds
+//!                8. Pause for 5 seconds(Pause=TRUE)
+//!                9. Play for 10 seconds
+//!                10. Stop for 5 seconds
+//!                11. Set file pointer to start position
+//!                12. Start Play for 10 seconds
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 24k mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0054-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0054-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0054-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0054-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0054-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0054
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0055
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0055
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 24k stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate24000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_24k_16b_signed_st_Test2.pcm)
+//!                7. Start Play 10s
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Resume 10s
+//!                10. Stop 5s
+//!                11. FileStartPosition
+//!                12. Start Play 10s
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 24k stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0055-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0055-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0055-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0055-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0055-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0055
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0056
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0056
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM 32k mono playback
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate32000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_32k_16b_signed_mono_Dire.pcm)
+//!                7. Start Play for 10 seconds
+//!                8. Pause for 5 seconds(Pause=TRUE)
+//!                9. Play for 10 seconds
+//!                10. Stop for 5 seconds
+//!                11. Set file pointer to start position
+//!                12. Start Play for 10 seconds
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 32k mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0056-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0056-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0056-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0056-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0056-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0056
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0057
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0057
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 32k stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate32000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_32k_16b_signed_st_Test1.pcm)
+//!                7. Start Play 10s
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Resume 10s
+//!                10. Stop 5s
+//!                11. FileStartPosition
+//!                12. Start Play 10s
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 32k stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0057-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0057-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0057-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0057-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0057-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0057
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0058
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0058
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM 44.1k mono playback
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_44.1k_16b_signed_mono_Dire.pcm)
+//!                7. Start Play for 10 seconds
+//!                8. Pause for 5 seconds(Pause=TRUE)
+//!                9. Play for 10 seconds
+//!                10. Stop for 5 seconds
+//!                11. Set file pointer to start position
+//!                12. Start Play for 10 seconds
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 44.1k mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0058-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0058-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0058-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0058-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0058-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0058
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0059
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0059
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 44.1k stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_st_Test2.pcm)
+//!                7. Start Play 10s
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Resume 10s
+//!                10. Stop 5s
+//!                11. FileStartPosition
+//!                12. Start Play 10s
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 44.1k stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0059-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0059-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0059-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0059-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0059-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0059
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0060
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0060
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM 48k mono playback
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_st_Dire.pcm)
+//!                7. Start Play for 10 seconds
+//!                8. Pause for 5 seconds(Pause=TRUE)
+//!                9. Play for 10 seconds
+//!                10. Stop for 5 seconds
+//!                11. Set file pointer to start position
+//!                12. Start Play for 10 seconds
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 48k mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0060-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0060-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0060-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0060-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0060-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0060
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0061
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0061
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 48k stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                7. Start Play 10s
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Resume 10s
+//!                10. Stop 5s
+//!                11. FileStartPosition
+//!                12. Start Play 10s
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 48k stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0061-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0061-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0061-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0061-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0061-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0061
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0062
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0062
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM 48k stereo playback play stop twice
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode=EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_st_Dire.pcm)
+//!                7. Start Play 10 seconds
+//!                8. Stop 5 seconds
+//!                9. Set file pointer to start position
+//!                10. Start Play 10 seconds
+//!                11. Stop
+//!                12. Close file
+//!                13. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 48k stereo playback play stop twice
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0062-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0062-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0062-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0062-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0062
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0063
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0063
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM 48k stereo playback verify EOF
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound ( Mode=EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_st_Dire.pcm)
+//!                7. Start Play
+//!                8. Close file
+//!                9. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 48k stereo playback verify EOF
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0063-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0063-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0063-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0063-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0063
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0064
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0064
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM 8k mono playback
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_8k_16b_signed_mono_Test1.pcm)
+//!                7. Start Play for 10 seconds
+//!                8. Pause for 5 seconds(Pause=TRUE)
+//!                9. Play for 10 seconds
+//!                10. Stop for 5 seconds
+//!                11. Set file pointer to start position
+//!                12. Start Play for 10 seconds
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 8k mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0064-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0064-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0064-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0064-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0064-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0064
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0065
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0065
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM 8k mono playback repeat
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode=EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. Set Priority ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Open file (Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_8k_16b_signed_mono_Test1.pcm)
+//!                7. Play 10 seconds
+//!                8. Pause 5 seconds(Pause=TRUE)
+//!                9. Play 10 seconds
+//!                10. Stop 5 seconds
+//!                11. Set file pointer to start position
+//!                12. Play 10 seconds
+//!                13. Stop 5 seconds
+//!                14. Set file pointer to start position
+//!                15. Play 10 seconds 
+//!                16. Pause 5 seconds(Pause=TRUE)
+//!                17. Play 10 seconds
+//!                18. Stop 5 seconds
+//!                19. Set file pointer to start position
+//!                20. Play  10 seconds
+//!                21. Stop
+//!                22. Close file
+//!                23. Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 8k mono playback repeat
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0065-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0065-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0065-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0065-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0065-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0065-0001-Stop_command16
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0065
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0066
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0066
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TUid aHWDev, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM Playback
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; HwDevice = {DecoderHwDevice,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_8k_16b_signed_mono_speech.pcm)
+//!                7. Play 10 seconds
+//!                8. Stop 5 seconds
+//!                9. Set file pointer to start position
+//!                10. Play 10 seconds
+//!                11. Stop 5 seconds
+//!                12. Set file pointer to start position
+//!                13. Play 10 seconds
+//!                14. Stop
+//!                15. Close file
+//!                16. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM Playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0066-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0066-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0066-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0066-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0066-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0066
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0067
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0067
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM Playback with default DevSound values
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize Devsound (Mode=EMMFStatePlaying)
+//!                3. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_8k_16b_signed_mono_speech.pcm)
+//!                4. Start Play
+//!                5. Close file
+//!                6. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM Playback with default DevSound values
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	20	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0067-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0067-0001-OpenFile_command03
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0067
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0068
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0068
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM Playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration(Channels = EMMFStereo; Rate = EMMFSampleRate8000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_8k_16b_signed_st_Test1.pcm)
+//!                7. Start Play 10s
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Resume 10s
+//!                10. Stop 5s
+//!                11. FileStartPosition
+//!                12. Start Play 10s
+//!                13. Stop
+//!                14. Close file
+//!                15. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM Playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0068-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0068-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0068-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0068-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Playback-0068-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0068
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0069
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0069
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		MP3 44.1 KHz stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority ={Priority,PriorityAudioPlayback} ; Preference ={PriorityPreference,PriorityPreferenceAudioPlayback} ; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 30s
+//!                8. Stop
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 44.1 KHz stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0069-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0069-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0069-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0069-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0069
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0070
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0070
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		MP3 44.1 and 48 KHz stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance devsound1
+//!                2. Create Devsound instance devsound2
+//!                3. devsound1 Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                4. devsound1 Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                5. devsound1 Capabilities
+//!                6. devsound1 Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                7. devsound2 Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                8. devsound2 Set Priority (Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState = EMMFStatePlaying)
+//!                9. devsound2 Capabilities
+//!                10. devsound2 Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                11. devsound1 Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                12. devsound1 Play 10s
+//!                13. devsound2 Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_320kbps_st_Test3.mp3)
+//!                14. devsound2 Play 10s
+//!                15. devsound2 Stop 10s
+//!                16. devsound1 Stop
+//!                17. devsound1 CloseFile
+//!                18. devsound2 CloseFile
+//!                19. devsound1 Delete devsound instance
+//!                20. devsound2 Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 44.1 and 48 KHz stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CMMFDevSound		devsound2
+		COMMAND		devsound1		NewL
+		COMMAND		devsound2		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0070-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0070-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0070-0001-SetConfigL_command06
+		COMMAND		devsound2		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0070-0001-InitializeL_command07
+        OUTSTANDING
+		COMMAND		devsound2		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0070-0001-SetPrioritySettings_command08
+		COMMAND		devsound2		Capabilities
+		COMMAND		devsound2		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0070-0001-SetConfigL_command10
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0070-0001-OpenFile_command11
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound2		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0070-0001-OpenFile_command13
+		COMMAND		devsound2		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound2		Stop
+		DELAY  1000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound2		CloseFile
+		COMMAND		devsound1		~
+		COMMAND		devsound2		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0070
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0071
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0071
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		MP3 44.1 KHz stereo playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3. Set Priority (Priority ={Priority,PriorityIncomingCall} ; Preference ={PriorityPreference,PriorityPreferenceIncomingCall} ; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3)
+//!                7. Play 30s
+//!                8. Stop
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 44.1 KHz stereo playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0071-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0071-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0071-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0071-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0071
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0072
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0072
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		AMR-NB 8KHz mono playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority (Priority ={Priority,PriorityPocCallDown} ; Preference ={PriorityPreference,PriorityPreferencePocCallDown}  ; PriorityState = EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7. Play 30s
+//!                8. Stop
+//!                9. CloseFile
+//!                10. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB 8KHz mono playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	40	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0072-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0072-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0072-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0072-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0072
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0073
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0073
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM playback as camera tone
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                3. Initialize Devsound (  Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                4. Set Priority (Priority={Priority,PriorityCameraTone}; Preference={PriorityPreference,PriorityPreferenceCameraTone} ; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)
+//!                7. Start Play for 30 seconds 
+//!                8. Stop
+//!                9.Close file
+//!                10.Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM playback as camera tone
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0073-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0073-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0073-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0073-0001-SetConfigL_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  30000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0073
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0074
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0074
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Long NRT playback
+//!@SYMTestActions
+//!                1.- create DevSoundTester instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3  )
+//!                3.- Set Priority (Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState = EMMFStatePlaying )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6.- Open file (Filename ={drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_long.mp3)
+//!                7.- Start Play
+//!                8.- Close file
+//!                9.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Long NRT playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	1000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0074-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0074-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0074-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0074-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0074
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0075
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0075
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::SetVolume(TInt)
+//!                CMMFDevSound::SetPlayBalanceL(TInt, TInt)
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Stereo balance during audio playback
+//!@SYMTestActions
+//!                1.- Create a Instance of DevSound
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = MP3)
+//!                3.- Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6.- OpenFile (Filename={drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_320kbps_st_Test3.mp3)
+//!                7.- SetVolume (Volume = 50)
+//!                8.- StartPlay 10s
+//!                9.- SetPlayBalance 10000 ( LeftPercentage = 90;RightPercentage = 10)
+//!                10.- SetPlayBalance 10000 ( LeftPercentage = 10; RightPercentage = 90)
+//!                11.- Stop
+//!                12.-CloseFile
+//!                13.-Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Stereo balance during audio playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0075-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0075-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0075-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0075-0001-OpenFile_command06
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0075-0001-SetVolume_command07
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		SetPlayBalanceL			MULTIMEDIA-MMF-DevSound-Playback-0075-0001-SetPlayBalanceL_command09
+		COMMAND		devsound1		SetPlayBalanceL			MULTIMEDIA-MMF-DevSound-Playback-0075-0001-SetPlayBalanceL_command10
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0075
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0076
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0076
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			ddamian
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Insert and remove mono headset during audio playback
+//!@SYMTestActions
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3.- Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate22050Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_22.05k_16b_signed_st_Test1.pcm)
+//!                7.- Play
+//!                8.- Close File
+//!                9.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Insert and remove mono headset during audio playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0076-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0076-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0076-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0076-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0076
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0077
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0077
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			ddamian
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Insert and remove stereo headset during audio playback
+//!@SYMTestActions
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                3.- Set Priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate22050Hz)
+//!                6.- Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_22.05k_16b_signed_st_Test1.pcm)
+//!                7.- Play
+//!                8.- Close File
+//!                9.- Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Insert and remove stereo headset during audio playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0077-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0077-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0077-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0077-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0077
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0078
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0078
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::SetVolume(TInt)
+//!@SYMAuthor			arueda 
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Playback with volume settings
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode=EMMFStatePlaying; FourCC ={SpecialFourCC,RAW})
+//!                3. SetPriority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState =EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels=EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open file (Filename={drive,mmc}\multimedia\MMF\DEVSOUND\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                7. StartPlay 
+//!                8. SetVolume(Volume=60)
+//!                9. SetVolume(Volume=70)
+//!                10. SetVolume(Volume=80)
+//!                11. SetVolume(Volume=90)
+//!                12. SetVolume(Volume=100)
+//!                13. SetVolume(Volume=90)
+//!                14. SetVolume(Volume=80)
+//!                15. SetVolume(Volume=70)
+//!                16. SetVolume(Volume=60)
+//!                17. SetVolume(Volume=50)
+//!                18. SetVolume(Volume=40)
+//!                19. SetVolume(Volume=30)
+//!                20. SetVolume(Volume=20)
+//!                21. SetVolume(Volume=10)
+//!                22. SetVolume(Volume=0)
+//!                23. SetVolume(Volume=10)
+//!                24. SetVolume(Volume=20)
+//!                25. SetVolume(Volume=30)
+//!                26. SetVolume(Volume=40)
+//!                27. SetVolume(Volume=50)
+//!                28. Stop
+//!                29. Close File.
+//!                30.Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Playback with volume settings
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command08
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command09
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command10
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command11
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command12
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command13
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command14
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command15
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command16
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command17
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command18
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command19
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command20
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command21
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command22
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command23
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command24
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command25
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command26
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command27
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0078
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0079
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0079
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::SetVolume(TInt)
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		8/25/2008 
+//!@SYMTestCaseDesc		Playback with volume settings of high resolution
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode=EMMFStatePlaying; FourCC= {SpecialFourCC,RAW})
+//!                3. SetPriority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState =EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels=EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6.Open File (Filename={drive,mmc}\multimedia\MMF\DEVSOUND\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                7.StartPlay 
+//!                8. SetVolume (Volume=50)
+//!                9. SetVolume (Volume=55)
+//!                10. SetVolume (Volume=60)
+//!                11. SetVolume (Volume=65)
+//!                12. SetVolume (Volume=70)
+//!                13. SetVolume (Volume=75)
+//!                14. SetVolume (Volume=80)
+//!                15. SetVolume (Volume=85)
+//!                16. SetVolume (Volume=90)
+//!                17. SetVolume (Volume=95)
+//!                18. SetVolume (Volume=100)
+//!                19. SetVolume (Volume=95)
+//!                20. SetVolume (Volume=90)
+//!                21. SetVolume (Volume=85)
+//!                22. SetVolume (Volume=80)
+//!                23. SetVolume (Volume=75)
+//!                24. SetVolume (Volume=70)
+//!                25. SetVolume (Volume=65)
+//!                26. SetVolume (Volume=60)
+//!                27. SetVolume (Volume=55)
+//!                28. SetVolume (Volume=50)
+//!                29. SetVolume (Volume=45)
+//!                30. SetVolume (Volume=40)
+//!                31. SetVolume (Volume=35)
+//!                32. SetVolume (Volume=30)
+//!                33. SetVolume (Volume=25)
+//!                34. SetVolume (Volume=20)
+//!                35. SetVolume (Volume=15)
+//!                36. SetVolume (Volume=10)
+//!                37. SetVolume (Volume=5)
+//!                38. SetVolume (Volume=0)
+//!                39. SetVolume (Volume=5)
+//!                40. SetVolume (Volume=10)
+//!                41. SetVolume (Volume=15)
+//!                42. SetVolume (Volume=20)
+//!                43. SetVolume (Volume=25)
+//!                44. SetVolume (Volume=30)
+//!                45. SetVolume (Volume=35)
+//!                46. SetVolume (Volume=40)
+//!                47. SetVolume (Volume=45)
+//!                48. SetVolume (Volume=50)
+//!                49. Stop
+//!                50. Close file
+//!                51. Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Playback with volume settings of high resolution
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command08
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command09
+		ASYNC_DELAY  5000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command10
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command11
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command12
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command13
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command14
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command15
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command16
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command17
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command18
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command19
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command20
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command21
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command22
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command23
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command24
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command25
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command26
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command27
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command28
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command29
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command30
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command31
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command32
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command33
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command34
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command35
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command36
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command37
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command38
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command39
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command40
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command41
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command42
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command43
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command44
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command45
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command46
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command47
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command48
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0079
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0080
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0080
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::SetVolume(TInt)
+//!@SYMAuthor			arueda 
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Ringing tone playback with volume settings of high resolution
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode=EMMFStatePlaying; FourCC ={SpecialFourCC,RAW})
+//!                3. SetPriority (Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall};  PriorityState =EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels=EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. Open File (Filename={drive,mmc}\multimedia\MMF\DEVSOUND\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                7. StartPlay 
+//!                8. SetVolume (Volume=50)
+//!                9. SetVolume (Volume=55)
+//!                10. SetVolume (Volume=60)
+//!                11. SetVolume (Volume=65)
+//!                12. SetVolume (Volume=70)
+//!                13. SetVolume (Volume=75)
+//!                14. SetVolume (Volume=80)
+//!                15. SetVolume (Volume=85)
+//!                16. SetVolume (Volume=90)
+//!                17. SetVolume (Volume=95)
+//!                18. SetVolume (Volume=100)
+//!                19. SetVolume (Volume=95)
+//!                20. SetVolume (Volume=90)
+//!                21. SetVolume (Volume=85)
+//!                22. SetVolume (Volume=80)
+//!                23. SetVolume (Volume=75)
+//!                24. SetVolume (Volume=70)
+//!                25. SetVolume (Volume=65)
+//!                26. SetVolume (Volume=60)
+//!                27. SetVolume (Volume=55)
+//!                28. SetVolume (Volume=50)
+//!                29. SetVolume (Volume=45)
+//!                30. SetVolume (Volume=40)
+//!                31. SetVolume (Volume=35)
+//!                32. SetVolume (Volume=30)
+//!                33. SetVolume (Volume=25)
+//!                34. SetVolume (Volume=20)
+//!                35. SetVolume (Volume=15)
+//!                36. SetVolume (Volume=10)
+//!                37. SetVolume (Volume=5)
+//!                38. SetVolume (Volume=0)
+//!                39. SetVolume (Volume=5)
+//!                40. SetVolume (Volume=10)
+//!                41. SetVolume (Volume=15)
+//!                42. SetVolume (Volume=20)
+//!                43. SetVolume (Volume=25)
+//!                44. SetVolume (Volume=30)
+//!                45. SetVolume (Volume=35)
+//!                46. SetVolume (Volume=40)
+//!                47. SetVolume (Volume=45)
+//!                48. SetVolume (Volume=50)
+//!                49. Stop
+//!                50. Close file
+//!                51. delete instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Ringing tone playback with volume settings of high resolution
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command08
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command09
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command10
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command11
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command12
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command13
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command14
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command15
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command16
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command17
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command18
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command19
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command20
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command21
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command22
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command23
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command24
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command25
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command26
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command27
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command28
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command29
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command30
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command31
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command32
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command33
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command34
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command35
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command36
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command37
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command38
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command39
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command40
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command41
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command42
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command43
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command44
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command45
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command46
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command47
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command48
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0080
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0081
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0081
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!@SYMAuthor			arueda 
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Volume level comparison between 48k mono and stereo MP3 playbacks
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Create DevSound Instance att2
+//!                3. Initialize att1  ( Mode=EMMFStatePlaying; FourCC=MP3)
+//!                4. SetPriority (Priority ={Priority,PriorityAudioPlayback}; Preference={PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                5. Capabilities
+//!                6. SetConfiguration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)
+//!                7. Initialize att2  ( Mode=EMMFStatePlaying; FourCC=MP3)
+//!                8. SetPriority (Priority ={Priority,PriorityAudioPlayback}; Preference={PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                9. Capabilities
+//!                10. SetConfiguration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                11. Open File (Filename={drive,mmc}\multimedia\MMF\DEVSOUND\MP3\MP3_11.025k_40kbps_mono_Test2.mp3)
+//!                12. Open File (Filename={drive,mmc}\multimedia\MMF\DEVSOUND\MP3\MP3_44.1k_128kbps_st_Queen.mp3)
+//!                13. Play 10 att1
+//!                14. Stop 5 att1
+//!                15. Play 10 att2
+//!                16. Stop 5 att2
+//!                17. close file
+//!                18. close file
+//!                19. delete att1
+//!                20. delete att2
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Volume level comparison between 48k mono and stereo MP3 playbacks
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CMMFDevSound		devsound2
+		COMMAND		devsound1		NewL
+		COMMAND		devsound2		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0081-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0081-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0081-0001-SetConfigL_command06
+		COMMAND		devsound2		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0081-0001-InitializeL_command07
+        OUTSTANDING
+		COMMAND		devsound2		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0081-0001-SetPrioritySettings_command08
+		COMMAND		devsound2		Capabilities
+		COMMAND		devsound2		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0081-0001-SetConfigL_command10
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0081-0001-OpenFile_command11
+		COMMAND		devsound2		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0081-0001-OpenFile_command12
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound2		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound2		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound2		CloseFile
+		COMMAND		devsound1		~
+		COMMAND		devsound2		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0081
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0082
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0082
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			arueda 
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Incoming call with digital audio ringing tone
+//!@SYMTestActions
+//!                1. Create DevSound Instance att1
+//!                2. Initialize DevSound ( Mode=EMMFStatePlaying; FourCC =MP3)
+//!                3. SetPriority (Priority = {Priority,PriorityIncomingCall}; Preference = {PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState =EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels=EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open File(Filename={drive,mmc}\multimedia\MMF\DEVSOUND\MP3\MP3_44.1k_128kbps_st_Queen.mp3)
+//!                7. StartPlay
+//!                8. Close File
+//!                9. Destroy DevSound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming call with digital audio ringing tone
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0082-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0082-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0082-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0082-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0082
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0083
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0083
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			arueda 
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Incoming SMS with digital audio ringing tone
+//!@SYMTestActions
+//!                1.- Create DevSound Instance att1
+//!                2. Initialize DevSound ( Mode=EMMFStatePlaying; FourCC =MP3)
+//!                3. SetPriority (Priority = {Priority,PriorityReceivedSMS}; Preference = {PriorityPreference,PriorityPreferenceReceivedSMS}; PriorityState =EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels=EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. Open File(Filename={drive,mmc}\multimedia\MMF\DEVSOUND\MP3\MP3_44.1k_128kbps_st_Queen.mp3)
+//!                7. StartPlay
+//!                8. Close File
+//!                9. Destroy DevSound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Incoming SMS with digital audio ringing tone
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0083-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0083-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0083-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0083-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0083
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0084
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0084
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM playback as MobileTV
+//!@SYMTestActions
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm)
+//!                3. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = P16)
+//!                4. Set Priority (Priority = {Priority,PriorityMobileTV}; Preference = {PriorityPreference,PriorityPreferenceMobileTV}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                7. Start Play 
+//!                8.Close File
+//!                9.Destroy Devsound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM playback as MobileTV
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0084-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0084-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0084-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0084-0001-SetConfigL_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0084
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0085
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0085
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		AMR-NB playback as PocCallDown
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityPocCallDown}; Preference = {PriorityPreference,PriorityPreferencePocCallDown} ;PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                7. Start Play EOF
+//!                8. Close file
+//!                9. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB playback as PocCallDown
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	1000	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0085-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0085-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0085-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0085-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0085
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0086
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0086
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		AMR playback as PocCallUp several times
+//!@SYMTestActions
+//!                1. Create Devsound instance devsound1
+//!                2. Create Devsound instance devsound2
+//!                3. devsound1 Initialize Devsound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                4. devsound1 Set Priority (Priority = {Priority,PriorityPocCallUp}; Preference = {PriorityPreference,PriorityPreferencePocCallUp};PriorityState=EMMFStateRecording)
+//!                5. devsound1 Capabilities 
+//!                6. devsound1 Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                7. devsound2 Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                8. devsound2 Set Priority (Priority = {Priority,PriorityPocCallDown}; Preference = {PriorityPreference,PriorityPreferencePocCallDown} ;PriorityState=EMMFStatePlaying)
+//!                9. devsound2 Capabilities 
+//!                10. devsound2 Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                11. devsoud1 Replace File(Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\PoCCallPlayRepeated.amr)
+//!                12. devsound1 Start Record 10s
+//!                13. devsound1 Stop 5s
+//!                14. devsound2 OpenFile(Filename= {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                15. devsound2 Start Play 10s
+//!                16. devsound2 Stop 1s
+//!                17. devsound2 FileStartPosition
+//!                18. devsound2 Start Play 10s
+//!                19. devsound2 stop 5s
+//!                20. devsound1 Resume Recording 10s
+//!                21. devsound1 Stop 5s
+//!                22. devsound1 closeFile
+//!                23. devsound2 closeFile
+//!                24. devsound1 Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                25. devsound1 Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                26. devsound1 Capabilities 
+//!                27. devsound1 Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                28. devsound1 OpenFile(Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\PoCCallPlayRepeated.amr)
+//!                29. devsound1 Start Play EOF
+//!                30. devsound1 CloseFile
+//!                31. devsound1 Destroy Devsound instance
+//!                32. devsound2 Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR playback as PocCallUp several times
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CMMFDevSound		devsound2
+		COMMAND		devsound1		NewL
+		COMMAND		devsound2		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0086-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0086-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0086-0001-SetConfigL_command06
+		COMMAND		devsound2		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0086-0001-InitializeL_command07
+        OUTSTANDING
+		COMMAND		devsound2		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0086-0001-SetPrioritySettings_command08
+		COMMAND		devsound2		Capabilities
+		COMMAND		devsound2		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0086-0001-SetConfigL_command10
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Playback-0086-0001-ReplaceFile_command11
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound2		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0086-0001-OpenFile_command14
+		COMMAND		devsound2		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound2		Stop
+		DELAY  1000000 
+		COMMAND		devsound2		FileStartPosition
+		COMMAND		devsound2		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound2		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound2		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0086-0001-InitializeL_command24
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0086-0001-SetPrioritySettings_command25
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0086-0001-SetConfigL_command27
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0086-0001-OpenFile_command28
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+		COMMAND		devsound2		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0086
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0087
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0087
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			myanez
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		AMR-WB playback verify all bitrates when cng on
+//!@SYMTestActions
+//!                1. Create Devsound Instance 
+//!                2. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_on.bin)
+//!                3. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = G729)
+//!                4. Set Priority (Priority =  {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                5. Capabilities 
+//!                6. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                7. Start Play for 10 seconds
+//!                8. Stop for 5 seconds
+//!                9. Start Play for 10 seconds
+//!                10. Stop for 5 seconds
+//!                11. Start Play for 10 seconds
+//!                12. Stop 
+//!                13.Close File
+//!                14.Destroy Devsound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-WB playback verify all bitrates when cng on
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0087-0001-OpenFile_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0087-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0087-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0087-0001-SetConfigL_command06
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0087
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0088
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0088
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		9/8/2008 
+//!@SYMTestCaseDesc		AMR-NB playback as PocCallDown
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. OpenFile(Filename= {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_VBR_mono_speech_dtx_on.amr)
+//!                7. StartPlay EOF
+//!                8. CloseFile
+//!                9. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB playback as PocCallDown
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0088-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0088-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0088-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0088-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0088
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0089
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0089
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			fperez
+//!@SYMCreationDate		9/8/2008 
+//!@SYMTestCaseDesc		MP3 playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode= EMMFStatePlaying; FourCC= {SpecialFourCC, RAW})
+//!                3. Set Priority (Priority= {Priority,PriorityAudioPlayback}; Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState= EMMFStatePlaying)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                6. OpenFile(Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_st_freq_sweep.pcm)
+//!                7. Play 
+//!                8. CloseFile
+//!                9. Delete devsound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                MP3 playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0089-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0089-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0089-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0089-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0089
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0090
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0090
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		9/8/2008 
+//!@SYMTestCaseDesc		AMR-NB playback as PocCallDown
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = AWB)
+//!                3. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_VBR_mono_speech_dtx_on.awb)
+//!                7. Play EOF
+//!                8. Close file
+//!                9. Destroy DevSound instance
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB playback as PocCallDown
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	70	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Playback-0090-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Playback-0090-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Playback-0090-0001-SetConfigL_command05
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Playback-0090-0001-OpenFile_command06
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-PLAYBACK-0090
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-recording.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,2697 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsound-validation-automated-recording
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsound
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0001
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0001
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		AMR-NB recording with pause
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecAMR_pause.amr)
+//!                7. Record 10s 
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Record 10s
+//!                10. Stop 5s
+//!                11. CloseFile
+//!                12. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AMR)
+//!                13. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                14. Capabilities
+//!                15. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                16. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecAMR_pause.amr)
+//!                17. Start Play EOF 
+//!                18. CloseFile
+//!                19. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB recording with pause
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0001-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0001-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0001-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0001-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Recording-0001-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0001-0001-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0001-0001-SetPrioritySettings_command13
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0001-0001-SetConfigL_command15
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0001-0001-OpenFile_command16
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0001
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0002
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0002
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		AMR-WB recording with pause
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = AWB)
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecAWB_pause.awb)
+//!                7. Record 10s 
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Record 10s
+//!                10. Stop 5s
+//!                11. CloseFile
+//!                12. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = AWB)
+//!                13. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                14. Capabilities
+//!                15. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                16. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecAWB_pause.awb)
+//!                17. Start Play EOF 
+//!                18. CloseFile
+//!                19. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-WB recording with pause
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0002-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0002-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0002-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0002-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Recording-0002-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0002-0001-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0002-0001-SetPrioritySettings_command13
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0002-0001-SetConfigL_command15
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0002-0001-OpenFile_command16
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0002
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0003
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0003
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		G.711 recording with pause
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = G711)
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecG711_pause.pcm)
+//!                7. Record 10s 
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Record 10s
+//!                10. Stop 5s
+//!                11. CloseFile
+//!                12. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = G711)
+//!                13. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                14. Capabilities
+//!                15. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                16. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecG711_pause.pcm)
+//!                17. Start Play EOF 
+//!                18. CloseFile
+//!                19. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                G.711 recording with pause
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0003-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0003-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0003-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0003-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Recording-0003-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0003-0001-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0003-0001-SetPrioritySettings_command13
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0003-0001-SetConfigL_command15
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0003-0001-OpenFile_command16
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0003
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0004
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0004
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		G.729AB recording with pause
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = G729)
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecG729_pause.bin)
+//!                7. Record 10s 
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Record 10s
+//!                10. Stop 5s
+//!                11. CloseFile
+//!                12. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = G729)
+//!                13. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                14. Capabilities
+//!                15. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                16. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecG729_pause.bin)
+//!                17. Start Play EOF 
+//!                18. CloseFile
+//!                19. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                G.729AB recording with pause
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0004-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0004-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0004-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0004-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Recording-0004-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0004-0001-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0004-0001-SetPrioritySettings_command13
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0004-0001-SetConfigL_command15
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0004-0001-OpenFile_command16
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0004
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0005
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0005
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		iLBC recording with pause
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = ILBC)
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecILBC_pause.bin)
+//!                7. Record 10s 
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Record 10s
+//!                10. Stop 5s
+//!                11. CloseFile
+//!                12. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = ILBC)
+//!                13. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                14. Capabilities
+//!                15. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                16. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecILBC_pause.bin)
+//!                17. Start Play EOF 
+//!                18. CloseFile
+//!                19. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                iLBC recording with pause
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0005-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0005-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0005-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0005-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Recording-0005-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0005-0001-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0005-0001-SetPrioritySettings_command13
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0005-0001-SetConfigL_command15
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0005-0001-OpenFile_command16
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0005
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0006
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0006
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState )
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings {ref} )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities {ref} )
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::Pause()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		PCM recording with pause
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound (Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecRAW_pause.pcm)
+//!                7. Record 10s 
+//!                8. Pause 5s(Pause=TRUE)
+//!                9. Record 10s
+//!                10. Stop 5s
+//!                11. CloseFile
+//!                12. Initialize Devsound (Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                13. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                14. Capabilities
+//!                15. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                16. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecRAW_pause.pcm)
+//!                17. Start Play EOF 
+//!                18. CloseFile
+//!                19. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM recording with pause
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0006-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0006-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0006-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0006-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop			MULTIMEDIA-MMF-DevSound-Recording-0006-0001-Stop_command08
+		DELAY  5000000 
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0006-0001-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0006-0001-SetPrioritySettings_command13
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0006-0001-SetConfigL_command15
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0006-0001-OpenFile_command16
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0006
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0007
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0007
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		PCM - 16 KHz mono recording and playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_16k_mono_10s.pcm)
+//!                7. Record 10s 
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_16k_mono_10s.pcm)
+//!                15. Start Play EOF 
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM - 16 KHz mono recording and playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	35	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0007-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0007-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0007-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0007-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0007-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0007-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0007-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0007-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0007
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0008
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0008
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		PCM - 16 KHz stereo recording and playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate16000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_16k_stereo_10s.pcm)
+//!                7. Record 10s 
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate16000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_16k_stereo_10s.pcm)
+//!                15. Start Play EOF 
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM - 16 KHz stereo recording and playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	35	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0008-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0008-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0008-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0008-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0008-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0008-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0008-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0008-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0008
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0009
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0009
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		PCM - 24 KHz mono recording and playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate24000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_24k_mono_10s.pcm)
+//!                7. Record 10s 
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate24000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_24k_mono_10s.pcm)
+//!                15. Start Play EOF 
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM - 24 KHz mono recording and playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	35	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0009-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0009-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0009-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0009-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0009-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0009-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0009-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0009-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0009
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0010
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0010
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		PCM - 24 KHz stereo recording and playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate24000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_24k_stereo_10s.pcm)
+//!                7. Record 10s 
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate24000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_24k_stereo_10s.pcm)
+//!                15. Start Play EOF 
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM - 24 KHz stereo recording and playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	35	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0010-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0010-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0010-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0010-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0010-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0010-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0010-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0010-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0010
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0011
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0011
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		PCM - 32 KHz mono recording and playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate32000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_32k_mono_10s.pcm)
+//!                7. Record 10s 
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate32000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_32k_mono_10s.pcm)
+//!                15. Start Play EOF 
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM - 32 KHz mono recording and playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	35	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0011-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0011-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0011-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0011-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0011-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0011-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0011-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0011-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0011
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0012
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0012
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		PCM - 32KHz stereo recording and playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate32000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_32k_stereo_10s.pcm)
+//!                7. Record 10s 
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate32000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_32k_stereo_10s.pcm)
+//!                15. Start Play EOF 
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM - 32KHz stereo recording and playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	35	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0012-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0012-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0012-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0012-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0012-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0012-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0012-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0012-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0012
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0013
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0013
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		PCM - 48KHz mono recording and playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_48k_mono_10s.pcm)
+//!                7. Record 10s 
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_48k_mono_10s.pcm)
+//!                15. Start Play EOF 
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM - 48KHz mono recording and playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	35	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0013-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0013-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0013-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0013-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0013-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0013-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0013-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0013-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0013
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0014
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0014
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		PCM - 48KHz stereo recording and playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_48k_stereo_10s.pcm)
+//!                7. Record 10s 
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_48k_stereo_10s.pcm)
+//!                15. Start Play EOF 
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM - 48KHz stereo recording and playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	35	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0014-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0014-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0014-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0014-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0014-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0014-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0014-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0014-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0014
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0015
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0015
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		PCM - 8KHz mono recording and playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_8k_mono_10s.pcm)
+//!                7. Record 10s 
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_8k_mono_10s.pcm)
+//!                15. Start Play EOF 
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM - 8KHz mono recording and playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	35	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0015-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0015-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0015-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0015-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0015-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0015-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0015-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0015-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0015
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0016
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0016
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		PCM - 8KHz stereo recording and playback
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate8000Hz)
+//!                6. ReplaceFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_8k_stereo_10s.pcm)
+//!                7. Record 10s 
+//!                8. Stop 5s
+//!                9. CloseFile
+//!                10. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                11. Set Priority (Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState = EMMFStatePlaying)
+//!                12. Capabilities
+//!                13. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate8000Hz)
+//!                14. OpenFile (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_8k_stereo_10s.pcm)
+//!                15. Start Play EOF 
+//!                16. CloseFile
+//!                17. Delete devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM - 8KHz stereo recording and playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	35	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0016-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0016-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0016-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0016-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0016-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0016-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0016-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0016-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0016
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0017
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0017
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		AMR-NB 8KHz recording and playback several times
+//!@SYMTestActions
+//!                1.- Create DevSound Instance att1
+//!                2.- Create DevSound Instance att2
+//!                3.- att1 Initialize DevSound  ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                4.- att1 Set Priority (Priority ={Priority,PriorityPocCallUp}; Preference = {PriorityPreference,PriorityPreferencePocCallUp}; PriorityState = EMMFStateRecording)
+//!                5.- att1 Capabilities
+//!                6.- att1 Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                7.- att1 ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\PoCCallStressTest.amr)
+//!                8.- att1 Record 5s
+//!                9.- att1 Stop 2s
+//!                10.- att1 Record 3s
+//!                11.- att1 Stop 4s
+//!                12.- att1 CloseFile
+//!                13.- att2 Initialize DevSound  ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                14.- att2 Set Priority (Priority ={Priority,PriorityPocCallDown}; Preference = {PriorityPreference,PriorityPreferencePocCallDown} ; PriorityState = EMMFStatePlaying)
+//!                15.- att2 Capabilities
+//!                16.- att2 Set Configuration(Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                17.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                18.- Start Play 2s
+//!                19.- Stop 1s 
+//!                20.- Start Play 5s
+//!                21.- Stop
+//!                22. Close File
+//!                23.- Delete att1
+//!                24.- Delete att2
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB 8KHz recording and playback several times
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CMMFDevSound		devsound2
+		COMMAND		devsound1		NewL
+		COMMAND		devsound2		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0017-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0017-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0017-0001-SetConfigL_command06
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0017-0001-ReplaceFile_command07
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  5000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound1		Stop
+		DELAY  4000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound2		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0017-0001-InitializeL_command13
+        OUTSTANDING
+		COMMAND		devsound2		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0017-0001-SetPrioritySettings_command14
+		COMMAND		devsound2		Capabilities
+		COMMAND		devsound2		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0017-0001-SetConfigL_command16
+		COMMAND		devsound2		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0017-0001-OpenFile_command17
+		COMMAND		devsound2		PlayInitL
+		ASYNC_DELAY  2000000 
+		COMMAND		devsound2		Stop
+		DELAY  1000000 
+		COMMAND		devsound2		PlayInitL
+		ASYNC_DELAY  5000000 
+		COMMAND		devsound2		Stop
+		COMMAND		devsound2		CloseFile
+		COMMAND		devsound1		~
+		COMMAND		devsound2		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0017
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0018
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0018
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 16k mono record and playback
+//!@SYMTestActions
+//!                1.- Create a Instance of DevSound
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW}  )
+//!                3.- Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                6.- ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec16kPCM.pcm)
+//!                7.- StartRecord 10s
+//!                8.- Stop 5s
+//!                9.- CloseFile
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW}  )
+//!                11.- Set Priority (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState =  EMMFStatePlaying )
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate16000Hz)
+//!                14.- OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec16kPCM.pcm)
+//!                15.- StartPlay EOF
+//!                16.- CloseFile
+//!                17.-delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 16k mono record and playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0018-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0018-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0018-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0018-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0018-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0018-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0018-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0018-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0018
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0019
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0019
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 16k stereo record and playback
+//!@SYMTestActions
+//!                1.- Create a Instance of DevSound
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW}  )
+//!                3.- Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate16000Hz)
+//!                6.- ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec16kPCMStereo.pcm)
+//!                7.- StartRecord 10s
+//!                8.- Stop 5s
+//!                9.- CloseFile
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW}  )
+//!                11.- Set Priority (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState =  EMMFStatePlaying )
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate16000Hz)
+//!                14.- OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec16kPCMStereo.pcm)
+//!                15.- StartPlay EOF
+//!                16.- CloseFile
+//!                17.-delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 16k stereo record and playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0019-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0019-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0019-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0019-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0019-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0019-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0019-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0019-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0019
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0020
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0020
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 24k mono record and playback
+//!@SYMTestActions
+//!                1.- Create a Instance of DevSound
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW}  )
+//!                3.- Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate24000Hz)
+//!                6.- ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec24kPCM.pcm)
+//!                7.- StartRecord 10s
+//!                8.- Stop 5s
+//!                9.- CloseFile
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW}  )
+//!                11.- Set Priority (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState =  EMMFStatePlaying )
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate24000Hz)
+//!                14.- OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec24kPCM.pcm)
+//!                15.- StartPlay EOF
+//!                16.- CloseFile
+//!                17.-delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 24k mono record and playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0020-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0020-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0020-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0020-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0020-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0020-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0020-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0020-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0020
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0021
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0021
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 24k stereo record and recording
+//!@SYMTestActions
+//!                1.- Create a Instance of DevSound
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW}  )
+//!                3.- Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate24000Hz)
+//!                6.- ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec24kPCMStereo.pcm)
+//!                7.- StartRecord 10s
+//!                8.- Stop 5s
+//!                9.- CloseFile
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW}  )
+//!                11.- Set Priority (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState =  EMMFStatePlaying )
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate24000Hz)
+//!                14.- OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec24kPCMStereo.pcm)
+//!                15.- StartPlay EOF
+//!                16.- CloseFile
+//!                17.-delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 24k stereo record and recording
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0021-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0021-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0021-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0021-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0021-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0021-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0021-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0021-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0021
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0022
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0022
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 32k mono record and recording
+//!@SYMTestActions
+//!                1.- Create a Instance of DevSound
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW}  )
+//!                3.- Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate32000Hz)
+//!                6.- ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec32kPCM.pcm)
+//!                7.- StartRecord 10s
+//!                8.- Stop 5s
+//!                9.- CloseFile
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW}  )
+//!                11.- Set Priority (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState =  EMMFStatePlaying )
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate =EMMFSampleRate32000Hz)
+//!                14.- OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec32kPCM.pcm)
+//!                15.- StartPlay EOF
+//!                16.- CloseFile
+//!                17.- Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 32k mono record and recording
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0022-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0022-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0022-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0022-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0022-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0022-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0022-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0022-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0022
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0023
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0023
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 32k stereo record and recording
+//!@SYMTestActions
+//!                1.- Create a Instance of DevSound
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW}  )
+//!                3.- Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate32000Hz)
+//!                6.- ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec32kPCMStereo.pcm)
+//!                7.- StartRecord 10s
+//!                8.- Stop 5s
+//!                9.- CloseFile
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW}  )
+//!                11.- Set Priority (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState =  EMMFStatePlaying )
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFStereo; Rate =EMMFSampleRate32000Hz)
+//!                14.- OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec32kPCMStereo.pcm)
+//!                15.- StartPlay EOF
+//!                16.- CloseFile
+//!                17.-delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 32k stereo record and recording
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0023-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0023-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0023-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0023-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0023-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0023-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0023-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0023-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0023
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0024
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0024
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 48k mono record and recording
+//!@SYMTestActions
+//!                1.- Create a Instance of DevSound
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW}  )
+//!                3.- Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate48000Hz)
+//!                6.- ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec48kPCM.pcm)
+//!                7.- StartRecord 10s
+//!                8.- Stop 5s
+//!                9.- CloseFile
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW}  )
+//!                11.- Set Priority (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState =  EMMFStatePlaying )
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate =EMMFSampleRate48000Hz)
+//!                14.- OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec48kPCM.pcm)
+//!                15.- StartPlay EOF
+//!                16.- CloseFile
+//!                17.-delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 48k mono record and recording
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0024-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0024-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0024-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0024-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0024-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0024-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0024-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0024-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0024
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0025
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0025
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 48k stereo record and recording
+//!@SYMTestActions
+//!                1.- Create a Instance of DevSound
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW}  )
+//!                3.- Set Priority (Priority = {Priority,PriorityVideoRecording}; Preference = {PriorityPreference,PriorityPreferenceVideoRecording}; PriorityState = EMMFStateRecording )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                6.- ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec48kPCMStereo.pcm)
+//!                7.- StartRecord 10s
+//!                8.- Stop 5s
+//!                9.- CloseFile
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW}  )
+//!                11.- Set Priority (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState =  EMMFStatePlaying )
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFStereo; Rate =EMMFSampleRate48000Hz)
+//!                14.- OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec48kPCMStereo.pcm)
+//!                15.- StartPlay EOF
+//!                16.- CloseFile
+//!                17.-Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 48k stereo record and recording
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0025-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0025-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0025-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0025-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0025-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0025-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0025-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0025-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0025
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0026
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0026
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 8k mono record and recording
+//!@SYMTestActions
+//!                1.- Create a Instance of DevSound
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW}  )
+//!                3.- Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCM.pcm)
+//!                7.- StartRecord 10s
+//!                8.- Stop 5s
+//!                9.- CloseFile
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW}  )
+//!                11.- Set Priority (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState =  EMMFStatePlaying )
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.- OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCM.pcm)
+//!                15.- StartPlay EOF
+//!                16.- CloseFile
+//!                17.-delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 8k mono record and recording
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0026-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0026-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0026-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0026-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0026-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0026-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0026-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0026-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0026
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0027
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0027
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 8 KHz mono recording and playback
+//!@SYMTestActions
+//!                1.- Create a Instance of DevSound
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW}  )
+//!                3.- Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMPhoneMem.pcm)
+//!                7.- StartRecord 10s
+//!                8.- Stop 5s
+//!                9.- CloseFile
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW}  )
+//!                11.- Set Priority (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState =  EMMFStatePlaying )
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.- OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMPhoneMem.pcm)
+//!                15.- StartPlay EOF
+//!                16.- CloseFile
+//!                17.-delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 8 KHz mono recording and playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0027-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0027-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0027-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0027-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0027-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0027-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0027-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0027-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0027
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0028
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0028
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 8k mono record rec stop twice
+//!@SYMTestActions
+//!                1.- Create a Instance of DevSound
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW}  )
+//!                3.- Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMRecStopTwice1.pcm)
+//!                7.- StartRecord 10s
+//!                8.- Stop 5s
+//!                9.- CloseFile
+//!                10.-  ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMRecStopTwice2.pcm)
+//!                11.- StartRecord 10s
+//!                12.- Stop
+//!                13.- CloseFile
+//!                14.-Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 8k mono record rec stop twice
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0028-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0028-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0028-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0028-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0028-0001-ReplaceFile_command10
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0028
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0029
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0029
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 8k mono record using UID
+//!@SYMTestActions
+//!                1.- Create a Instance of DevSound
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW}  )
+//!                3.- Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMUID.pcm)
+//!                7.- StartRecord 10s
+//!                8.- Stop 5s
+//!                9.- CloseFile
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW}  )
+//!                11.- Set Priority (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState =  EMMFStatePlaying )
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.- OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMUID.pcm)
+//!                15.- StartPlay EOF
+//!                16.- CloseFile
+//!                17.-delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 8k mono record using UID
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0029-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0029-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0029-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0029-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0029-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0029-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0029-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0029-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0029
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0030
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0030
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 8k mono record when accessory is not used
+//!@SYMTestActions
+//!                1.- Create a Instance of DevSound
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW}  )
+//!                3.- Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6.- ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMWithoutAcc.pcm)
+//!                7.- StartRecord 10s
+//!                8.- Stop 5s
+//!                9.- CloseFile
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW}  )
+//!                11.- Set Priority (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState =  EMMFStatePlaying )
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14.- OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMWithoutAcc.pcm)
+//!                15.- StartPlay EOF
+//!                16.- CloseFile
+//!                17.-delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 8k mono record when accessory is not used
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0030-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0030-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0030-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0030-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0030-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0030-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0030-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0030-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0030
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0031
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0031
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM 8k stereo record
+//!@SYMTestActions
+//!                1.- Create a Instance of DevSound
+//!                2.- Initialize DevSound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW}  )
+//!                3.- Set Priority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording )
+//!                4.- Capabilities
+//!                5.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate8000Hz)
+//!                6.- ReplaceFile (Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMStereo.pcm)
+//!                7.- StartRecord 10s
+//!                8.- Stop 5s
+//!                9.- CloseFile
+//!                10.- Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW}  )
+//!                11.- Set Priority (Priority ={Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState =  EMMFStatePlaying )
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate8000Hz)
+//!                14.- OpenFile(Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMStereo.pcm)
+//!                15.- StartPlay EOF
+//!                16.- CloseFile
+//!                17.-delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM 8k stereo record
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0031-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0031-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0031-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0031-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0031-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0031-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0031-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0031-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0031
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0032
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0032
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!@SYMAuthor			ddamian
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Audio routing - 16k stereo recording when mono headset is used
+//!@SYMTestActions
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound  ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3.- Set priority settings (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- SetConfiguration (Channels = EMMFStereo; Rate = EMMFSampleRate16000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\RoutingRecWithAcc.pcm)
+//!                7.- Record 10s
+//!                8.- Stop 5s
+//!                9.- Close File
+//!                10.- initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                11.- Set priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate16000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\RoutingRecWithAcc.pcm)
+//!                15.- Play EOF
+//!                16.- Close File
+//!                17.- Destroy Data
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Audio routing - 16k stereo recording when mono headset is used
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0032-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0032-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0032-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0032-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0032-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0032-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0032-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0032-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0032
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0033
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0033
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!@SYMAuthor			ddamian
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Audio routing - Insert mono headset during 16k stereo recording 
+//!@SYMTestActions
+//!                1.- Create DevSound instance
+//!                2.- Initialize DevSound  ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3.- Set priority settings (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState = EMMFStateRecording)
+//!                4.- Capabilities
+//!                5.- SetConfiguration (Channels = EMMFStereo; Rate = EMMFSampleRate16000Hz)
+//!                6.- Replace File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\RoutingRecWithAcc.pcm)
+//!                7.- Record 20s
+//!                8.- Stop 5s
+//!                9.- Close File
+//!                10.- initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                11.- Set priority settings (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState = EMMFStatePlaying)
+//!                12.- Capabilities
+//!                13.- Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate16000Hz)
+//!                14.- Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\recording\RoutingRecWithAcc.pcm)
+//!                15..- Play EOF
+//!                16.- Close File
+//!                17.- Destroy Data
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Audio routing - Insert mono headset during 16k stereo recording
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0033-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0033-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0033-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0033-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0033-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0033-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0033-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0033-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0033
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0034
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0034
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!@SYMAuthor			arueda 
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		PCM recording ando playback with gain
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode = EMMFStateRecording; FourCC={SpecialFourCC,RAW})
+//!                3. SetPriority (Priority={Priority,PriorityVoiceRecording}; Preference={PriorityPreference,PriorityPreferenceVideoRecording}; PriorityState=EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Replace File (Filename={drive,mmc}\multimedia\mmf\devsound\Recording\GainRecMono.pcm)
+//!                6. SetConfiguration (Channels=EMMFMono; Rate=EMMFSampleRate8000Hz)
+//!                7. StartRecord 10 s
+//!                8. SetGain (gain=0)
+//!                9. SetGain  (gain=1)
+//!                10. Stop
+//!                11. CloseFile
+//!                12. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC={SpecialFourCC,RAW})
+//!                13. SetPriority (Priority={Priority,PriorityAudioPlayback}; Preference={PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                14. Capabilities
+//!                15. Open File (Filename={drive,mmc}\multimedia\mmf\devsound\Recording\GainRecMono.pcm)
+//!                16. SetConfiguration (Channels=EMMFMono; Rate=EMMFSampleRate8000Hz)
+//!                17. StartPlay EOF
+//!                18. Stop
+//!                19. Close File
+//!                20. Detele DevSound instance.
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM recording ando playback with gain
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0034-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0034-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0034-0001-ReplaceFile_command05
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0034-0001-SetConfigL_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		SetGain			MULTIMEDIA-MMF-DevSound-Recording-0034-0001-SetGain_command08
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		SetGain			MULTIMEDIA-MMF-DevSound-Recording-0034-0001-SetGain_command09
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0034-0001-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0034-0001-SetPrioritySettings_command13
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0034-0001-OpenFile_command15
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0034-0001-SetConfigL_command16
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0034
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0035
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0035
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!@SYMAuthor			arueda 
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		Input source capability - Voice recording with not allowed sample rate
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize DevSound ( Mode=EMMFStateRecording; FourCC ={SpecialFourCC,RAW})
+//!                3. SetPriority (Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState =EMMFStateRecording)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels=EMMFMono; Rate = EMMFSampleRate44100Hz)
+//!                6. Replace File (Filename={drive,mmc}\multimedia\mmf\devsound\recording\badFile.pcm)
+//!                7. StartRecord
+//!                8. Stop
+//!                9. Close File
+//!                10. Destroy DevSound Instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Input source capability - Voice recording with not allowed sample rate
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	300	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0035-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0035-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		!Error=-5	devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0035-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0035-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0035
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0036
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0036
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		AMR-NB playback as PocCallDown
+//!@SYMTestActions
+//!                1. Create Devsound instance 
+//!                2. Initialize Devsound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                3. Set Priority (Priority = {Priority,PriorityPocCallUp}; Preference = {PriorityPreference,PriorityPreferencePocCallUp};PriorityState=EMMFStateRecording)
+//!                4. Capabilities 
+//!                5. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                6. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecAMRNBPoC.amr)
+//!                7. Start Recording 10 s
+//!                8. Stop 5s
+//!                9. Close File
+//!                10. Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                11. Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                12. Capabilities 
+//!                13. Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                14. Open File(Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecAMRNBPoC.amr)
+//!                15. Start Play EOF
+//!                16. Close file
+//!                17. Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB playback as PocCallDown
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	50	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0036-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0036-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0036-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0036-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0036-0001-InitializeL_command10
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0036-0001-SetPrioritySettings_command11
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0036-0001-SetConfigL_command13
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0036-0001-OpenFile_command14
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0036
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0037
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0037
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			etorres
+//!@SYMCreationDate		8/11/2008 
+//!@SYMTestCaseDesc		AMR-NB recording as PocCallDown
+//!@SYMTestActions
+//!                1. Create Devsound instance devsound1
+//!                2. Create Devsound instance devsound2
+//!                3. devsound1 Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                4. devsound1 Set Priority (Priority = {Priority,PriorityPocCallDown}; Preference = {PriorityPreference,PriorityPreferencePocCallDown} ;PriorityState=EMMFStatePlaying)
+//!                5. devsound1 Capabilities 
+//!                6. devsound1 Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                7. devsound2 Initialize Devsound ( Mode = EMMFStateRecording; FourCC = AMR)
+//!                8. devsound2 Set Priority (Priority = {Priority,PriorityPocCallUp}; Preference = {PriorityPreference,PriorityPreferencePocCallUp};PriorityState=EMMFStateRecording)
+//!                9. devsound2 Capabilities 
+//!                10. devsound2 Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                11. devsound1 OpenFile(Filename= {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr)
+//!                12. devsound2 Replace File(Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\PoCCallPlayRepeated.amr)
+//!                13. devsound1 StartPlay 10S
+//!                14. devsound1 Stop 5S
+//!                15. devsound2 StartRecord 10S
+//!                16. devsound2 Stop 1S
+//!                17. devsound2 Resume Recording 10S
+//!                18. devsound2 Stop 5S
+//!                19. devsound1 FileStartPosition
+//!                20. devsound1 StartPlay 10S
+//!                21. devsound1 Stop 5s
+//!                22. devsound1 closefile
+//!                23. devsound2 closefile
+//!                24. devsound2 Initialize Devsound ( Mode = EMMFStatePlaying; FourCC = AMR)
+//!                25. devsound2 Set Priority (Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback};PriorityState=EMMFStatePlaying)
+//!                26. devsound2 Capabilities 
+//!                27. devsound2 Set Configuration (Channels = EMMFMono; Rate = EMMFSampleRate8000Hz)
+//!                28. devsound2 OpenFile(Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\PoCCallPlayRepeated.amr)
+//!                29. devsound2 Start Play EOF
+//!                30. devsound2 CloseFile
+//!                31. devsound1 Destroy Devsound instance
+//!                32. devsound2 Destroy Devsound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                AMR-NB recording as PocCallDown
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CMMFDevSound		devsound2
+		COMMAND		devsound1		NewL
+		COMMAND		devsound2		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0037-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0037-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0037-0001-SetConfigL_command06
+		COMMAND		devsound2		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0037-0001-InitializeL_command07
+        OUTSTANDING
+		COMMAND		devsound2		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0037-0001-SetPrioritySettings_command08
+		COMMAND		devsound2		Capabilities
+		COMMAND		devsound2		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0037-0001-SetConfigL_command10
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0037-0001-OpenFile_command11
+		COMMAND		devsound2		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0037-0001-ReplaceFile_command12
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound2		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound2		Stop
+		DELAY  1000000 
+		COMMAND		devsound2		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound2		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		FileStartPosition
+		COMMAND		devsound1		PlayInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound2		CloseFile
+		COMMAND		devsound2		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0037-0001-InitializeL_command24
+        OUTSTANDING
+		COMMAND		devsound2		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0037-0001-SetPrioritySettings_command25
+		COMMAND		devsound2		Capabilities
+		COMMAND		devsound2		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0037-0001-SetConfigL_command27
+		COMMAND		devsound2		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0037-0001-OpenFile_command28
+		COMMAND		devsound2		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound2		CloseFile
+		COMMAND		devsound1		~
+		COMMAND		devsound2		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0037
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0038
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0038
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver{ref}, TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings{ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities{ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!@SYMAuthor			jguillermo
+//!@SYMCreationDate		9/8/2008 
+//!@SYMTestCaseDesc		PCM stereo recording with gain control
+//!@SYMTestActions
+//!                1. Create DevSound instance 
+//!                2. Initialize DevSound ( Mode = EMMFStateRecording; FourCC = {SpecialFourCC,RAW})
+//!                3. Set Priority ( Priority = {Priority,PriorityVoiceRecording}; Preference = {PriorityPreference,PriorityPreferenceVoiceRecording} ; PriorityState=EMMFStateRecording)
+//!                4. Capabilities
+//!                5. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate8000Hz)
+//!                6. Replace file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\GainRecStereo.pcm)
+//!                7. Record 10 seconds
+//!                8. Set Gain and delay 10 seconds (Gain = 0)
+//!                9. Set Gain and delay 10 seconds (Gain = 1 )
+//!                10. Stop 5 seconds
+//!                11. Close file
+//!                12. Initialize DevSound ( Mode = EMMFStatePlaying; FourCC = {SpecialFourCC,RAW})
+//!                13. Set Priority ( Priority = {Priority,PriorityAudioPlayback}; Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}; PriorityState=EMMFStatePlaying)
+//!                14. Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate8000Hz)
+//!                15. Open file (Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\GainRecStereo.pcm)
+//!                16. Play EOF
+//!                17. Close file
+//!                18. Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                PCM stereo recording with gain control
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	100	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0038-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0038-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		Capabilities
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0038-0001-SetConfigL_command05
+		COMMAND		devsound1		ReplaceFile			MULTIMEDIA-MMF-DevSound-Recording-0038-0001-ReplaceFile_command06
+		COMMAND		devsound1		RecordInitL
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		SetGain			MULTIMEDIA-MMF-DevSound-Recording-0038-0001-SetGain_command08
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		SetGain			MULTIMEDIA-MMF-DevSound-Recording-0038-0001-SetGain_command09
+		ASYNC_DELAY  10000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Recording-0038-0001-InitializeL_command12
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Recording-0038-0001-SetPrioritySettings_command13
+		COMMAND		devsound1		SetConfigL			MULTIMEDIA-MMF-DevSound-Recording-0038-0001-SetConfigL_command14
+		COMMAND		devsound1		OpenFile			MULTIMEDIA-MMF-DevSound-Recording-0038-0001-OpenFile_command15
+		COMMAND		devsound1		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound1		CloseFile
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-RECORDING-0038
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/scripts/multimedia-mmf-devsound-validation-automated-tones.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1116 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName multimedia-mmf-devsound-validation-automated-tones
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the CMMFDevSound
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: CMMFDevSound
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devsound
+
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0001
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0001
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver , TFourCC , TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(const TMMFPrioritySettings )
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(const TMMFCapabilities )
+//!                CMMFDevSound::PlayDTMFStringL(TDesC {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		Keypad volume - DTMF tones
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Create Central repository instance (RepUID={RepositoryID,UidProfileEngine})
+//!                3. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                4. Set repository settings (ItemID={ItemsID,IdActiveKeypadVolume}; SetValue={DataID,KeypadVolume_Level3})
+//!                5. Set priority settings ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState=EMMFStateTonePlaying)
+//!                6. Set Volume (Volume = 50)
+//!                7. Set DTMF Lengths (ToneOnLength = 300000; ToneOffLength = 100000; PauseLength = 100000)
+//!                8. Start DTMF Play (DTMFString = 1234567890)
+//!                9. Set Volume (Volume = 50)
+//!                10.Set DTMF Lengths (ToneOnLength = 300000; ToneOffLength = 100000; PauseLength = 100000)
+//!                11.Start DTMF Play (DTMFString = 1234567890)
+//!                12.Set repository settings (ItemID={ItemsID,IdActiveKeypadVolume}; SetValue={DataID,KeypadVolume_Off})
+//!                13.Set DTMF Lengths (ToneOnLength = 300000; ToneOffLength = 100000; PauseLength = 100000)
+//!                14.Start DTMF Play (DTMFString = 1234567890)
+//!                15.Set Volume (Volume = 20)
+//!                16.Set DTMF Lengths (ToneOnLength = 300000; ToneOffLength = 100000; PauseLength = 100000)
+//!                17.Start DTMF Play (DTMFString = 1234567890)
+//!                18.Delete Central repositiry instance.
+//!                19.Delete DevSound instance.
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Keypad volume - DTMF tones
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CRepository		repository1
+		COMMAND		devsound1		NewL
+		COMMAND		repository1		NewL			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-NewL_command02
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-InitializeL_command03
+		OUTSTANDING
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-Set_command04
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetPrioritySettings_command05
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetVolume_command06
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetDTMFLengths_command07
+		COMMAND		devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-PlayDTMFStringL_command08
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetVolume_command09
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetDTMFLengths_command10
+		COMMAND		devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-PlayDTMFStringL_command11
+		ASYNC_DELAY  3000000 
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-Set_command12
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetDTMFLengths_command13
+		COMMAND		devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-PlayDTMFStringL_command14
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetVolume_command15
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetDTMFLengths_command16
+		COMMAND		devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Tones-0001-0001-PlayDTMFStringL_command17
+		ASYNC_DELAY  3000000 
+		COMMAND		repository1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0001
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0002
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0002
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CRepository::Set(TUint32 ,const TDesC8 {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		Play NRT tone file when vibra off
+//!@SYMTestActions
+//!                1. Create Central repository instance (RepUID={RepositoryID,UidVibraCtrl}).
+//!                2. Set repository settings (ItemID={ItemsID,IdVibraEnabled}; SetValue={DataID,Off} )
+//!                3. Delete Central repository instance.
+//!                4. Create DevSound instance
+//!                5. Initialize devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                6. Set priority settings ( Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying)
+//!                7. Play tone sequence (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko.nrt)
+//!                8. Stop sequence
+//!                9.Delete DevSound instance.
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Play NRT tone file when vibra off
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CRepository		repository1
+		COMMAND		repository1		NewL			MULTIMEDIA-MMF-DevSound-Tones-0002-0001-NewL_command01
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Tones-0002-0001-Set_command02
+		COMMAND		repository1		~
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0002-0001-InitializeL_command05
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0002-0001-SetPrioritySettings_command06
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Tones-0002-0001-PlayToneSequenceL_command07
+		DELAY  5000000
+		COMMAND		devsound1		Stop
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0002
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0003
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0003
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CRepository::Set(TUint32 ,const TDesC8 {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		Play NRT tone file when vibra on
+//!@SYMTestActions
+//!                1. Create Central repository instance (RepUID={RepositoryID,UidVibraCtrl}).
+//!                2. Set repository settings (ItemID={ItemsID,IdVibraEnabled}; SetValue={DataID,On})
+//!                3. Create DevSound instance
+//!                4. Initialize devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                5. Set priority settings ( Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying)
+//!                6. Play tone sequence (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko.nrt) 
+//!                7. Stop sequence
+//!                8. Set repository settings (ItemID={ItemsID,IdVibraEnabled}; SetValue={DataID,Off})
+//!                9.Delete DevSound instance.
+//!                10.Delete Central repository instance.
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Play NRT tone file when vibra on
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CRepository		repository1
+		COMMAND		repository1		NewL			MULTIMEDIA-MMF-DevSound-Tones-0003-0001-NewL_command01
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Tones-0003-0001-Set_command02
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0003-0001-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0003-0001-SetPrioritySettings_command05
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Tones-0003-0001-PlayToneSequenceL_command06
+		DELAY  5000000
+		COMMAND		devsound1		Stop
+		OUTSTANDING 
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Tones-0003-0001-Set_command08
+		COMMAND		devsound1		~
+		COMMAND		repository1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0003
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0004
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0004
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CRepository::Set(TUint32 ,const TDesC8 {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		Play RNG tone file when vibra off
+//!@SYMTestActions
+//!                1. Create Central repository instance (RepUID={RepositoryID,UidVibraCtrl}).
+//!                2. Set repository settings (ItemID={ItemsID,IdVibraEnabled}; SetValue={DataID,Off} )
+//!                3. Delete Central repository instance.
+//!                4. Create DevSound instance
+//!                5. Initialize devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                6. Set priority settings ( Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying)
+//!                7. Play tone sequence (Filename = {drive,mmc}\multimedia\mmf\devsound\rng\Ringing_tone.rng)
+//!                8.Delete DevSound instance.
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Play RNG tone file when vibra off
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CRepository		repository1
+		COMMAND		repository1		NewL			MULTIMEDIA-MMF-DevSound-Tones-0004-0001-NewL_command01
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Tones-0004-0001-Set_command02
+		COMMAND		repository1		~
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0004-0001-InitializeL_command05
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0004-0001-SetPrioritySettings_command06
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Tones-0004-0001-PlayToneSequenceL_command07
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0004
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0005
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0005
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CRepository::Set(TUint32 ,const TDesC8 {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		Play RNG tone file when vibra on
+//!@SYMTestActions
+//!                1. Create Central repository instance (RepUID={RepositoryID,UidVibraCtrl}).
+//!                2. Set repository settings (ItemID={ItemsID,IdVibraEnabled}; SetValue={DataID,On})
+//!                3. Create DevSound instance
+//!                4. Initialize devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                5. Set priority settings (Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying)
+//!                6. Play tone sequence (Filename = {drive,mmc}\multimedia\mmf\devsound\rng\Ringing_tone.rng)
+//!                7. Set repository settings (ItemID={ItemsID,IdVibraEnabled}; SetValue={DataID,Off})
+//!                8.Delete DevSound instance.
+//!                9.Delete Central repository instance.
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Play RNG tone file when vibra on
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CRepository		repository1
+		COMMAND		repository1		NewL			MULTIMEDIA-MMF-DevSound-Tones-0005-0001-NewL_command01
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Tones-0005-0001-Set_command02
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0005-0001-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0005-0001-SetPrioritySettings_command05
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Tones-0005-0001-PlayToneSequenceL_command06
+		OUTSTANDING
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Tones-0005-0001-Set_command07
+		COMMAND		devsound1		~
+		COMMAND		repository1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0005
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0006
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0006
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState)
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::SetVolumeRamp(TTimeIntervalMicroSeconds {ref})
+//!                
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		Ringing type - Ascending
+//!@SYMTestActions
+//!                1. Create DevSound instance1
+//!                2.Initialize DevSound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings (Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying)
+//!                4. Set volume ramp (RampDuration = 15000000)
+//!                5. Play tone sequence (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko.nrt)
+//!                6. Stop sequence 5s
+//!                7. Delete DevSound instance1
+//!                8.Create DevSound instance2
+//!                9.Initialize DevSound (Mode = EMMFStatePlaying; FourCC= MP3)
+//!                10.Set priority settings (Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStatePlaying)
+//!                11.Capabilities
+//!                12.Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate48000Hz)
+//!                13. OpenFile( Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_320kbps_st_Queen.mp3 )
+//!                14.Set volume ramp (RampDuration = 15000000)
+//!                15.Start play ()
+//!                16. CloseFile
+//!                17.Delete DevSound instance2
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Ringing type - Ascending
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CMMFDevSound		devsound2
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0006-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0006-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		SetVolumeRamp			MULTIMEDIA-MMF-DevSound-Tones-0006-0001-SetVolumeRamp_command04
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Tones-0006-0001-PlayToneSequenceL_command05
+		DELAY  5000000
+		COMMAND		devsound1		Stop
+		OUTSTANDING
+		COMMAND		devsound1		~
+		COMMAND		devsound2		NewL
+		COMMAND		devsound2		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0006-0001-InitializeL_command09
+        OUTSTANDING
+		COMMAND		devsound2		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0006-0001-SetPrioritySettings_command10
+		COMMAND		devsound2		Capabilities
+		COMMAND		devsound2		SetConfigL			MULTIMEDIA-MMF-DevSound-Tones-0006-0001-SetConfigL_command12
+		COMMAND		devsound2		OpenFile			MULTIMEDIA-MMF-DevSound-Tones-0006-0001-OpenFile_command13
+		COMMAND		devsound2		SetVolumeRamp			MULTIMEDIA-MMF-DevSound-Tones-0006-0001-SetVolumeRamp_command14
+		COMMAND		devsound2		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound2		CloseFile
+		COMMAND		devsound2		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0006
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0008
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0008
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState)
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::RecordInitL()
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CRepository::Set(TUint32 ,const TDesC8 {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		Ringing type - Ringing
+//!@SYMTestActions
+//!                1. Create central repository (RepUID={RepositoryID,UidProfileEngine})
+//!                2. Set repository settings (ItemID={ItemsID,IdActiveRingingType}; SetValue={DataID,RingingType_Ringing})
+//!                3. Delete central repository
+//!                4. Create DevSound instance1
+//!                5. Initialize devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                6. Set priority settings (Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying)
+//!                7. Play tone sequence (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                8.Delete DevSound instance1
+//!                9.Create DevSound instance2 
+//!                10.Initialize devsound (Mode = EMMFStatePlaying; FourCC= MP3)
+//!                11.Set priority settings (Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStatePlaying)
+//!                12.Capabilities
+//!                13.Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                14. OpenFile  (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test4.mp3)
+//!                15.Start Play
+//!                16. Close File
+//!                17.Delete DevSound instance2
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Ringing type - Ringing
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CMMFDevSound		devsound2
+		CREATE_OBJECT	CRepository		repository1
+		COMMAND		repository1		NewL			MULTIMEDIA-MMF-DevSound-Tones-0008-0001-NewL_command01
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Tones-0008-0001-Set_command02
+		COMMAND		repository1		~
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0008-0001-InitializeL_command05
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0008-0001-SetPrioritySettings_command06
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Tones-0008-0001-PlayToneSequenceL_command07
+		OUTSTANDING
+		COMMAND		devsound1		~
+		COMMAND		devsound2		NewL
+		COMMAND		devsound2		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0008-0001-InitializeL_command10
+        OUTSTANDING
+		COMMAND		devsound2		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0008-0001-SetPrioritySettings_command11
+		COMMAND		devsound2		Capabilities
+		COMMAND		devsound2		SetConfigL			MULTIMEDIA-MMF-DevSound-Tones-0008-0001-SetConfigL_command13
+		COMMAND		devsound2		OpenFile			MULTIMEDIA-MMF-DevSound-Tones-0008-0001-OpenFile_command14
+		COMMAND		devsound2		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound2		CloseFile
+		COMMAND		devsound2		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0008
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0009
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0009
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState)
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CRepository::Set(TUint32 ,const TDesC8 {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		Ringing type - RingingOnce
+//!@SYMTestActions
+//!                1. Create central repository (RepUID={RepositoryID,UidProfileEngine})
+//!                2. Set repository settings (ItemID={ItemsID,IdActiveRingingType}; SetValue={DataID,RingingType_RingingOnce})
+//!                3. Create DevSound instance1
+//!                4. Initialize devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                5. Set priority settings (Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying)
+//!                6. Play tone sequence (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                7. Delete DevSound instance1
+//!                8.Create DevSound instance2
+//!                9.Initialize devsound (Mode = EMMFStatePlaying; FourCC= MP3)
+//!                10.Set priority settings (Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStatePlaying)
+//!                11.Capabilities
+//!                12.Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                13. Open File(Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test4.mp3)
+//!                14.Start Play 
+//!                15. Close File
+//!                16.Delete DevSound instance2
+//!                17.Set repository settings (ItemID={ItemsID,IdActiveRingingType}; SetValue={DataID,RingingType_Ringing})
+//!                18.Delete central repository
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Ringing type - RingingOnce
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CMMFDevSound		devsound2
+		CREATE_OBJECT	CRepository		repository1
+		COMMAND		repository1		NewL			MULTIMEDIA-MMF-DevSound-Tones-0009-0001-NewL_command01
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Tones-0009-0001-Set_command02
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0009-0001-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0009-0001-SetPrioritySettings_command05
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Tones-0009-0001-PlayToneSequenceL_command06
+		OUTSTANDING
+		COMMAND		devsound1		~
+		COMMAND		devsound2		NewL
+		COMMAND		devsound2		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0009-0001-InitializeL_command09
+        OUTSTANDING
+		COMMAND		devsound2		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0009-0001-SetPrioritySettings_command10
+		COMMAND		devsound2		Capabilities
+		COMMAND		devsound2		SetConfigL			MULTIMEDIA-MMF-DevSound-Tones-0009-0001-SetConfigL_command12
+		COMMAND		devsound2		OpenFile			MULTIMEDIA-MMF-DevSound-Tones-0009-0001-OpenFile_command13
+		COMMAND		devsound2		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound2		CloseFile
+		COMMAND		devsound2		~
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Tones-0009-0001-Set_command17
+		COMMAND		repository1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0009
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0010
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0010
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState)
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::Capabilities()
+//!                CMMFDevSound::SetConfigL(TMMFCapabilities {ref})
+//!                CMMFDevSound::PlayInitL()
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CRepository::Set(TUint32 ,const TDesC8 {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		Ringing type - Silent
+//!@SYMTestActions
+//!                1. Create central repository (RepUID={RepositoryID,UidProfileEngine})
+//!                2. Set repository settings (ItemID={ItemsID,IdActiveRingingType}; SetValue={DataID,RingingType_Silent})
+//!                3. Create DevSound instance1
+//!                4. Initialize devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                5. Set priority settings (Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying)
+//!                6. Play tone sequence (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                7. Delete DevSound instance1
+//!                8.Create DevSound instance2
+//!                9.Initialize devsound (Mode = EMMFStatePlaying; FourCC= MP3)
+//!                10.Set priority settings (Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStatePlaying)
+//!                11.Capabilities
+//!                12.Set Configuration (Channels = EMMFStereo; Rate = EMMFSampleRate44100Hz)
+//!                13. Open File (Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test4.mp3)
+//!                14.Start Play 
+//!                15. Close File
+//!                16.Delete DevSound instance2
+//!                17.Set repository settings (ItemID={ItemsID,IdActiveRingingType}; SetValue={DataID,RingingType_Ringing})
+//!                18.Delete central repository
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Ringing type - Silent
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CMMFDevSound		devsound2
+		CREATE_OBJECT	CRepository		repository1
+		COMMAND		repository1		NewL			MULTIMEDIA-MMF-DevSound-Tones-0010-0001-NewL_command01
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Tones-0010-0001-Set_command02
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0010-0001-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0010-0001-SetPrioritySettings_command05
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Tones-0010-0001-PlayToneSequenceL_command06
+		OUTSTANDING
+		COMMAND		devsound1		~
+		COMMAND		devsound2		NewL
+		COMMAND		devsound2		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0010-0001-InitializeL_command09
+        OUTSTANDING
+		COMMAND		devsound2		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0010-0001-SetPrioritySettings_command10
+		COMMAND		devsound2		Capabilities
+		COMMAND		devsound2		SetConfigL			MULTIMEDIA-MMF-DevSound-Tones-0010-0001-SetConfigL_command12
+		COMMAND		devsound2		OpenFile			MULTIMEDIA-MMF-DevSound-Tones-0010-0001-OpenFile_command13
+		COMMAND		devsound2		PlayInitL
+		OUTSTANDING
+		COMMAND		devsound2		CloseFile
+		COMMAND		devsound2		~
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Tones-0010-0001-Set_command17
+		COMMAND		repository1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0010
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0011
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0011
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CRepository::Set(TUint32 ,const TDesC8 {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/21/2008 
+//!@SYMTestCaseDesc		Warning tone - Low battery warning
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Create central repositoy instance (RepUID={RepositoryID,UidProfileEngine})
+//!                3. Set repository settings(ItemID={ItemsID,IdActiveWarningTones}; SetValue={DataID,On})
+//!                4. Initialize devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                5. Set priority settings (Priority={Priority,PriorityBatteryLow}; Preference={PriorityPreference,PriorityPreferenceBatteryLow}; PriorityState=EMMFStateTonePlaying)
+//!                6. Play sequence (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                7. Delete central repository
+//!                8.Delete DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Warning tone - Low battery warning
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	60	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		CREATE_OBJECT	CRepository		repository1
+		COMMAND		devsound1		NewL
+		COMMAND		repository1		NewL			MULTIMEDIA-MMF-DevSound-Tones-0011-0001-NewL_command02
+		COMMAND		repository1		Set			MULTIMEDIA-MMF-DevSound-Tones-0011-0001-Set_command03
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0011-0001-InitializeL_command04
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0011-0001-SetPrioritySettings_command05
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Tones-0011-0001-PlayToneSequenceL_command06
+		OUTSTANDING
+		COMMAND		repository1		~
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0011
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0012
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0012
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Tone playback as calendar alarm
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings (Priority={Priority,PriorityCalendarAlarm}; Preference={PriorityPreference,PriorityPreferenceCalendarAlarm}; PriorityState=EMMFStateTonePlaying)
+//!                4. Play tone sequence (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                5. Stop
+//!                6. Delete DevSound instance.
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Tone playback as calendar alarm
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0012-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0012-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Tones-0012-0001-PlayToneSequenceL_command04
+		DELAY  2000000 
+		COMMAND		devsound1		Stop
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0012
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0013
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0013
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::SetDTMFLengths(TTimeIntervalMicroSeconds32 {ref}, TTimeIntervalMicroSeconds32 {ref}, TTimeIntervalMicroSeconds32 {ref})
+//!                CMMFDevSound::PlayDTMFStringL(TDesC {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		DTMT tones playback with different lenghts
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState=EMMFStateTonePlaying)
+//!                4. Set DTMF Lengths (ToneOnLength = 500000; ToneOffLength = 2000000; PauseLength = 0)
+//!                5. Start DTMF Play (DTMFString = 123)
+//!                6. Set DTMF Lengths (ToneOnLength = 1000000; ToneOffLength = 2000000; PauseLength = 0)
+//!                7. Start DTMF Play (DTMFString = 456)
+//!                8. Set DTMF Lengths (ToneOnLength = 2000000; ToneOffLength = 2000000; PauseLength = 0)
+//!                9. Start DTMF Play (DTMFString = 789)
+//!                10.Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                DTMT tones playback with different lenghts
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	200	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0013-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0013-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Tones-0013-0001-SetDTMFLengths_command04
+		COMMAND		devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Tones-0013-0001-PlayDTMFStringL_command05
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Tones-0013-0001-SetDTMFLengths_command06
+		COMMAND		devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Tones-0013-0001-PlayDTMFStringL_command07
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Tones-0013-0001-SetDTMFLengths_command08
+		COMMAND		devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Tones-0013-0001-PlayDTMFStringL_command09
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0013
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0014
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0014
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::PlayToneL(TInt, TTimeIntervalMicroSeconds {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Tone playback with different frequencies
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState=EMMFStateTonePlaying)
+//!                4. Play tone (Duration = 3000000; Frequency = 250)
+//!                5. Play tone (Duration = 3000000; Frequency = 500)
+//!                6. Play tone (Duration = 3000000; Frequency = 1000)
+//!                7. Play tone (Duration = 3000000; Frequency = 2000)
+//!                8. Play tone (Duration = 3000000; Frequency = 3000)
+//!                9. Play tone (Duration = 3000000; Frequency = 4000)
+//!                10.Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Tone playback with different frequencies
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0014-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0014-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		PlayToneL			MULTIMEDIA-MMF-DevSound-Tones-0014-0001-PlayToneL_command04
+		OUTSTANDING
+		COMMAND		devsound1		PlayToneL			MULTIMEDIA-MMF-DevSound-Tones-0014-0001-PlayToneL_command05
+		OUTSTANDING
+		COMMAND		devsound1		PlayToneL			MULTIMEDIA-MMF-DevSound-Tones-0014-0001-PlayToneL_command06
+		OUTSTANDING
+		COMMAND		devsound1		PlayToneL			MULTIMEDIA-MMF-DevSound-Tones-0014-0001-PlayToneL_command07
+		OUTSTANDING
+		COMMAND		devsound1		PlayToneL			MULTIMEDIA-MMF-DevSound-Tones-0014-0001-PlayToneL_command08
+		OUTSTANDING
+		COMMAND		devsound1		PlayToneL			MULTIMEDIA-MMF-DevSound-Tones-0014-0001-PlayToneL_command09
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0014
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0015
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0015
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::SetDTMFLengths(TTimeIntervalMicroSeconds32 {ref}, TTimeIntervalMicroSeconds32 {ref}, TTimeIntervalMicroSeconds32 {ref})
+//!                CMMFDevSound::PlayDTMFStringL(TDesC {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		DTMF tones playback
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState=EMMFStateTonePlaying)
+//!                4. Set DTMF Lengths (ToneOnLength = 300000; ToneOffLength = 100000; PauseLength = 100000)
+//!                5. Start DTMF Play 5s (DTMFString = 1234567890)
+//!                6. Set DTMF Lengths (ToneOnLength = 300000; ToneOffLength = 100000; PauseLength = 100000)
+//!                7. Start DTMF Play (DTMFString = 1234567890)
+//!                8. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                DTMF tones playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0015-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0015-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Tones-0015-0001-SetDTMFLengths_command04
+		COMMAND		devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Tones-0015-0001-PlayDTMFStringL_command05
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Tones-0015-0001-SetDTMFLengths_command06
+		COMMAND		devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Tones-0015-0001-PlayDTMFStringL_command07
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0015
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0016
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0016
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::SetDTMFLengths(TTimeIntervalMicroSeconds32 {ref}, TTimeIntervalMicroSeconds32 {ref}, TTimeIntervalMicroSeconds32 {ref})
+//!                CMMFDevSound::PlayDTMFStringL(TDesC {ref})
+//!                CMMFDevSound::Stop()
+//!                CMMFDevSound::SetVolume(TInt)
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		DTMF playback during 10 seconds
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set volume (Volume=100)
+//!                4. Set priority settings ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState=EMMFStateTonePlaying)
+//!                5. Set DTMF Lengths (ToneOnLength = 90000000; ToneOffLength = 500000; PauseLength = 0)
+//!                6. Start DTMF Play then delay 10s (DTMFString = 1)
+//!                7. Stop 5s.
+//!                8. Set DTMF Lengths (ToneOnLength = 90000000; ToneOffLength = 500000; PauseLength = 0)
+//!                9. Start DTMF Play then delay 10s (DTMFString = 2)
+//!                10.Stop
+//!                11.Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                DTMF playback during 10 seconds
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0016-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Tones-0016-0001-SetVolume_command03
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0016-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Tones-0016-0001-SetDTMFLengths_command05
+		COMMAND		devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Tones-0016-0001-PlayDTMFStringL_command06
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound1		Stop
+		DELAY  5000000 
+		COMMAND		devsound1		SetDTMFLengths			MULTIMEDIA-MMF-DevSound-Tones-0016-0001-SetDTMFLengths_command08
+		COMMAND		devsound1		PlayDTMFStringL			MULTIMEDIA-MMF-DevSound-Tones-0016-0001-PlayDTMFStringL_command09
+		ASYNC_DELAY  3000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0016
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0017
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0017
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::PlayDualToneL(TInt, TInt, TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevSound::SetToneRepeats(TInt, TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevSound::SetVolume(TInt)
+//!                
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Tone playback several times
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set volume (Volume=50)
+//!                4. Set priority settings ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState=EMMFStateTonePlaying)
+//!                5. Set tone repeats (RepeatCount = 5; RepeatTrailingSilence = 2000000)
+//!                6. Play dual tone (FrequencyOne = 440; FrequencyTwo = 2000; Duration = 3000000 )
+//!                7. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Tone playback several times
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0017-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Tones-0017-0001-SetVolume_command03
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0017-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		SetToneRepeats			MULTIMEDIA-MMF-DevSound-Tones-0017-0001-SetToneRepeats_command05
+		COMMAND		devsound1		PlayDualToneL			MULTIMEDIA-MMF-DevSound-Tones-0017-0001-PlayDualToneL_command06
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0017
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0018
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0018
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::PlayDualToneL(TInt, TInt, TTimeIntervalMicroSeconds {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Dula tone playback with different frecuency combinations
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState=EMMFStateTonePlaying)
+//!                4. Play dual tone (Duration = 3000000; FrequencyOne = 50; FrequencyTwo = 4000)
+//!                5. Play dual tone (Duration = 3000000; FrequencyOne = 250; FrequencyTwo = 3000)
+//!                6. Play dual tone (Duration = 3000000; FrequencyOne = 500; FrequencyTwo = 2000)
+//!                7. Play dual tone (Duration = 3000000; FrequencyOne = 1000; FrequencyTwo = 50)
+//!                8. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Dula tone playback with different frecuency combinations
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0018-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0018-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		PlayDualToneL			MULTIMEDIA-MMF-DevSound-Tones-0018-0001-PlayDualToneL_command04
+		OUTSTANDING
+		COMMAND		devsound1		PlayDualToneL			MULTIMEDIA-MMF-DevSound-Tones-0018-0001-PlayDualToneL_command05
+		OUTSTANDING
+		COMMAND		devsound1		PlayDualToneL			MULTIMEDIA-MMF-DevSound-Tones-0018-0001-PlayDualToneL_command06
+		OUTSTANDING
+		COMMAND		devsound1		PlayDualToneL			MULTIMEDIA-MMF-DevSound-Tones-0018-0001-PlayDualToneL_command07
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0018
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0020
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0020
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		NRT playback
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings (Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying)
+//!                4. Play tone sequence (Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt)
+//!                5. Stop
+//!                6. Delete DevSound instance.
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                NRT playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0020-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0020-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Tones-0020-0001-PlayToneSequenceL_command04
+		DELAY  2000000
+		COMMAND		devsound1		Stop
+ 		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0020
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0021
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0021
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::PlayToneSequenceL(TDesC8 {ref})
+//!                CMMFDevSound::Stop()
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		RGN playback
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set priority settings (Priority={Priority,PriorityMax}; Preference={PriorityPreference,PriorityPreferenceIncomingCall}; PriorityState=EMMFStateTonePlaying)
+//!                4. Play tone sequence (Filename = {drive,mmc}\multimedia\mmf\devsound\rng\Ringing_tone.rng)
+//!                5. Stop
+//!                6. Delete DevSound instance.
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                RGN playback
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0021-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0021-0001-SetPrioritySettings_command03
+		COMMAND		devsound1		PlayToneSequenceL			MULTIMEDIA-MMF-DevSound-Tones-0021-0001-PlayToneSequenceL_command04
+		DELAY  2000000
+		COMMAND		devsound1		Stop
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0021
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0022
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0022
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::SetToneRepeats(TInt, TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevSound::PlayToneL(TInt, TTimeIntervalMicroSeconds {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Tone playback during 20 seconds
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set volume (Volume=50)
+//!                4. Set priority settings ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState=EMMFStateTonePlaying)
+//!                5. Set tone repeats (RepeatCount = -2; RepeatTrailingSilence = 500000)
+//!                6. Play tone 20s (Duration = 1000000; Frequency = 440)
+//!                7. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Tone playback during 20 seconds
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0022-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Tones-0022-0001-SetVolume_command03
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0022-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		SetToneRepeats			MULTIMEDIA-MMF-DevSound-Tones-0022-0001-SetToneRepeats_command05
+		COMMAND		devsound1		PlayToneL			MULTIMEDIA-MMF-DevSound-Tones-0022-0001-PlayToneL_command06
+		ASYNC_DELAY  20000000 
+		COMMAND		devsound1		Stop
+		DELAY  2000000 
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0022
+
+
+
+
+START_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0023
+
+//!@SYMTestCaseID		MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0023
+//!@SYMAPI
+//!                CMMFDevSound::InitializeL(MDevSoundObserver {ref}, TFourCC, TMMFState)
+//!                CMMFDevSound::SetPrioritySettings(TMMFPrioritySettings {ref})
+//!                CMMFDevSound::SetToneRepeats(TInt, TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevSound::PlayToneL(TInt, TTimeIntervalMicroSeconds {ref})
+//!@SYMAuthor			jpacho
+//!@SYMCreationDate		7/28/2008 
+//!@SYMTestCaseDesc		Tone playback several times
+//!@SYMTestActions
+//!                1. Create DevSound instance
+//!                2. Initialize Devsound ( Mode = EMMFStateTonePlaying; FourCC= ILBC)
+//!                3. Set volume (Volume=50)
+//!                4. Set priority settings ( Priority = {Priority,PriorityNormal}; Preference = {PriorityPreference,PriorityPreferenceQuality}; PriorityState=EMMFStateTonePlaying)
+//!                5. Set tone repeats (RepeatCount = 5; RepeatTrailingSilence =2000000)
+//!                6. Play tone (Duration = 3000000; Frequency = 440)
+//!                7. Destroy DevSound instance
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Tone playback several times
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	90	t_devsound	\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini
+		CREATE_OBJECT	CMMFDevSound		devsound1
+		COMMAND		devsound1		NewL
+		COMMAND		devsound1		InitializeL			MULTIMEDIA-MMF-DevSound-Tones-0023-0001-InitializeL_command02
+		OUTSTANDING
+		COMMAND		devsound1		SetVolume			MULTIMEDIA-MMF-DevSound-Tones-0023-0001-SetVolume_command03
+		COMMAND		devsound1		SetPrioritySettings			MULTIMEDIA-MMF-DevSound-Tones-0023-0001-SetPrioritySettings_command04
+		COMMAND		devsound1		SetToneRepeats			MULTIMEDIA-MMF-DevSound-Tones-0023-0001-SetToneRepeats_command05
+		COMMAND		devsound1		PlayToneL			MULTIMEDIA-MMF-DevSound-Tones-0023-0001-PlayToneL_command06
+		OUTSTANDING
+		COMMAND		devsound1		~
+	END_TEST_BLOCK
+END_TESTCASE MULTIMEDIA-MMF-DEVSOUND-VALIDATION-AUTOMATED-TONES-0023
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/src/T_CMMFDevSoundData.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,2156 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "t_cmmfdevsounddata.h"
+
+/*@{*/
+//Constants for HwDevice
+const TInt KHwDeviceDefaultDataLength = 9;
+const TInt KFourCCLength = 4;
+//Supported Input Data Types
+const TInt KFourCCMaxBitDisplacement = 24;
+const TInt K8Bits = 8;
+const TInt KTFourCC = 4;
+/*@}*/
+
+/*@{*/
+//Command literals
+_LIT(KCmdNewL,                         "NewL");
+_LIT(KCmdNewLLoopL,                    "NewLLoopL");
+_LIT(KCmdDestructor,                   "~");
+_LIT(KCmdCapabilities,                 "Capabilities");
+_LIT(KCmdConfig,                       "Config");
+_LIT(KCmdMaxGain,                      "MaxGain");
+_LIT(KCmdMaxVolume,                    "MaxVolume");
+_LIT(KCmdGetPlayBalanceL,              "GetPlayBalanceL");
+_LIT(KCmdGetRecordBalanceL,            "GetRecordBalanceL");
+_LIT(KCmdGetSupportedInputDataTypesL,  "GetSupportedInputDataTypesL");
+_LIT(KCmdGetSupportedOutputDataTypesL, "GetSupportedOutputDataTypesL");
+_LIT(KCmdSamplesPlayed,                "SamplesPlayed");
+_LIT(KCmdSamplesRecorded,              "SamplesRecorded");
+_LIT(KCmdVolume,                       "Volume");
+_LIT(KCmdGain,                         "Gain");
+_LIT(KCmdFixedSequenceCount,           "FixedSequenceCount");
+_LIT(KCmdFixedSequenceName,            "FixedSequenceName");
+_LIT(KCmdSetConfigL,                   "SetConfigL");
+_LIT(KCmdSetDTMFLengths,               "SetDTMFLengths");
+_LIT(KCmdSetGain,                      "SetGain");
+_LIT(KCmdSetPlayBalanceL,              "SetPlayBalanceL");
+_LIT(KCmdSetPrioritySettings,          "SetPrioritySettings");
+_LIT(KCmdSetRecordBalanceL,            "SetRecordBalanceL");
+_LIT(KCmdSetToneRepeats,               "SetToneRepeats");
+_LIT(KCmdSetVolume,                    "SetVolume");
+_LIT(KCmdSetVolumeRamp,                "SetVolumeRamp");
+_LIT(KCmdInitializeL,                  "InitializeL");
+_LIT(KCmdPlayDTMFStringL,              "PlayDTMFStringL");
+_LIT(KCmdPlayData,                     "PlayData");
+_LIT(KCmdPlayDualToneL,                "PlayDualToneL");
+_LIT(KCmdPlayInitL,                    "PlayInitL");
+_LIT(KCmdPlayToneL,                    "PlayToneL");
+_LIT(KCmdPlayToneSequenceL,            "PlayToneSequenceL");
+_LIT(KCmdRecordData,                   "RecordData");
+_LIT(KCmdRecordInitL,                  "RecordInitL");
+_LIT(KCmdStop,                         "Stop");
+_LIT(KCmdErrorConceal,                 "ErrorConceal");
+_LIT(KCmdSetVolumeLoop,                "SetVolumeLoop");
+/*@}*/
+
+/*@{*/
+//Utility literals
+_LIT(KCmdUtilityReplaceFile,                  "ReplaceFile");
+_LIT(KCmdUtilityOpenFile,                     "OpenFile");
+_LIT(KCmdUtilityCloseFile,                    "CloseFile");
+_LIT(KCmdUtilityFileStartPosition,            "FileStartPosition");
+/*@}*/
+
+/*@{*/
+//INI Section name literals
+_LIT(KGainValue,                       "Gain");
+_LIT(KVolumeValue,                     "Volume");
+_LIT(KLeftPercentage,                  "LeftPercentage");
+_LIT(KRightPercentage,                 "RightPercentage");
+_LIT(KSequenceNumber,                  "SequenceNumber");
+_LIT(KRate,                            "Rate");
+_LIT(KEncoding,                        "Encoding");
+_LIT(KChannels,                        "Channels");
+_LIT(KBufferSize,                      "BufferSize");
+_LIT(KToneOnLength,                    "ToneOnLength");
+_LIT(KToneOffLength,                   "ToneOffLength");
+_LIT(KPause,                           "Pause");
+_LIT(KPauseLength,                     "PauseLength");
+_LIT(KPriority,                        "Priority");
+_LIT(KPreference,                      "Preference");
+_LIT(KPriorityState,                   "PriorityState");
+_LIT(KRepeatCount,                     "RepeatCount");
+_LIT(KRepeatTrailingSilence,           "RepeatTrailingSilence");
+_LIT(KRampDuration,                    "RampDuration");
+_LIT(KMode,                            "Mode");
+_LIT(KHwDevice,                        "HwDevice");
+_LIT(KFourCC,                          "FourCC");
+_LIT(KFilename,                        "Filename");
+_LIT(KDTMFString,                      "DTMFString");
+_LIT(KFrequency,                       "Frequency");
+_LIT(KFrequencyOne,                    "FrequencyOne");
+_LIT(KFrequencyTwo,                    "FrequencyTwo");
+_LIT(KDuration,                        "Duration");
+_LIT(KLoop,                            "Loop");
+_LIT(KAllowedError,                    "AllowedError");
+_LIT(KVolumeList,                      "VolumeList");
+_LIT(KVolumeLoop,                      "VolumeLoop");
+/*@}*/
+
+/*@{*/
+//Literals for iEnumChannels
+_LIT(KEMMFStereo, "EMMFStereo");
+_LIT(KEMMFMono,   "EMMFMono");
+/*@}*/
+
+const CDataWrapperBase::TEnumEntryTable CT_CMMFDevSoundData::iEnumChannels[] =
+	{
+	{KEMMFMono,   EMMFMono},
+	{KEMMFStereo, EMMFStereo}
+	};
+
+/*@{*/
+//Literals for iEnumSampleRate
+_LIT(KEMMFSampleRate8000Hz,  "EMMFSampleRate8000Hz");
+_LIT(KEMMFSampleRate11025Hz, "EMMFSampleRate11025Hz");
+_LIT(KEMMFSampleRate16000Hz, "EMMFSampleRate16000Hz");
+_LIT(KEMMFSampleRate22050Hz, "EMMFSampleRate22050Hz");
+_LIT(KEMMFSampleRate32000Hz, "EMMFSampleRate32000Hz");
+_LIT(KEMMFSampleRate44100Hz, "EMMFSampleRate44100Hz");
+_LIT(KEMMFSampleRate48000Hz, "EMMFSampleRate48000Hz");
+_LIT(KEMMFSampleRate88200Hz, "EMMFSampleRate88200Hz");
+_LIT(KEMMFSampleRate96000Hz, "EMMFSampleRate96000Hz");
+_LIT(KEMMFSampleRate12000Hz, "EMMFSampleRate12000Hz");
+_LIT(KEMMFSampleRate24000Hz, "EMMFSampleRate24000Hz");
+_LIT(KEMMFSampleRate64000Hz, "EMMFSampleRate64000Hz");
+/*@}*/
+
+const CDataWrapperBase::TEnumEntryTable CT_CMMFDevSoundData::iEnumSampleRate[] =
+	{
+	{KEMMFSampleRate8000Hz,  EMMFSampleRate8000Hz},
+	{KEMMFSampleRate11025Hz, EMMFSampleRate11025Hz},
+	{KEMMFSampleRate16000Hz, EMMFSampleRate16000Hz},
+	{KEMMFSampleRate22050Hz, EMMFSampleRate22050Hz},
+	{KEMMFSampleRate32000Hz, EMMFSampleRate32000Hz},
+	{KEMMFSampleRate44100Hz, EMMFSampleRate44100Hz},
+	{KEMMFSampleRate48000Hz, EMMFSampleRate48000Hz},
+	{KEMMFSampleRate88200Hz, EMMFSampleRate88200Hz},
+	{KEMMFSampleRate96000Hz, EMMFSampleRate96000Hz},
+	{KEMMFSampleRate12000Hz, EMMFSampleRate12000Hz},
+	{KEMMFSampleRate24000Hz, EMMFSampleRate24000Hz},
+	{KEMMFSampleRate64000Hz, EMMFSampleRate64000Hz}
+	};
+
+/*@{*/
+//Literal for iEnumMode
+_LIT(KEMMFStateIdle,             "EMMFStateIdle");
+_LIT(KEMMFStatePlaying,          "EMMFStatePlaying");
+_LIT(KEMMFStateTonePlaying,      "EMMFStateTonePlaying");
+_LIT(KEMMFStateRecording,        "EMMFStateRecording");
+_LIT(KEMMFStatePlayingRecording, "EMMFStatePlayingRecording");
+_LIT(KEMMFStateConverting,       "EMMFStateConverting");
+/*@}*/
+
+const CDataWrapperBase::TEnumEntryTable CT_CMMFDevSoundData::iEnumMode[] =
+	{
+	{KEMMFStateIdle,             EMMFStateIdle},
+	{KEMMFStatePlaying,          EMMFStatePlaying},
+	{KEMMFStateRecording,        EMMFStateRecording},
+	{KEMMFStateTonePlaying,      EMMFStateTonePlaying},
+	{KEMMFStatePlayingRecording, EMMFStatePlayingRecording},
+	{KEMMFStateConverting,       EMMFStateConverting}
+	};
+
+/*@{*/
+//Literals for iEnumInitializeLType
+_LIT(KEInitializeState,          "EInitializeState");
+_LIT(KEInitializeHwDeviceMode,   "EInitializeHwDeviceMode");
+_LIT(KEInitializeFourCCMode,     "EInitializeFourCCMode");
+/*@}*/
+
+enum TMMFInitializeMode
+	{
+	EInitializeState,
+	EInitializeHwDeviceMode,
+	EInitializeFourCCMode
+	};
+
+const CDataWrapperBase::TEnumEntryTable CT_CMMFDevSoundData::iEnumInitializeLType[] =
+	{
+	{KEInitializeState,        EInitializeState},
+	{KEInitializeHwDeviceMode, EInitializeHwDeviceMode},
+	{KEInitializeFourCCMode,   EInitializeFourCCMode}
+	};
+
+/**
+ * Two phase constructor
+ *
+ * @leave   system wide error
+ */
+CT_CMMFDevSoundData* CT_CMMFDevSoundData::NewL()
+	{
+	CT_CMMFDevSoundData* ret = new (ELeave) CT_CMMFDevSoundData();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+/**
+ * Private constructor. First phase construction
+ */
+CT_CMMFDevSoundData::CT_CMMFDevSoundData()
+	:
+	iDevSound(NULL),
+	iPrioritySettings(),
+	iCapabilities(),
+	iVolumeValue(0),
+	iGainValue(0),
+	iLeftPercentage(0),
+	iRightPercentage(0),
+	iFs(),
+	iToneFile(),
+	iAudiofile(),
+	iBuffer(NULL),
+	iLastSample(0),
+	iPaused(EFalse),
+	iErrorConceal(EFalse),
+	iEndFile(EFalse),
+	iToneSequence(),
+	iRecordErrorIndex(0),
+	iPlayErrorIndex(0),
+	iToneErrorIndex(0),
+    iInitializeErrorIndex(0)
+	{
+	}
+
+/**
+ * Second phase construction
+ * @internalComponent
+ * @return  N/A
+ * @pre     None
+ * @post    None
+ * @leave   system wide error
+ */
+void CT_CMMFDevSoundData::ConstructL()
+	{
+	iFs.Connect();
+	}
+
+/**
+ * Public destructor
+ */
+CT_CMMFDevSoundData::~CT_CMMFDevSoundData()
+	{
+	iFs.Close();
+	DestroyData();
+	}
+
+/**
+ * Helper Destructor
+ */
+void CT_CMMFDevSoundData::DestroyData()
+	{
+	if(iDevSound)
+		{
+		delete iDevSound;
+		iDevSound = NULL;
+		}
+	}
+
+/**
+ * Return a pointer to the object that the data wraps
+ *
+ * @return  pointer to the object that the data wraps
+ */
+TAny* CT_CMMFDevSoundData::GetObject()
+	{
+	return iDevSound;
+	}
+
+/**
+ * Process a command read from the Ini file
+ * @param aCommand          - The command to process
+ * @param aSection          - The section get from the *.ini file of the project T_Wlan
+ * @param aAsyncErrorIndex  - Command index dor async calls to returns errors to
+ * @return TBool            - ETrue if the command is process
+ * @leave                   - system wide error
+ */
+TBool CT_CMMFDevSoundData::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+	{
+	TBool ret = ETrue;
+
+	if (aCommand == KCmdNewL)
+		{
+		DoCmdNewL();
+		}
+	else if(aCommand == KCmdNewLLoopL)
+		{
+		DoCmdNewLLoopL(aSection);
+		}
+	else if (aCommand == KCmdDestructor)
+		{
+		DoCmdDestructor();
+		}
+	else if (aCommand == KCmdUtilityReplaceFile)
+		{
+		DoCmdUtilityReplaceFile(aSection);
+		}
+	else if (aCommand == KCmdUtilityOpenFile)
+		{
+		DoCmdUtilityOpenFile(aSection);
+		}
+	else if (aCommand == KCmdUtilityCloseFile)
+		{
+		DoCmdUtilityCloseFile();
+		}
+	else if (aCommand == KCmdUtilityFileStartPosition)
+		{
+		DoCmdUtilityFileStartPosition();
+		}
+	else if (aCommand == KCmdCapabilities)
+		{
+		DoCmdCapabilities();
+		}
+	else if (aCommand == KCmdConfig)
+		{
+		DoCmdConfig();
+		}
+	else if (aCommand == KCmdMaxGain)
+		{
+		DoCmdMaxGain(aSection);
+		}
+	else if (aCommand == KCmdMaxVolume)
+		{
+		DoCmdMaxVolume(aSection);
+		}
+	else if (aCommand == KCmdGetPlayBalanceL)
+		{
+		DoCmdGetPlayBalanceL(aSection);
+		}
+	else if (aCommand == KCmdGetRecordBalanceL)
+		{
+		DoCmdGetRecordBalanceL(aSection);
+		}
+	else if (aCommand == KCmdGetSupportedInputDataTypesL)
+		{
+		DoCmdGetSupportedInputDataTypesL();
+		}
+	else if (aCommand == KCmdGetSupportedOutputDataTypesL)
+		{
+		DoCmdGetSupportedOutputDataTypesL();
+		}
+	else if (aCommand == KCmdSamplesPlayed)
+		{
+		DoCmdSamplesPlayed();
+		}
+	else if (aCommand == KCmdSamplesRecorded)
+		{
+		DoCmdSamplesRecorded();
+		}
+	else if (aCommand == KCmdVolume)
+		{
+		DoCmdVolume(aSection);
+		}
+	else if (aCommand == KCmdGain)
+		{
+		DoCmdGain(aSection);
+		}
+	else if (aCommand == KCmdFixedSequenceCount)
+		{
+		DoCmdFixedSequenceCount();
+		}
+	else if (aCommand == KCmdFixedSequenceName)
+		{
+		DoCmdFixedSequenceName(aSection);
+		}
+	else if (aCommand == KCmdSetConfigL)
+		{
+		DoCmdSetConfigL(aSection);
+		}
+	else if (aCommand == KCmdSetDTMFLengths)
+		{
+		DoCmdSetDTMFLengths(aSection);
+		}
+	else if (aCommand == KCmdSetGain)
+		{
+		DoCmdSetGain(aSection);
+		}
+	else if (aCommand == KCmdSetPlayBalanceL)
+		{
+		DoCmdSetPlayBalanceL(aSection);
+		}
+	else if (aCommand == KCmdSetPrioritySettings)
+		{
+		DoCmdSetPrioritySettings(aSection);
+		}
+	else if (aCommand == KCmdSetRecordBalanceL)
+		{
+		DoCmdSetRecordBalanceL(aSection);
+		}
+	else if (aCommand == KCmdSetToneRepeats)
+		{
+		DoCmdSetToneRepeats(aSection);
+		}
+	else if (aCommand == KCmdSetVolume)
+		{
+		DoCmdSetVolume(aSection);
+		}
+	else if (aCommand == KCmdSetVolumeLoop)
+		{
+		DoCmdSetVolumeLoop(aSection);
+		}
+	else if (aCommand == KCmdSetVolumeRamp)
+		{
+		DoCmdSetVolumeRamp(aSection);
+		}
+	else if (aCommand == KCmdInitializeL)
+		{
+		DoCmdInitializeL(aSection,aAsyncErrorIndex);
+		}
+	else if (aCommand == KCmdPlayDTMFStringL)
+		{
+		DoCmdPlayDTMFStringL(aSection, aAsyncErrorIndex);
+		}
+	else if (aCommand == KCmdPlayData)
+		{
+		DoCmdPlayData();
+		}
+	else if (aCommand == KCmdPlayDualToneL)
+		{
+		DoCmdPlayDualToneL(aSection, aAsyncErrorIndex);
+		}
+	else if (aCommand == KCmdPlayInitL)
+		{
+		DoCmdPlayInitL(aAsyncErrorIndex);
+		}
+	else if (aCommand == KCmdPlayToneL)
+		{
+		DoCmdPlayToneL(aSection, aAsyncErrorIndex);
+		}
+	else if (aCommand == KCmdPlayToneSequenceL)
+		{
+		DoCmdPlayToneSequenceL(aSection,aAsyncErrorIndex);
+		}
+	else if (aCommand == KCmdRecordData)
+		{
+		DoCmdRecordData();
+		}
+	else if (aCommand == KCmdRecordInitL)
+		{
+		DoCmdRecordInitL(aAsyncErrorIndex);
+		}
+	else if (aCommand == KCmdStop)
+		{
+		DoCmdStop(aSection);
+		}
+	else if(aCommand == KCmdErrorConceal)
+		{
+		DoCmdUtilityErrorConceal();
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Unknown command."));
+		ret=EFalse;
+		}
+	return ret;
+	}
+
+/**
+ * Handles initialization completion event.
+ * CMMFDevSound object calls this function when its InitializeL() function
+ * completes.
+ * @param  aError - Error code. KErrNone if successful. Other values are possible
+ *                  indicating a problem initializing CMMFDevSound object.
+ * @return void
+ */
+
+void CT_CMMFDevSoundData::InitializeComplete(TInt aError)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::InitializeComplete"));
+	if(KErrNone != aError)
+		{
+		ERR_PRINTF2(_L("InitializeComplete callback failed with error %d"), aError);
+		SetAsyncError(iInitializeErrorIndex, aError);
+        iInitializeErrorIndex = 0;
+		}
+
+    DecOutstanding();
+
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::InitializeComplete"));
+	}
+
+/**
+ * It's needed for playing o converting
+ * @param aBuffer - Buffer into which data should be read. The amount of data that is
+ *                  needed is specified in CMMFBuffer::RequestSize().
+ */
+void CT_CMMFDevSoundData::BufferToBeFilled(CMMFBuffer* aBuffer)
+	{
+	if (!aBuffer)
+		{
+		ERR_PRINTF1(_L("BufferToBeFilled callback received a NULL CMMFBuffer!"));
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		TBool dataOk = ETrue;
+		iBuffer = aBuffer;
+		iBuffer->SetLastBuffer(EFalse);
+		CMMFDataBuffer* buffer = static_cast <CMMFDataBuffer*> (iBuffer);
+		if (iPaused)
+			{
+			iPaused=EFalse;
+			TInt error = iAudiofile.Read(iLastSample,buffer->Data());
+			if (error != KErrNone)
+				{
+				ERR_PRINTF2(_L("ERROR : iFile.Read() failed with %d"), error);
+				SetBlockResult(EFail);
+				dataOk = EFalse;
+				}
+			}
+		else
+			{
+			TInt error = iAudiofile.Read(buffer->Data());
+			if (error != KErrNone)
+				{
+				ERR_PRINTF2(_L("ERROR : iFile.Read() failed with %d"), error);
+				SetBlockResult(EFail);
+				dataOk =EFalse;
+				}
+			}
+		if(dataOk)
+			{
+			if (buffer->Data().Length() != buffer->RequestSize())
+				{
+				iBuffer->SetLastBuffer(ETrue);
+				}
+			if (iErrorConceal)
+				{
+				iErrorConceal=EFalse;
+				buffer->Data().Zero();
+				INFO_PRINTF1(_L("buffer->Data().Zero()"));
+				}
+			PlayData();
+			TInt pos=0;
+			iLastSample=iAudiofile.Seek(ESeekCurrent ,pos);
+			INFO_PRINTF2(_L("Number of samples played so far: %d"), pos);
+			iLastSample=pos;
+			}
+		}
+	}
+
+/**
+* Handles play completion or cancel event.
+*
+* CMMFDevSound object calls this function when an attempt to play audio sample
+* has completed, successfully or otherwise.
+*
+*   @param  aError - Error code. The status of playback. KErrUnderflow playing of the
+*                    audio sample is complete. KErrAccessDenied the sound device is in
+*                    use by another higher priority client.
+*/
+void CT_CMMFDevSoundData::PlayError(TInt aError)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::PlayError"));
+
+    DecOutstanding();
+
+	if(aError != KErrNone && aError != KErrUnderflow)
+	{
+   	ERR_PRINTF2(_L("Playback completed with error %d"), aError);
+		SetAsyncError(iPlayErrorIndex, aError);	
+		iPlayErrorIndex = 0; 
+	}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::PlayError"));
+	}
+
+
+/**
+ *  Handles tone play completion event.
+ *
+ *
+ *  CMMFDevSound object calls this function when an attempt to play tone has
+ *  completed, successfully or otherwise.
+ *
+ *  The following are the play tone functions; PlayToneL(), PlayDMTFStringL(),
+ *  PlayToneSequenceL(), and PlayFixedSequenceL().
+ *
+ *  @param  aError -  Error code. The status of tone playback. KErrUnderflow playing of
+ *                    the tone is complete. KErrAccessDenied the sound device is in use by
+ *                    another higher priority client. KErrCancel playing of the audio
+ *                    sample is stopped by DevSound client another higher priority client.
+ *
+ */
+
+void CT_CMMFDevSoundData::ToneFinished(TInt aError)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::ToneFinished"));
+
+    DecOutstanding();
+
+	if(aError != KErrNone)
+	{
+   	ERR_PRINTF2(_L("Tone finished with error %d"), aError);
+		SetAsyncError(iToneErrorIndex, aError);
+	  iToneErrorIndex = 0;	
+	}
+	iToneFile.Close();
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::ToneFinished"));
+	}
+
+/**
+ * Handles CMMFDevSound object's data request event.
+ *
+ * CMMFDevSound object calls this function when the buffer, aBuffer gets filled
+ * while recording or converting. The observer should notify CMMFDevSound
+ * object as quickly as possible after data in the buffer is processed by
+ * calling RecordData(), otherwise the implementation might callback
+ * the function RecordError() on derived class object with error code KErrOverflow.
+ *
+ * @param  aBuffer - Buffer containing processed (recorded or converted) data. The amount
+ *                   of data that is available is specified in CMMFBuffer::RequestSize().
+ */
+
+void CT_CMMFDevSoundData::BufferToBeEmptied(CMMFBuffer* aBuffer)
+	{
+	if (!aBuffer)
+		{
+		INFO_PRINTF1(_L("BufferToBeEmptied callback received a NULL CMMFBuffer"));
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		iBuffer = aBuffer;
+		CMMFDataBuffer* buffer = static_cast <CMMFDataBuffer*> (iBuffer);
+		TInt error = iAudiofile.Write(buffer->Data());
+		if(error == KErrNone)
+			{
+			if (!aBuffer->LastBuffer())
+				{
+				RecordData();
+				}
+			else{
+				Stop();
+				}
+			}
+		else
+			{
+			ERR_PRINTF2(_L("iFile.Write() returned the error %d"), error);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+/**
+ * Stops the ongoing operation (Play, Record, TonePlay, Convert).
+ * This function should be synchronous and invoke no callbacks through MDevSoundObserver.
+ */
+void CT_CMMFDevSoundData::Stop()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::Stop()"));
+	iDevSound->Stop();
+
+	DecOutstanding();
+
+    INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::Stop()"));
+	}
+
+/**
+ * Handles record completion or cancel event.
+ *
+ * CMMFDevSound object calls this function when an attempt to record audio sample
+ * has completed, successfully or otherwise.
+ *
+ * @param  aError - Error code. The status of recording. KErrOverflow audio devices
+ *                  runs out of internal buffer. KErrAccessDenied the sound device is
+ *                  in use by another higher priority client.
+ *
+ */
+
+void CT_CMMFDevSoundData::RecordError(TInt aError)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::RecordError"));
+	if(aError != KErrNone)
+	{
+   ERR_PRINTF2(_L("Record failed with error %d"), aError); 
+   SetAsyncError(iRecordErrorIndex , aError);	
+	 iRecordErrorIndex = 0;	
+	}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::RecordError"));
+	}
+
+
+/**
+ * Handles conversion completion or cancel event.
+ *
+ * CMMFDevSound object calls this function when an attempt to convert data from
+ * source format to destination format has completed, successfully or otherwise.
+ *
+ * @param  aError - Error code. KErrCancel conversion operation is cancelled. KErrNone
+ *                  conversion is complete. Other values are possible indicating a
+ *                  problem converting data.
+ */
+
+void CT_CMMFDevSoundData::ConvertError(TInt aError)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::ConvertError"));
+	ERR_PRINTF1(_L("Invalid Callback call"));
+	if (aError == KErrNone)
+		{
+		INFO_PRINTF1(_L("Data conversion completed successfully."));
+		}
+	if (aError == KErrCancel)
+		{
+		INFO_PRINTF1(_L("Data conversion operation was cancelled."));
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::ConvertError"));
+	}
+
+/**
+ * Handles device event.
+ *
+ * CMMFDevSound object calls this function when a message is received from the
+ * audio hardware device.
+ *
+ * @param   aMessageType - Defines the type of message. Used to determine how to
+ *                         interpret the contents of aMsg.
+ * @param   aMsg         - Message that is packed in the Descriptor format.
+ */
+
+
+void CT_CMMFDevSoundData::DeviceMessage(TUid aMessageType, const TDesC8& aMsg)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DeviceMessage"));
+	INFO_PRINTF2(_L("Message type: %d"), aMessageType.iUid);
+	INFO_PRINTF2(_L("Message type: %S"), &aMsg);
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DeviceMessage"));
+	}
+
+
+/**
+ * Create a new or Replace the existing file
+ *
+ */
+void CT_CMMFDevSoundData::DoCmdUtilityReplaceFile(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START* CT_CMMFDevSoundData::DoCmdUtilityReplaceFile()"));
+	TPtrC fileName;
+	TBool dataOk = ETrue;
+	if (!GetStringFromConfig(aSection, KFilename, fileName))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFilename);
+		SetBlockResult(EFail);
+		dataOk =EFalse;
+		}
+	if(dataOk)
+		{
+		TInt error = iAudiofile.Replace(iFs, fileName, EFileRead);
+		if (error != KErrNone)
+			{
+			ERR_PRINTF2(_L("Could not open input file. Error = %d"), error);
+			SetError(error);
+			}
+		}
+
+	INFO_PRINTF1(_L("*END* CT_CMMFDevSoundData::DoCmdUtilityReplaceFile()"));
+	}
+
+/**
+ * Open a file
+ */
+void CT_CMMFDevSoundData::DoCmdUtilityOpenFile(const TTEFSectionName& aSection)
+	{
+
+	INFO_PRINTF1(_L("*START* CT_CMMFDevSoundData::DoCmdUtilityOpenFile()"));
+	TPtrC fileName;
+	TBool dataOk = ETrue;
+	if (!GetStringFromConfig(aSection, KFilename, fileName))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFilename);
+		SetBlockResult(EFail);
+		dataOk =EFalse;
+		}
+	if(dataOk)
+		{
+		TInt error = iAudiofile.Open(iFs, fileName, EFileRead);
+		if (error != KErrNone)
+			{
+			ERR_PRINTF2(_L("Could not open input file. Error = %d"), error);
+			iFs.Close();
+			SetError(error);
+			}
+		}
+	INFO_PRINTF1(_L("*END* CT_CMMFDevSoundData::DoCmdUtilityOpenFile()"));
+	}
+
+/**
+ * Close the opened file
+ */
+void CT_CMMFDevSoundData::DoCmdUtilityCloseFile()
+	{
+	INFO_PRINTF1(_L("*START* CT_CMMFDevSoundData::DoCmdUtilityCloseFile()"));
+	iAudiofile.Close();
+	INFO_PRINTF1(_L("*END* CT_CMMFDevSoundData::DoCmdUtilityCloseFile()"));
+	}
+
+/**
+ * Place the the pointer file at the begining
+ *
+ */
+void CT_CMMFDevSoundData::DoCmdUtilityFileStartPosition()
+	{
+	INFO_PRINTF1(_L("*START* CT_CMMFDevSoundData::DoCmdUtilityFileStartPosition()"));
+	TInt filePosition = 0;
+	TBool dataOk = ETrue;
+	TInt error = iAudiofile.Seek(ESeekStart, filePosition);
+	if (error != KErrNone)
+		{
+		ERR_PRINTF2(_L("Could not set file to the start position. Error = %d"), error);
+		SetError(error);
+		dataOk =EFalse;
+		}
+	if(dataOk)
+		{
+		INFO_PRINTF2(_L("File Position: %d"), filePosition);
+		}
+	INFO_PRINTF1(_L("*END* CT_CMMFDevSoundData::DoCmdUtilityFileStartPosition()"));
+	}
+
+
+/**
+ * Creates "n" instance of CMMFDevSound
+ * @param aSection - Section to read from the ini file
+ * @return void
+ */
+void CT_CMMFDevSoundData::DoCmdNewLLoopL(const TTEFSectionName&aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdNewLLoopL"));
+	CMMFDevSound* devSound = NULL;
+	TBool dataOk = ETrue;
+	TInt loop= 0;
+	if (!GetIntFromConfig(aSection, KLoop, loop))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KLoop);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TInt allowedError=0;
+	if ( !GetIntFromConfig(aSection, KAllowedError, allowedError) )
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KAllowedError);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		for(TInt i=0; i<loop; i++)
+			{
+			TRAPD(error,devSound = CMMFDevSound::NewL());
+			if(error == KErrNone)
+				{
+				INFO_PRINTF2(_L("Instance %d of DevSound was created"),i);
+				CleanupStack::PushL(devSound);
+				iObjectsDevSound.AppendL(devSound);
+				CleanupStack::Pop(devSound);
+				}
+			else if(error == allowedError)
+				{
+				INFO_PRINTF2(_L(" Allowing Error: %d"), error);
+				ERR_PRINTF2(_L(" Could not create CMMFDevSound due to error: %d"), error);
+				i = loop;
+				}
+			else if((error != KErrNone) && (error!=allowedError))
+				{
+				ERR_PRINTF2(_L("> Could not create CMMFDevSound: %d"), error);
+				SetError(error);
+				}
+			}
+		iObjectsDevSound.ResetAndDestroy();
+		INFO_PRINTF2(_L("%d DevSound instances were deleted"),loop);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdNewLLoopL"));
+	}
+
+
+/**
+ * Create an instance of CMMFDevSound
+ */
+void CT_CMMFDevSoundData::DoCmdNewL()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdNewL"));
+	DestroyData();
+	TRAPD(error,iDevSound = CMMFDevSound::NewL());
+	if(error!= KErrNone)
+		{
+		ERR_PRINTF2(_L("> Could not create CMMFDevSound: %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		iPaused= EFalse;
+		iErrorConceal = EFalse;
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdNewL"));
+	}
+/**
+ * Destroy an instance of CMMFDevSound
+ */
+
+void CT_CMMFDevSoundData::DoCmdDestructor()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdDestroyData"));
+	DestroyData();
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdDestroyData"));
+	}
+
+/**
+ * Show the supported Audio settings ie. encoding, sample rates, mono/stereo operation, buffer
+ * size, etc.
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdCapabilities()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdCapabilities"));
+	iCapabilities = iDevSound->Capabilities();
+	INFO_PRINTF5(_L("Supported Audio settings: buffsize=%d, channels=0x%x, encoding=0x%x and rate=0x%x"),
+							iCapabilities.iBufferSize,
+							iCapabilities.iChannels,
+							iCapabilities.iEncoding,
+							iCapabilities.iRate);
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdCapabilities"));
+	}
+
+
+/**
+ * Shows the current device configuration.
+ * @params none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdConfig()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdConfig"));
+	TMMFCapabilities currentConfiguration = iDevSound->Config();
+	INFO_PRINTF5(_L("Current device configuration: buffsize=%d, channels=0x%x, encoding=0x%x and rate=0x%x"),
+			currentConfiguration.iBufferSize,
+			currentConfiguration.iChannels,
+			currentConfiguration.iEncoding,
+			currentConfiguration.iRate);
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdConfig"));
+	}
+
+
+/**
+ * Shows an integer representing the maximum gain the device supports.
+ * This is the maximum value which can be passed to CMMFDevSound::SetGain.
+ * @param aSection - The section to read the params from the ini file
+ * @return none
+ */
+
+void CT_CMMFDevSoundData::DoCmdMaxGain(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdMaxGain"));
+	TBool dataOk = ETrue;
+	TInt expectedGainValue=0;
+	if (!GetIntFromConfig(aSection, KGainValue, expectedGainValue))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KGainValue);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		iGainValue = iDevSound->MaxGain();
+		INFO_PRINTF2(_L("Retrieved maximum gain value: %d"), iGainValue);
+		if (expectedGainValue != iGainValue)
+			{
+			ERR_PRINTF3(_L("Expected gain value %d is different from retrieved gain value %d"), expectedGainValue, iGainValue);
+			SetBlockResult(EFail);
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdMaxGain"));
+	}
+
+/**
+ * Shows an integer representing the maximum volume device supports.
+ * This is the maximum value which can be passed to CMMFDevSound::SetVolume.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+
+void CT_CMMFDevSoundData::DoCmdMaxVolume(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdMaxVolume"));
+	TBool dataOk = ETrue;
+	TInt expectedVolumeValue=0;
+	if(!GetIntFromConfig(aSection, KVolumeValue, expectedVolumeValue))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KVolumeValue);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		iVolumeValue = iDevSound->MaxVolume();
+		INFO_PRINTF2(_L("Retrieved maximum volume value: %d"), iVolumeValue);
+		if(expectedVolumeValue != iVolumeValue)
+			{
+			ERR_PRINTF3(_L("Expected volume value %d is different from retrieved volume value %d"), expectedVolumeValue, iVolumeValue);
+			SetBlockResult(EFail);
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdMaxVolume"));
+	}
+
+/**
+ * Shows the speaker balance set for playing.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+
+void CT_CMMFDevSoundData::DoCmdGetPlayBalanceL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdGetPlayBalanceL"));
+	TBool dataOk = ETrue;
+	TInt expectedLeftPercentage=0;
+	if (!GetIntFromConfig(aSection, KLeftPercentage, expectedLeftPercentage))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KLeftPercentage);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TInt expectedRightPercentage=0;
+	if (!GetIntFromConfig(aSection, KRightPercentage, expectedRightPercentage))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRightPercentage);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		TRAPD(error, iDevSound->GetPlayBalanceL(iLeftPercentage, iRightPercentage));
+		if (error != KErrNone)
+			{
+			ERR_PRINTF2(_L("GetPlayBalanceL left with error %d"), error);
+			SetError(error);
+			}
+		else
+			{
+			INFO_PRINTF3(_L("> Retrieved play balance values are left: %d, right:%d"), iLeftPercentage, iRightPercentage);
+			if (expectedLeftPercentage !=iLeftPercentage)
+				{
+				ERR_PRINTF3(_L("Expected left percentage value %d is different from retrieved value %d"), expectedLeftPercentage, iLeftPercentage);
+				SetBlockResult(EFail);
+				}
+			if (expectedRightPercentage !=iRightPercentage)
+				{
+				ERR_PRINTF3(_L("Expected right percentage value %d is different from retrieved value %d"), expectedRightPercentage, iRightPercentage);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdGetPlayBalanceL"));
+	}
+
+
+/**
+ * Shows the microphone gain balance set for recording.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdGetRecordBalanceL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdGetRecordBalanceL"));
+	TBool dataOk = ETrue;
+	TInt expectedLeftPercentage=0;
+	if(!GetIntFromConfig(aSection, KLeftPercentage, expectedLeftPercentage))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KLeftPercentage);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TInt expectedRightPercentage=0;
+	if(!GetIntFromConfig(aSection, KRightPercentage, expectedRightPercentage))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRightPercentage);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		TRAPD(error, iDevSound->GetRecordBalanceL(iLeftPercentage, iRightPercentage));
+		if (error != KErrNone)
+			{
+			ERR_PRINTF2(_L("GetRecordBalanceL left with error %d"), error);
+			SetError(error);
+			}
+		else
+			{
+			INFO_PRINTF3(_L("> Retrieved record balance values are left: %d, right:%d"), iLeftPercentage, iRightPercentage);
+			if(expectedLeftPercentage !=iLeftPercentage)
+				{
+				ERR_PRINTF3(_L("Expected left percentage value %d is different from retrieved value %d"), expectedLeftPercentage, iLeftPercentage);
+				SetBlockResult(EFail);
+				}
+			if(expectedRightPercentage !=iRightPercentage)
+				{
+				ERR_PRINTF3(_L("Expected right ercentage value %d is different from retrieved value %d"), expectedRightPercentage, iRightPercentage);
+				SetBlockResult(EFail);
+				}
+			}
+
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdGetRecordBalanceL"));
+	}
+
+/**
+ * Shows a list of the supported input datatypes that can be sent to DevSound for playing audio.
+ * The datatypes returned are those that the DevSound supports given the priority settings passed
+ * in aPrioritySettings.
+ * @params none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdGetSupportedInputDataTypesL()
+	{
+	TUid outputUid= {0x0};
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdGetSupportedInputDataTypesL"));
+	RArray< TFourCC > supportedDataTypes;
+	TRAPD(error, iDevSound->GetSupportedInputDataTypesL(supportedDataTypes, iPrioritySettings));
+	if (error != KErrNone)
+		{
+		ERR_PRINTF2(_L("GetSupportedInputDataTypesL left with error %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("List of the supported input datatypes that can be sent to DevSound for playing audio."));
+		for (TInt i=0; i<supportedDataTypes.Count(); i++)
+			{
+			TFourCC fourCC = supportedDataTypes[i];
+			TBuf<4> name;
+			for(TInt j=0; j<= KFourCCMaxBitDisplacement; j+=K8Bits)
+				{
+				name.Append((TUint8)(fourCC.FourCC() >> j));
+				}
+			INFO_PRINTF3(_L("Supported Input Data types: 0x%x  %S "), fourCC.FourCC(), &name);
+			UtilityFourCCToHwDeviceUidL(name,EDecoder, outputUid);
+			if(outputUid.iUid != 0)
+				{
+				INFO_PRINTF3(_L("\nHwDevice Uid=0x%08x for %S"),outputUid.iUid,&name);
+				}
+			else
+				{
+				INFO_PRINTF1(_L("Not Found"));
+				}
+			}
+		supportedDataTypes.Reset();
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdGetSupportedInputDataTypesL"));
+	}
+
+/**
+ * Shows a list of the supported output dataypes that can be received from DevSound for
+ * recording audio.  The datatypes returned are those that the DevSound supports given the priority
+ * settings passed in aPrioritySettings.
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdGetSupportedOutputDataTypesL()
+	{
+	TUid outputUid= {0x0};
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdGetSupportedOutputDataTypesL"));
+	RArray< TFourCC > supportedDataTypes;
+	TRAPD(error, iDevSound->GetSupportedOutputDataTypesL(supportedDataTypes, iPrioritySettings));
+	if (error != KErrNone)
+		{
+		ERR_PRINTF2(_L("GetSupportedOutputDataTypesL left with error %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("List of the supported output dataypes that can be received from DevSound for recording audio."));
+		for (TInt i=0; i<supportedDataTypes.Count(); i++)
+			{
+			TFourCC fourCC = supportedDataTypes[i];
+			TBuf<4> name;
+			for(TInt j=0; j<=KFourCCMaxBitDisplacement; j+=K8Bits)
+				{
+				name.Append((TUint8)(fourCC.FourCC() >> j));
+				}
+			INFO_PRINTF3(_L("Supported Output Data types: 0x%x  %S "), fourCC.FourCC(), &name);
+			UtilityFourCCToHwDeviceUidL(name, EEncoder, outputUid);
+			if(outputUid.iUid != 0)
+				{
+				INFO_PRINTF3(_L("\nHwDevice Uid=0x%08x for %S"),outputUid.iUid,&name);
+				}
+			else
+				{
+				INFO_PRINTF1(_L("Not Found"));
+				}
+			}
+		supportedDataTypes.Reset();
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdGetSupportedOutputDataTypesL"));
+	}
+
+/**
+ * Shows the number of samples played
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSamplesPlayed()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSamplesPlayed"));
+	INFO_PRINTF2(_L("Number of samples played so far: %d"),iDevSound->SamplesPlayed());
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSamplesPlayed"));
+	}
+
+/**
+ * Shows the number of samples recorded
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSamplesRecorded()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSamplesRecorded"));
+	INFO_PRINTF2(_L("Number of samples recorded so far: %d"), iDevSound->SamplesRecorded());
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSamplesRecorded"));
+	}
+
+/**
+ * Shows an integer representing the current volume.
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdVolume(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdVolume"));
+	TBool dataOk = ETrue;
+	TInt expectedVolumeValue=0;
+	if(!GetIntFromConfig(aSection, KVolumeValue, expectedVolumeValue))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KVolumeValue);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		iVolumeValue = iDevSound->Volume();
+		INFO_PRINTF2(_L("Retrieved volume value: %d"), iVolumeValue);
+		if(expectedVolumeValue != iVolumeValue)
+			{
+			ERR_PRINTF3(_L("Expected volume value %d is different from retrieved volume value %d"), expectedVolumeValue, iVolumeValue);
+			SetBlockResult(EFail);
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdVolume"));
+	}
+
+/**
+ * Shows an integer representing the current gain.
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdGain(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdGain"));
+	TBool dataOk = ETrue;
+	TInt expectedGainValue=0;
+	if(!GetIntFromConfig(aSection, KGainValue, expectedGainValue))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KGainValue);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		iGainValue = iDevSound->Gain();
+		INFO_PRINTF2(_L("Retrieved gain value: %d"), iGainValue);
+		if(expectedGainValue != iGainValue)
+			{
+			ERR_PRINTF3(_L("Expected gain value %d is different from retrieved gain value %d"), expectedGainValue, iGainValue);
+			SetBlockResult(EFail);
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdGain"));
+	}
+
+/**
+ * Shows the number of available pre-defined tone sequences
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdFixedSequenceCount()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdFixedSequenceCount"));
+	INFO_PRINTF2(_L("Number of available pre-defined tone sequences: %d"), iDevSound->FixedSequenceCount());
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdFixedSequenceCount"));
+	}
+
+/**
+ * Shows the name assigned to a specific pre-defined tone sequence.
+ * This is the number of the fixed sequence supported by DevSound by default.
+ * @param aSection -  Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdFixedSequenceName(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdFixedSequenceName"));
+	TBool dataOk =ETrue;
+	TInt sequenceNumber=0;
+	if(!GetIntFromConfig(aSection, KSequenceNumber, sequenceNumber))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KSequenceNumber);
+		SetBlockResult(EFail);
+		dataOk =EFalse;
+		}
+	if(dataOk)
+		{
+		INFO_PRINTF2(_L("Name assigned to a specific pre-defined tone sequence returned: %S"),
+					&iDevSound->FixedSequenceName(sequenceNumber));
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdFixedSequenceName"));
+	}
+
+
+/**
+ * Configure CMMFDevSound object with the settings in aConfig.
+ * Use this to set sampling rate, encoding and mono/stereo.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetConfigL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetConfigL"));
+
+	TInt rate=0;
+	INFO_PRINTF1(_L("To use default values run Capabilities before SetConfigL"));
+	if (!GetEnumFromConfig(aSection, KRate, iEnumSampleRate, rate))
+		{
+		INFO_PRINTF2(_L("Rate value was not overwritten, using default value %d."), iCapabilities.iRate);
+		}
+	else
+		{
+		iCapabilities.iRate = rate;
+		}
+
+	TInt encoding=0;
+	if (!GetIntFromConfig(aSection, KEncoding, encoding))
+		{
+		INFO_PRINTF2(_L("Encoding value was not overwritten, using default value %d."), iCapabilities.iEncoding);
+		}
+	else
+		{
+		iCapabilities.iEncoding = encoding;
+		}
+
+	TInt channels=0;
+	if (!GetEnumFromConfig(aSection, KChannels, iEnumChannels, channels))
+		{
+		INFO_PRINTF2(_L("Channels value was not overwritten, using default value %d ."), iCapabilities.iChannels);
+		}
+	else
+		{
+		iCapabilities.iChannels = channels;
+		}
+
+	TInt bufferSize=0;
+	if (!GetIntFromConfig(aSection, KBufferSize, bufferSize))
+		{
+		INFO_PRINTF2(_L("BufferSize value was not overwritten, using default value %d"), iCapabilities.iBufferSize);
+		}
+	else
+		{
+		iCapabilities.iBufferSize = bufferSize;
+		}
+	TRAPD(error,iDevSound->SetConfigL(iCapabilities))
+	if(error != KErrNone)
+		{
+		ERR_PRINTF2(_L("SetConfigL left with error %d"), error);
+		SetError(error);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetConfigL"));
+	}
+
+
+/**
+ * Defines the duration of tone on, tone off and tone pause to be used during the
+ * DTMF tone playback operation.
+ * Supported only during tone playing.
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetDTMFLengths(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetDTMFLengths"));
+	TInt time=0;
+	TBool dataOk = ETrue;
+	if (!GetIntFromConfig(aSection, KToneOnLength, time))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KToneOnLength);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TTimeIntervalMicroSeconds32 toneOnLength(time);
+
+	if (!GetIntFromConfig(aSection, KToneOffLength, time))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KToneOffLength);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TTimeIntervalMicroSeconds32 toneOffLength(time);
+
+	if (!GetIntFromConfig(aSection, KPauseLength, time))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KPauseLength);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TTimeIntervalMicroSeconds32 pauseLength(time);
+	if(dataOk)
+		{
+		iDevSound->SetDTMFLengths(toneOnLength, toneOffLength, pauseLength);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetDTMFLengths"));
+	}
+
+
+/**
+ * Changes the current recording gain to a specified value.
+ * The gain can be changed before or during recording and is effective
+ * immediately.
+ * @params aSection - Section to read param from the ini file
+ */
+void CT_CMMFDevSoundData::DoCmdSetGain(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetGain"));
+	TInt gainValue = iGainValue;
+	if(!GetIntFromConfig(aSection, KGainValue, gainValue))
+		{
+		INFO_PRINTF1(_L("The Gain value was not found in the ini file, using default value"));
+		}
+	INFO_PRINTF2(_L("Setting gain value to %d"), gainValue);
+	iDevSound->SetGain(gainValue);
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetGain"));
+	}
+
+/**
+ * Sets the speaker balance for playing.
+ * The speaker balance can be changed before or during playback and is
+ * effective immediately.
+ * @param aSection - The section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetPlayBalanceL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetPlayBalanceL"));
+	TInt leftPercentage = iLeftPercentage;
+	if(!GetIntFromConfig(aSection, KLeftPercentage, leftPercentage))
+		{
+		INFO_PRINTF1(_L("The Left percentage was not found in the ini file, using default value"));
+		}
+	TInt rightPercentage = iRightPercentage;
+	if(!GetIntFromConfig(aSection, KRightPercentage, rightPercentage))
+		{
+		INFO_PRINTF1(_L("The Right percentage was not found in the ini file, using default value"));
+		}
+	INFO_PRINTF3(_L("Setting play balance to left: %d, right: %d values"), leftPercentage, rightPercentage);
+	TRAPD(error, iDevSound->SetPlayBalanceL(leftPercentage, rightPercentage));
+	if(error != KErrNone)
+		{
+		ERR_PRINTF2(_L("SetPlayBalanceL left with error %d"), error);
+		SetError(error);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetPlayBalanceL"));
+	}
+
+/**
+ * Defines the priority settings that should be used for this instance.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetPrioritySettings(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetPrioritySettings"));
+	TBool dataOk = ETrue;
+	if(!GetIntFromConfig(aSection, KPriority, iPrioritySettings.iPriority))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KPriority);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TInt preference=0;
+	if (!GetHexFromConfig(aSection, KPreference, preference))
+		{
+		ERR_PRINTF2(_L("%S parameter was not found in INI file"), &KPreference);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	iPrioritySettings.iPref = (TMdaPriorityPreference)preference;
+	TInt state=0;
+	if (!GetEnumFromConfig(aSection, KPriorityState, iEnumMode, state))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KPriorityState);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	iPrioritySettings.iState = (TMMFState)state;
+	if(dataOk)
+		{
+		iDevSound->SetPrioritySettings(iPrioritySettings);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetPrioritySettings"));
+	}
+
+/**
+ * Sets the microphone gain balance for recording.
+ * The microphone gain balance can be changed before or during recording and
+ * is effective immediately.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetRecordBalanceL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetRecordBalanceL"));
+	TInt leftPercentage = iLeftPercentage;
+	if (!GetIntFromConfig(aSection, KLeftPercentage, leftPercentage))
+		{
+		INFO_PRINTF1(_L("The Left value was not found in the ini file, using default value"));
+		}
+	TInt rightPercentage = iRightPercentage;
+	if (!GetIntFromConfig(aSection, KRightPercentage, rightPercentage))
+		{
+		INFO_PRINTF1(_L("The Right value was not found in the ini file, using default value"));
+		}
+	INFO_PRINTF3(_L("Setting record balance to left: %d, right: %d values"), leftPercentage, rightPercentage);
+	TRAPD(error, iDevSound->SetRecordBalanceL(leftPercentage, rightPercentage));
+	if (KErrNone != error)
+		{
+		ERR_PRINTF2(_L("SetRecordBalanceL left with error %d"), error);
+		SetError(error);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetRecordBalanceL"));
+	}
+
+/**
+ * Defines the number of times the audio is to be repeated during the tone
+ * playback operation.
+ * A period of silence can follow each playing of a tone. The tone playing can
+ * be repeated indefinitely.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetToneRepeats(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetToneRepeats"));
+	TInt repeatCount=0;
+	TBool dataOk = ETrue;
+	if (!GetIntFromConfig(aSection, KRepeatCount, repeatCount))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRepeatCount);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+
+	TInt tempValue=0;
+	if (!GetIntFromConfig(aSection, KRepeatTrailingSilence, tempValue))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRepeatTrailingSilence);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TTimeIntervalMicroSeconds repeatTrailingSilence(tempValue);
+
+	if(dataOk)
+		{
+		iDevSound->SetToneRepeats(repeatCount, repeatTrailingSilence);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetToneRepeats"));
+	}
+
+/**
+ * Defines the period over which the volume level is to rise smoothly from
+ * nothing to the normal volume level.
+ * The function is only available while the tone is playing.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetVolume(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetVolume"));
+	TInt volume = iVolumeValue;
+	if(!GetIntFromConfig(aSection, KVolumeValue, volume))
+		{
+		INFO_PRINTF1(_L("The Volume value was not found in the ini file, using default value"));
+		}
+	INFO_PRINTF2(_L("Setting volume value to %d"), volume);
+	iDevSound->SetVolume(volume);
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetVolume"));
+	}
+
+/**
+ * Defines the loop over which the volume level is to rise smoothly from
+ * nothing to the normal volume level.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetVolumeLoop(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetVolumeLoop"));
+	TInt volLoop=0;
+	TBool dataOk = ETrue;
+	if (!GetIntFromConfig(aSection, KVolumeLoop, volLoop))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KVolumeLoop);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		TPtrC parVolume;
+		TInt volumeValue=0;
+		RPointerArray<HBufC> volumeList;
+		for (TInt i=0; i<volLoop; i++)
+			{
+			if (!GetArrayRectFromConfig(aSection, KVolumeList, volumeList))
+				{
+				ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KVolumeList);
+				volumeList.ResetAndDestroy();
+				SetBlockResult(EFail);
+				dataOk = EFalse;
+				}
+			if(dataOk)
+				{
+				for (TInt j=0; j<volumeList.Count(); j++)
+					{
+					parVolume.Set(*volumeList[j]);
+					TLex lex(parVolume);
+					TInt error = lex.Val(volumeValue);
+					if (error != KErrNone)
+						{
+						ERR_PRINTF2(_L("Obtaining volume value failed with error %d"), error);
+						SetError(error);
+						volumeList.ResetAndDestroy();
+						}
+					else
+						{
+						INFO_PRINTF3(_L("Setting volume number %d in the iteration number %d"), j, i);
+						iDevSound->SetVolume(volumeValue);
+						}
+					}
+				}
+			}
+		volumeList.ResetAndDestroy();
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetVolumeLoop"));
+	}
+
+/**
+ * Defines the period over which the volume level is to rise smoothly from
+ * nothing to the normal volume level.
+ * The function is only available while the tone is playing.
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdSetVolumeRamp(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdSetVolumeRamp"));
+	TInt tempValue=0;
+	TBool dataOk = ETrue;
+	if (!GetIntFromConfig(aSection, KRampDuration, tempValue))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRampDuration);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	TTimeIntervalMicroSeconds rampDuration(tempValue);
+
+	if(dataOk)
+		{
+		iDevSound->SetVolumeRamp(rampDuration);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdSetVolumeRamp"));
+	}
+
+/**
+ * Initializes DevSound object for the mode aMode for processing audio data
+ * with hardware device aHWDev and supporting FourCC.
+ * Too Initializes CMMFDevSound object to play and record PCM16 raw audio data
+ * with sampling rate of 8 KHz.
+ * @param aSection - Section to read params from the ini file
+ */
+void CT_CMMFDevSoundData::DoCmdInitializeL(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdInitializeL"));
+	TBool dataOk = ETrue;
+	TInt mode=0;
+	if (!GetEnumFromConfig(aSection, KMode, iEnumMode, mode))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KMode);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	else
+		{
+		TInt hwDeviceInt=0;
+		if (!GetHexFromConfig(aSection, KHwDevice, hwDeviceInt))
+			{
+			INFO_PRINTF2(_L("%S parameter was not found in INI file"), &KHwDevice);
+			TPtrC fourCCIniString;
+			if (!GetStringFromConfig(aSection, KFourCC, fourCCIniString))
+				{
+				INFO_PRINTF2(_L("%S parameter was not found in INI file"), &KFourCC);
+				if (dataOk)
+					{
+					INFO_PRINTF1(_L("Initializing DevSound with overload: void InitializeL(MDevSoundObserver &aDevSoundObserver, TMMFState aMode)"));
+					TRAPD(error, iDevSound->InitializeL(*this, (TMMFState)mode));
+					if(KErrNone != error)
+						{
+						ERR_PRINTF2(_L("InitializeL(aMDevSoundObserver, mode) left with error %d"), error);
+						SetError(error);
+						}
+					}
+				}
+			else
+				{
+				if (fourCCIniString.Length() > KTFourCC)
+					{
+					ERR_PRINTF2(_L("FourCC obtained from INI file exceeded the valid length in %d"), fourCCIniString.Length());
+					SetBlockResult(EFail);
+					dataOk = EFalse;
+					}
+				if (dataOk)
+					{
+					TBuf<256> fourCCString;
+					fourCCString.Copy(fourCCIniString);
+					while (fourCCString.Length() < KTFourCC)
+						{
+						fourCCString.Insert(0, _L(" "));
+						}
+					TFourCC fourCC;
+					fourCC = TFourCC(fourCCString[3] << 24 | fourCCString[2] << 16 | fourCCString[1] << 8 | fourCCString[0]);
+					INFO_PRINTF1(_L("Initializing DevSound with overload: void InitializeL(MDevSoundObserver &aDevSoundObserver, TFourCC aDesiredFourCC, TMMFState aMode)"));
+					TRAPD(error, iDevSound->InitializeL(*this, fourCC, (TMMFState)mode));
+					if(KErrNone!=error)
+						{
+						ERR_PRINTF2(_L("InitializeL(aMDevSoundObserver, fourCC, mode) left with error %d"), error);
+						ERR_PRINTF2(_L(" %S Not supported in this device"), &fourCCString);
+						SetError(error);
+						SetBlockResult(EFail);
+						}
+					}
+				}
+			}
+		else
+			{
+			if (dataOk)
+				{
+				TUid hwDevice;
+				hwDevice.iUid = hwDeviceInt;
+				INFO_PRINTF1(_L("Initializing DevSound with overload: void InitializeL(MDevSoundObserver &aDevSoundObserver, TUid aHWDev, TMMFState aMode)"));
+				TRAPD(error, iDevSound->InitializeL(*this, hwDevice, (TMMFState)mode));
+				if(KErrNone != error)
+					{
+					ERR_PRINTF2(_L("InitializeL(aMDevSoundObserver, hwDevice, mode) left with error %d"), error);
+					SetError(error);
+					}
+				}
+			}
+		}
+
+	if (dataOk)
+		{
+		IncOutstanding();
+        iInitializeErrorIndex = aAsyncErrorIndex;
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdInitializeL"));
+	}
+
+
+/**
+ * Initializes the audio device and starts playing the DTMF string aDTMFString.
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdPlayDTMFStringL(const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdPlayDTMFStringL"));
+	TBool dataOk = ETrue;
+	TPtrC dtmfString;
+	if (!GetStringFromConfig(aSection, KDTMFString, dtmfString) )
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDTMFString);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		TRAPD( error, iDevSound->PlayDTMFStringL(dtmfString) );
+		if(error != KErrNone)
+			{
+			ERR_PRINTF2(_L("Play DTMF string failed with error: %d "), error);
+			SetError(error);
+			}
+		else
+			{
+			iToneErrorIndex = aAsyncErrorIndex;
+			IncOutstanding();
+			}
+		}
+
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdPlayDTMFStringL"));
+	}
+
+/**
+ * Plays data in the buffer at the current volume.
+ * @param
+ * @return
+ */
+void CT_CMMFDevSoundData::DoCmdPlayData()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdPlayData"));
+	PlayData();
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdPlayData"));
+	}
+
+/**
+ * Helper for the DoCmdPlayData command
+ */
+void CT_CMMFDevSoundData::PlayData()
+	{
+	INFO_PRINTF1(_L("CT_CMMFDevSoundData::PlayData()"));
+	iDevSound->PlayData();
+	}
+
+/**
+ * Initializes audio device and starts playing a dual tone.
+ * The generated tone consists of two sine waves of different frequencies summed together.
+ * Dual Tone is played with the specified frequencies and for the specified duration.
+ * @param aSection - Section to read params from the ini file.
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdPlayDualToneL(const TTEFSectionName& aSection , const TInt aAsyncErrorIndex)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdPlayDualToneL"));
+	TBool dataOk = ETrue;
+	TInt frequencyOne=0;
+	if (!GetIntFromConfig(aSection, KFrequencyOne, frequencyOne) )
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFrequencyOne);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+
+	TInt frequencyTwo=0;
+	if (!GetIntFromConfig(aSection, KFrequencyTwo, frequencyTwo) )
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFrequencyTwo);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+
+	TInt duration=0;
+	if (!GetIntFromConfig(aSection, KDuration, duration) )
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDuration);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		TRAPD( error, iDevSound->PlayDualToneL(frequencyOne, frequencyTwo, duration) );
+		if(error != KErrNone)
+			{
+			ERR_PRINTF2(_L("Play dual tone failed with error %d"), error);
+			SetError(error);
+			}
+		else
+			{
+			iToneErrorIndex =  aAsyncErrorIndex;
+			IncOutstanding();
+			}
+		}
+
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdPlayDualToneL"));
+	}
+
+
+/**
+ * Initializes the audio device and starts the play process.
+ *
+ * This function queries and acquires the audio policy before initializing audio device. If there was
+ * an error during policy initialization, PlayError() function will be called on    the observer with
+ * error code KErrAccessDenied, otherwise BufferToBeFilled() function will be called with a buffer
+ * reference. After reading data into the buffer reference passed, the client should call PlayData() to play data.
+ *
+ * The amount of data that can be played is specified in CMMFBuffer::RequestSize(). Any data that is read into
+ * buffer beyond this size will be ignored.
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdPlayInitL(const TInt aAsyncErrorIndex)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdPlayInitL"));
+	TRAPD(error, iDevSound->PlayInitL());
+	if (error != KErrNone)
+		{
+		ERR_PRINTF2(_L("PlayInitL left with error %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		iPlayErrorIndex =  aAsyncErrorIndex;
+		IncOutstanding();
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdPlayInitL"));
+	}
+
+/**
+ * Initializes the audio device and starts playing a tone. The tone is played with the
+ * frequency and duration specified.
+ * @param aSection - Section to read params from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdPlayToneL(const TTEFSectionName& aSection , const TInt aAsyncErrorIndex)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdPlayToneL"));
+	TBool dataOk = ETrue;
+	TInt frequency=0;
+	if (!GetIntFromConfig(aSection, KFrequency, frequency))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFrequency);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+
+	TInt duration=0;
+	if (!GetIntFromConfig(aSection, KDuration, duration))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDuration);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		TRAPD(error, iDevSound->PlayToneL(frequency, duration));
+		if (error != KErrNone)
+			{
+			ERR_PRINTF2(_L("Play tone failed with error %d"), error);
+			SetError(error);
+			}
+		else
+			{
+			iToneErrorIndex =  aAsyncErrorIndex;
+			IncOutstanding();
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdPlayToneL"));
+	}
+
+/**
+ * Initializes the audio device and starts playing a tone sequence.
+ * @param aSection - Section to read param from the ini file
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdPlayToneSequenceL(const TTEFSectionName& aSection , const TInt aAsyncErrorIndex)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdPlayToneSequenceL"));
+	TBool dataOk = ETrue;
+	TPtrC toneFileParameter;
+	if (!GetStringFromConfig(aSection, KFilename, toneFileParameter))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFilename);
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		TInt error = iToneFile.Open(iFs, toneFileParameter, EFileRead);
+		if (error != KErrNone)
+			{
+			ERR_PRINTF2(_L("Open file failed with error %d"), error);
+			SetError(EFail);
+			}
+		else
+			{
+			error = iToneFile.Read(iToneSequence);
+			if (error != KErrNone)
+				{
+				ERR_PRINTF2(_L("Read file failed with error %d"), error);
+				SetError(EFail);
+				}
+			else
+				{
+				TRAP(error, iDevSound->PlayToneSequenceL(iToneSequence));
+				if (error != KErrNone)
+					{
+					ERR_PRINTF2(_L("Play tone sequence failed with error %d"), error);
+					SetError(error);
+					}
+				else
+					{
+				  iToneErrorIndex =  aAsyncErrorIndex;
+					IncOutstanding();
+					}
+				}
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdPlayToneSequenceL"));
+	}
+
+/**
+ * Contine the process of recording.
+ *
+ * Once the buffer is filled with recorded  data, the Observer gets a reference to the buffer along
+ * with the callback function BufferToBeEmptied(). After processing the buffer (copying over to a
+ * different buffer or writing to file) the client should call this function to continue the
+ * recording process.
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdRecordData()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdRecordData"));
+	RecordData();
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdRecordData"));
+	}
+
+/**
+ * Helper method to DoCmdRecordData command
+ */
+void CT_CMMFDevSoundData::RecordData()
+	{
+	iDevSound->RecordData();
+	}
+
+/**
+ * Initializes audio device and starts the recording process.
+ *
+ * This command queries and acquires the audio policy before initializing audio device. If there
+ * was an error during policy initialization, RecordError() function will be called on the observer
+ * with error code KErrAccessDenied, otherwise BufferToBeEmptied()  function will be called with a
+ * buffer reference. This buffer contains recorded  or encoded data. After processing data in the
+ * buffer reference passed, the client should call RecordData() to continue recording process.
+ *
+ * The amount of data that is available is specified in CMMFBuffer::RequestSize().
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdRecordInitL(const TInt aAsyncErrorIndex)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdRecordInitL"));
+	iRecordErrorIndex = aAsyncErrorIndex;	
+	TRAPD(error, iDevSound->RecordInitL());
+	if (error != KErrNone)
+		{
+		ERR_PRINTF2(_L("RecordInitL left with error %d"), error);
+		SetError(error);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdRecordInitL"));
+	}
+
+
+/**
+ * Conceal an error
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdUtilityErrorConceal()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdErrorConceal"));
+	iErrorConceal=ETrue;
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdErrorConceal"));
+	}
+
+/**
+ * Stop an audio file
+ * @param none
+ * @return none
+ */
+void CT_CMMFDevSoundData::DoCmdStop(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevSoundData::DoCmdStop"));
+	TBool pause;
+	if(!GetBoolFromConfig(aSection,KPause,pause))
+		{
+		INFO_PRINTF1(_L("The DoCmdStop command will be execute"));
+		pause = EFalse;
+		}
+	iPaused=pause;
+	if(iPaused)
+		{
+		INFO_PRINTF1(_L("a Pause was required"));
+		}
+	Stop();
+	INFO_PRINTF1(_L("*END*CT_CMMFDevSoundData::DoCmdStop"));
+	}
+
+
+
+
+/**
+ * Utility for get the HwDevice for play and recording
+ */
+
+void CT_CMMFDevSoundData::UtilityFourCCToHwDeviceUidL(const TDesC& aFourCC, THwDeviceType aType, TUid& aHwDeviceUid)
+	{
+	TPtrC8 fourCCPtr(0,0);
+	TPtrC8 fourCCP16Ptr(0,0);
+	RImplInfoPtrArray impArray;
+	CleanupResetAndDestroyPushL(impArray);
+	REComSession::ListImplementationsL(TUid::Uid(KMmfUidPluginInterfaceHwDevice), impArray);
+	TBuf<KHwDeviceDefaultDataLength> datatype;
+	for(TInt i = 0; i < impArray.Count(); ++i)
+		{
+		CImplementationInformation& entry = *(impArray[i]);
+		// Validate lenght
+		if (entry.DataType().Length() == KHwDeviceDefaultDataLength)
+			{
+			INFO_PRINTF2(_L("Implementation UID=0x%08x"),entry.ImplementationUid());
+			datatype.Copy(entry.DataType());
+			INFO_PRINTF2(_L("Default data (fourCCs)=%S"), &datatype);
+			// Extract FourCC
+			if(aType == EDecoder)
+				{
+				fourCCPtr.Set(entry.DataType().Left(KFourCCLength));
+				fourCCP16Ptr.Set(entry.DataType().Right(KFourCCLength));
+				}
+			else if (aType == EEncoder)
+				{
+				fourCCPtr.Set(entry.DataType().Right(KFourCCLength));
+				fourCCP16Ptr.Set(entry.DataType().Left(KFourCCLength));
+				}
+			// Compare FourCC
+			TBuf16<4> foundFourCC;
+			foundFourCC.Copy(fourCCPtr);
+			if(aFourCC.CompareF(foundFourCC) == 0)
+				{
+				aHwDeviceUid = entry.ImplementationUid();
+				break;
+				}
+			}
+		}
+	CleanupStack::PopAndDestroy(&impArray);
+	REComSession::FinalClose();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/src/T_CRepositoryData.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,222 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "t_crepositorydata.h"
+
+/*@{*/
+//Command literals 
+_LIT(KCmdNewL, 							"NewL");
+_LIT(KCmdDestructor, 						"~");
+_LIT(KCmdSet,								"Set");
+/*@}*/
+
+/*@{*/
+//INI Key names literals 
+_LIT(KRepUID,							"RepUID");
+_LIT(KRepItemID,						"ItemID");
+_LIT(KRepSetValue,						"SetValue");
+/*@{*/
+
+/**
+ * Two phase constructor
+ *
+ * @leave	system wide error
+ */
+CT_CRepositoryData* CT_CRepositoryData::NewL()
+	{
+	CT_CRepositoryData* ret = new (ELeave) CT_CRepositoryData();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+/**
+ * Private constructor. First phase construction
+ */
+CT_CRepositoryData::CT_CRepositoryData()
+	:
+	iRepository(NULL)
+	{
+	}
+
+/**
+ * Second phase construction
+ * @internalComponent
+ * @return	N/A
+ * @pre		None
+ * @post	None
+ * @leave	system wide error
+ */
+void CT_CRepositoryData::ConstructL()
+	{
+	}
+
+/**
+ * Public destructor
+ */
+CT_CRepositoryData::~CT_CRepositoryData()
+	{
+	DestroyData();
+	}
+
+/**
+ * Return a pointer to the object that the data wraps
+ *
+ * @return	pointer to the object that the data wraps
+ */
+TAny* CT_CRepositoryData::GetObject()
+	{
+	return iRepository;
+	}
+
+/**
+ * Helper Destructor
+ */
+void CT_CRepositoryData::DestroyData()
+	{
+	if(iRepository)
+		{
+		delete iRepository;
+		iRepository = NULL;
+		}	
+	}
+
+/**
+ * Process a command read from the Ini file
+ * @param aCommand 		   -	The command to process
+ * @param aSection		   -	The section get from the *.ini file of the project T_Wlan
+ * @param aAsyncErrorIndex -	Command index dor async calls to returns errors to
+ * @return TBool		   -    ETrue if the command is process
+ * @leave				   -	system wide error
+ */
+TBool CT_CRepositoryData::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt /*aAsyncErrorIndex*/)
+	{
+	TBool ret = ETrue;
+	
+	if (aCommand == KCmdNewL)
+		{
+		DoCmdNewL(aSection);
+		}
+	else if (aCommand == KCmdDestructor)
+		{
+		DoCmdDestructor();
+		}
+	else if (aCommand == KCmdSet)
+		{
+		DoCmdSet(aSection);
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Unknown command."));
+		ret=EFalse;
+		}
+	
+	return ret;
+	}
+
+/**
+ * Create an instance of CRepository
+ * @param aSection - Section to read from the ini file
+ * @return void
+ */
+void CT_CRepositoryData::DoCmdNewL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CRepositoryData::DoCmdNewL"));
+	DestroyData();
+	TBool dataOk = ETrue;
+	
+	TInt parRepUID = 0;
+	if(!GetHexFromConfig(aSection, KRepUID, parRepUID))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRepUID);
+    	SetBlockResult(EFail);
+    	dataOk = EFalse;
+		}
+
+	if(dataOk)
+		{
+		TUid repUid;
+	    repUid.Null();
+	    repUid = TUid::Uid(parRepUID);
+		TRAPD(error, iRepository = CRepository::NewL(repUid));
+		if(error != KErrNone)
+			{
+			ERR_PRINTF2(_L("Could not create CRepository: error %d"), error);
+			SetError(error);
+			}
+		}
+	
+	INFO_PRINTF1(_L("*END*CT_CRepositoryData::DoCmdNewL"));
+	}
+
+/**
+ * Delete an instance of CRepository
+ * @param
+ * @return
+ */
+void CT_CRepositoryData::DoCmdDestructor()
+	{
+	INFO_PRINTF1(_L("*START*CT_CRepositoryData::DoCmdDestroyData"));
+	DestroyData();
+	INFO_PRINTF1(_L("*END*CT_CRepositoryData::DoCmdDestroyData"));
+	}
+
+/**
+ * Setting the central repository
+ * @param aSection - Section to read from the ini file
+ * @return void
+ */
+void CT_CRepositoryData::DoCmdSet(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START* CT_CRepositoryData::DoCmdSet"));
+	TBool dataOk = ETrue;
+	
+	TInt parRepItemID;
+	if(!GetHexFromConfig(aSection, KRepItemID, parRepItemID))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRepItemID);
+    	SetBlockResult(EFail);
+    	dataOk = EFalse;
+		}
+
+	TInt parRepSetValue;
+	if(!GetIntFromConfig(aSection, KRepSetValue, parRepSetValue))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRepSetValue);
+    	SetBlockResult(EFail);
+    	dataOk = EFalse;
+		}
+	
+	if(dataOk)
+		{
+		TInt error = KErrNone;
+		INFO_PRINTF2(_L("ItemId = %d"),parRepItemID);
+		INFO_PRINTF2(_L("DataId = %d"),parRepSetValue);
+		
+		error = iRepository->Set(parRepItemID, parRepSetValue);
+		
+		if(error != KErrNone)
+			{
+			ERR_PRINTF3(_L("Setting the central repository parameter %d failed with error %d"),	parRepItemID, error);
+			SetError(error);			
+			}
+		}	
+	INFO_PRINTF1(_L("*END* CT_CRepositoryData::DoCmdSet"));
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/src/T_DevSoundServer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,145 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "t_devsoundserver.h"
+#include "t_cmmfdevsounddata.h"
+#include "t_crepositorydata.h"
+
+/*@{*/
+/** Object wrappers literals */
+_LIT(KT_CMMFDevSound, 	"CMMFDevSound");
+_LIT(KT_CRepository,	"CRepository");
+_LIT(KApplicationName,"AccServer.exe");
+_LIT(KPROCESSNAME, "*AccServer*");
+_LIT(KCmdName,"");
+/*@}*/
+
+/**
+ * 
+ * Same code for Secure and non-secure variants
+ * Called inside the MainL() function to create and start the
+ * CTestServer derived server.
+ * @return - Instance of the test server
+ */
+CT_DevSoundServer* CT_DevSoundServer::NewL()
+	{
+    CT_DevSoundServer* server = new (ELeave) CT_DevSoundServer();
+    CleanupStack::PushL(server);
+    server->ConstructL();
+    server->DoCmdutilStartApp();
+    CleanupStack::Pop(server);
+    return server;
+    }
+
+/**
+ * Secure variant
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+LOCAL_C void MainL()
+	{
+#if (defined __DATA_CAGING__)
+    RProcess().DataCaging(RProcess::EDataCagingOn);
+    RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+    CActiveScheduler* sched = NULL;
+    sched = new(ELeave) CActiveScheduler;
+    CActiveScheduler::Install(sched);
+    CT_DevSoundServer* server = NULL;
+
+    // Create the CTestServer derived server
+    TRAPD(err, server = CT_DevSoundServer::NewL());
+    if(!err)
+	    {
+        // Sync with the client and enter the active scheduler
+        RProcess::Rendezvous(KErrNone);
+        sched->Start();
+        }
+
+    delete server;
+    delete sched;
+    }
+
+/**
+ * 
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ * @return - Standard Epoc error code on process exit
+ */
+GLDEF_C TInt E32Main()
+	{
+    __UHEAP_MARK;
+    CTrapCleanup* cleanup = CTrapCleanup::New();
+    if(cleanup == NULL)
+	    {
+        return KErrNoMemory;
+        }
+
+#if (defined TRAP_IGNORE)
+	TRAP_IGNORE(MainL());
+#else
+    TRAPD(err,MainL());
+#endif
+
+    delete cleanup;
+    __UHEAP_MARKEND;
+    return KErrNone;
+    }
+/*
+ * Creates an instance of CDataWrapper that wraps a CT_CMMFDevSoundData object 
+ * @return wrapper	- a CDataWrapper instance that wraps the CT_CMMFDevSoundData object
+ */
+CDataWrapper* CT_DevSoundServer::CT_DevSoundBlock::CreateDataL(const TDesC& aData)
+	{
+	CDataWrapper* wrapper = NULL;
+
+	if (KT_CMMFDevSound() == aData)
+		{
+		wrapper = CT_CMMFDevSoundData::NewL();
+		}
+	else if (KT_CRepository() == aData)
+		{
+		wrapper = CT_CRepositoryData::NewL();
+		}	
+	return wrapper;
+	}
+
+/*
+ * Start the accessories server
+ * @return err 		Symbian error code. KErrNone if successful
+ */
+void CT_DevSoundServer::DoCmdutilStartApp()
+	{
+	RProcess process;
+	TInt err(KErrNone);
+	TFullName processName;
+	TFindProcess findProcess(KPROCESSNAME);
+	findProcess.Next(processName);
+  if (processName != KNullDesC)
+    {
+    return;
+    }
+  
+	err = process.Create(KApplicationName,KCmdName);
+	// start the process running! Don't forget this.
+	if (err==KErrNone)
+        {
+        process.Resume(); //start .exe application
+        }
+	process.Close(); // Closes the handle, not the process.
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/devlon52/t_devsound.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,79 @@
+[EncoderHwDevice]
+RAW = 0x1020658f
+G711 = 0x1020658f
+G729AB = 0x1020658f
+ILBC = 0x1020658f
+AMRNB = 0x1020659e
+
+[DecoderHwDevice]
+AMRNB = 0x10206596
+AMRWB = 0x10206591
+G711 = 0x10205EE4
+G729AB = 0x10205EEA
+ILBC = 0x10205E63
+MP3 = 0x1020658F
+RAW = 0x1020659D
+
+[drive]
+mmc=e:
+
+[SpecialFourCC]
+RAW = P16
+
+[Priority]
+PriorityMin                 = -100
+PriorityNormal              = 0
+PriorityMax                 = 100
+PriorityIncomingCall        = 100
+PriorityClockAlarm          = 93
+PriorityCalendarAlarm       = 93
+PriorityReceivedSMS         = 90
+PriorityAudioPlayback       = 80
+PriorityVoiceTagPlayback    = 73
+PriorityBackgroundMusic     = 47
+PriorityDTMFKeyPress        = 45
+PriorityBatteryLow          = 85
+PriorityRemoteMediaPlayback = 80
+PriorityVoiceRecording      = 80
+PriorityTTSCall             = 100
+PriorityCameraTone          = 45
+PriorityPocCallUp           = 95
+PriorityPocCallDown         = 95
+PriorityVoipCallDown        = 100
+PriorityVoipCallUp          = 100
+PriorityVideoRecording      = 80
+PrioritySWISPlayback        = 74
+PriorityUnknownVoipCallDown = 95
+PriorityAudioRecording      = 80
+PriorityMobileTV            = 80
+PriorityVisualization       = 40
+
+[PriorityPreference]
+PriorityPreferenceNone                  = 0
+PriorityPreferenceTime                  = 1
+PriorityPreferenceQuality               = 2
+PriorityPreferenceTimeAndQuality        = 3
+PriorityPreferenceDTMFKeyPress          = 0x00130001
+PriorityPreferenceIncomingCall          = 0x01340001
+PriorityPreferenceBatteryLow            = 0X01030001
+PriorityPreferenceClockAlarm            = 0x01220001
+PriorityPreferenceCalendarAlarm         = 0x01210001
+PriorityPreferenceReceivedSMS           = 0x01120001
+PriorityPreferenceAudioPlayback         = 0x01420001
+PriorityPreferenceVoiceTagPlayback      = 0x00030001
+PriorityPreferenceBackgroundMusic       = 0x06000005
+PriorityPreferenceMediaPlayback         = 0x01610001
+PriorityPreferenceVoiceRecording        = 0x00950001
+PriorityPreferenceTTSCall               = 0x01370001
+PriorityPreferenceCameraTone            = 0x00110001
+PriorityPreferencePocCallDown           = 0x05120001
+PriorityPreferencePocCallUp             = 0x05130001
+PriorityPreferenceVoipCallDown          = 0x05210001
+PriorityPreferenceVoipCallUp            = 0x05220001
+PriorityPreferenceVideoRecording        = 0x00950001
+PriorityPreferenceSWISPlayback          = 0x05330001
+PriorityPreferenceUnknownVoipCallDown   = 0x05110007
+PriorityPreferenceAudioRecording        = 0x00940001
+PriorityPreferenceMobileTV              = 0x03100001
+PriorityPreferenceVisualization         = 0x05350001
+PriorityPreferenceRemoteMediaPlayback   = 0x01610001
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/devlon52/t_devsound.tcs	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,26 @@
+multimedia-mmf-devsound-validation-automated-recording-0002
+multimedia-mmf-devsound-validation-automated-recording-0008
+multimedia-mmf-devsound-validation-automated-recording-0009
+multimedia-mmf-devsound-validation-automated-recording-0010
+multimedia-mmf-devsound-validation-automated-recording-0011
+multimedia-mmf-devsound-validation-automated-recording-0012
+multimedia-mmf-devsound-validation-automated-recording-0014
+multimedia-mmf-devsound-validation-automated-recording-0016
+multimedia-mmf-devsound-validation-automated-recording-0019
+multimedia-mmf-devsound-validation-automated-recording-0020
+multimedia-mmf-devsound-validation-automated-recording-0021
+multimedia-mmf-devsound-validation-automated-recording-0022
+multimedia-mmf-devsound-validation-automated-recording-0023
+multimedia-mmf-devsound-validation-automated-recording-0025
+multimedia-mmf-devsound-validation-automated-recording-0031
+multimedia-mmf-devsound-validation-automated-recording-0032
+multimedia-mmf-devsound-validation-automated-recording-0033
+multimedia-mmf-devsound-validation-automated-recording-0038
+multimedia-mmf-devsound-validation-automated-comb_pr-0007
+multimedia-mmf-devsound-validation-automated-comb_pr-0009
+multimedia-mmf-devsound-validation-automated-comb_pr-0012
+multimedia-mmf-devsound-validation-automated-comb_pr-0017
+multimedia-mmf-devsound-validation-automated-comb_pr-0018
+multimedia-mmf-devsound-validation-automated-comb_pr-0023
+multimedia-mmf-devsound-stress-automated-recording-0002
+multimedia-mmf-devsound-validation-automated-comb_pt-0009
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/h6hrp/t_devsound.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,79 @@
+[EncoderHwDevice]
+RAW    = 0x101f9f00
+G711   = 
+G729AB = 
+ILBC   = 
+AMRNB  = 0x101fbf0d
+
+[DecoderHwDevice]
+AMRNB  = 0x101fbf0b
+AMRWB  = 0x101fd83b
+G711   = 
+G729AB = 
+ILBC   = 
+MP3    = 0x101fbf03
+RAW    = 0x101f9f00
+
+[drive]
+mmc=e:
+
+[SpecialFourCC]
+RAW = P16
+
+[Priority]
+PriorityMin                 = -100
+PriorityNormal              = 0
+PriorityMax                 = 100
+PriorityIncomingCall        = 100
+PriorityClockAlarm          = 93
+PriorityCalendarAlarm       = 93
+PriorityReceivedSMS         = 90
+PriorityAudioPlayback       = 80
+PriorityVoiceTagPlayback    = 73
+PriorityBackgroundMusic     = 47
+PriorityDTMFKeyPress        = 45
+PriorityBatteryLow          = 85
+PriorityRemoteMediaPlayback = 80
+PriorityVoiceRecording      = 80
+PriorityTTSCall             = 100
+PriorityCameraTone          = 45
+PriorityPocCallUp           = 95
+PriorityPocCallDown         = 95
+PriorityVoipCallDown        = 100
+PriorityVoipCallUp          = 100
+PriorityVideoRecording      = 80
+PrioritySWISPlayback        = 74
+PriorityUnknownVoipCallDown = 95
+PriorityAudioRecording      = 80
+PriorityMobileTV            = 80
+PriorityVisualization       = 40
+
+[PriorityPreference]
+PriorityPreferenceNone                  = 0
+PriorityPreferenceTime                  = 1
+PriorityPreferenceQuality               = 2
+PriorityPreferenceTimeAndQuality        = 3
+PriorityPreferenceDTMFKeyPress          = 0x00130001
+PriorityPreferenceIncomingCall          = 0x01340001
+PriorityPreferenceBatteryLow            = 0X01030001
+PriorityPreferenceClockAlarm            = 0x01220001
+PriorityPreferenceCalendarAlarm         = 0x01210001
+PriorityPreferenceReceivedSMS           = 0x01120001
+PriorityPreferenceAudioPlayback         = 0x01420001
+PriorityPreferenceVoiceTagPlayback      = 0x00030001
+PriorityPreferenceBackgroundMusic       = 0x06000005
+PriorityPreferenceMediaPlayback         = 0x01610001
+PriorityPreferenceVoiceRecording        = 0x00950001
+PriorityPreferenceTTSCall               = 0x01370001
+PriorityPreferenceCameraTone            = 0x00110001
+PriorityPreferencePocCallDown           = 0x05120001
+PriorityPreferencePocCallUp             = 0x05130001
+PriorityPreferenceVoipCallDown          = 0x05210001
+PriorityPreferenceVoipCallUp            = 0x05220001
+PriorityPreferenceVideoRecording        = 0x00950001
+PriorityPreferenceSWISPlayback          = 0x05330001
+PriorityPreferenceUnknownVoipCallDown   = 0x05110007
+PriorityPreferenceAudioRecording        = 0x00940001
+PriorityPreferenceMobileTV              = 0x03100001
+PriorityPreferenceVisualization         = 0x05350001
+PriorityPreferenceRemoteMediaPlayback   = 0x01610001
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/h6hrp/t_devsound.tcs	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1 @@
+ 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-stress-automated-playback.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,210 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsound.ini
+file2=\multimedia\mmf\devsound\t_devsound_environment.ini
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0001-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0001-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0001-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0001-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_long.amr
+WaitForEOF = ETrue
+
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0002-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0002-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0002-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0002-0001-OpenFile_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0002-0001-Stop_command09]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0002-0001-Stop_command12]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0003-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0003-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0003-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0003-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_long.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0004-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0004-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0004-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0004-0001-OpenFile_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0004-0001-Stop_command09]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0004-0001-Stop_command12]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0005-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC = G729
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0005-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0005-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0005-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_on_long.bin
+
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0006-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0006-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0006-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0006-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\Err_MP3_44.1k_64kbps_mono.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0007-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0007-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0007-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0007-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_long.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0008-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0008-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0008-0001-SetConfigL_command05]
+Channels=EMMFMono
+Rate=EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0008-0001-OpenFile_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_320kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0008-0001-Stop_command09]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0008-0001-Stop_command12]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0009-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0009-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0009-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0009-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\empty.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0010-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0010-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0010-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Playback-0010-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_8k_16b_signed_st_long.pcm
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-stress-automated-recording.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,250 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsound.ini
+file2=\multimedia\mmf\devsound\t_devsound_environment.ini
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecAMRNB30Min.amr
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0001-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecAMRNB30Min.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecAMRWB30Min.awb
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0002-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecAMRWB30Min.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = G711
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecG711a30Min.pcm
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = G711
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0003-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecG711a30Min.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = G729
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecG729AB30min.bin
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = G729
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0004-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\RecG729AB30min.bin
+
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = ILBC
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\Rec15kbpsiLBC30min.bin
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = ILBC
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0005-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\Rec15kbpsiLBC30min.bin
+
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\Rec8kPCM30Min.pcm
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0006-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\Rec8kPCM30Min.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\Rec8kPCM30MinB.pcm
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Stress-Recording-0007-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\robustness\Rec8kPCM30MinB.pcm
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-stress-automated-tones.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,30 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsound.ini
+file2=\multimedia\mmf\devsound\t_devsound_environment.ini
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-Tones-0001-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_long.mp3
+
+[MULTIMEDIA-MMF-DevSound-Stress-Tones-0001-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Stress-Tones-0001-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Stress-Tones-0001-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-stress-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,18 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsound.ini
+file2=\multimedia\mmf\devsound\t_devsound_environment.ini
+
+
+[MULTIMEDIA-MMF-DevSound-Stress-0001-0001-NewLLoopL_command01]
+Loop=100
+AllowedError=-4
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-comb_pp.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,2273 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsound.ini
+file2=\multimedia\mmf\devsound\t_devsound_environment.ini
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0001-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityCalendarAlarm}
+Preference = {PriorityPreference,PriorityPreferenceCalendarAlarm}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0002-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_160-256kbps_st_Test1.mp3
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityReceivedSMS}
+Preference = {PriorityPreference,PriorityPreferenceReceivedSMS}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0002-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0002-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityCalendarAlarm}
+Preference = {PriorityPreference,PriorityPreferenceCalendarAlarm}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0003-0002-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityClockAlarm}
+Preference = {PriorityPreference,PriorityPreferenceClockAlarm}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0002-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0002-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0002-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0004-0002-Stop_command07]
+Pause=TRUE
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityReceivedSMS}
+Preference = {PriorityPreference,PriorityPreferenceReceivedSMS}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0005-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_160-256kbps_st_Test1.mp3
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityReceivedSMS}
+Preference= {PriorityPreference,PriorityPreferenceReceivedSMS}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityReceivedSMS}
+Preference= {PriorityPreference,PriorityPreferenceReceivedSMS}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0006-0002-Stop_command07]
+Pause=TRUE
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_320kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityBackgroundMusic}
+Preference = {PriorityPreference,PriorityPreferenceBackgroundMusic}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0007-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0008-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityIncomingCall}
+Preference= {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_320kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityTTSCall}
+Preference= {PriorityPreference,PriorityPreferenceTTSCall}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0009-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityTTSCall}
+Preference= {PriorityPreference,PriorityPreferenceTTSCall}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityIncomingCall}
+Preference= {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0010-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityCalendarAlarm}
+Preference= {PriorityPreference,PriorityPreferenceCalendarAlarm}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityBackgroundMusic}
+Preference= {PriorityPreference,PriorityPreferenceBackgroundMusic}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0011-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityNormal}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityIncomingCall}
+Preference= {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0012-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityVoiceTagPlayback}
+Preference= {PriorityPreference,PriorityPreferenceVoiceTagPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityIncomingCall}
+Preference= {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0013-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0014-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_320kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0002-Stop_command02]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0002-OpenFile_command03]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0002-InitializeL_command04]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0002-SetPrioritySettings_command05]
+Priority = {Priority,PriorityTTSCall}
+Preference = {PriorityPreference,PriorityPreferenceTTSCall}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0015-0002-SetConfigL_command07]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0001-SetPrioritySettings_command04]
+Priority ={Priority,PriorityUnknownVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceUnknownVoipCallDown}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0001-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0002-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0002-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC =  {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0002-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0017-0002-Stop_command07]
+Pause=TRUE
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityUnknownVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceUnknownVoipCallDown}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0018-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference ={PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference ={PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0019-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0002-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0002-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0002-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0020-0002-Stop_command07]
+Pause=TRUE
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0002-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test2.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0002-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0002-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0021-0002-Stop_command07]
+Pause=TRUE
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityUnknownVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceUnknownVoipCallDown}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0001-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0002-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0002-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = P16
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0002-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0023-0002-Stop_command07]
+Pause=TRUE
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_256kbps_st_dinner_bell.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0002-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_256kbps_st_drums.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0002-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0002-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0002-Stop_command07]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0003-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_256kbps_st_jingle_bells.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0003-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0003-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0003-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0003-Stop_command07]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0004-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_256kbps_st_flute.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0004-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0004-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0004-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0024-0004-Stop_command07]
+Pause=TRUE
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_mono_dinner_bell.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_mono_drums.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0003-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0003-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0003-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0003-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_mono_flute.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0004-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0004-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0004-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0004-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_mono_jingle_bells.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0005-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0005-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0005-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0005-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_mono_speech2.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0006-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0006-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0006-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0025-0006-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_mono_Camera.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0002-SetConfigL_command05]
+Channels= EMMFMono
+Rate= EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0026-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech2.awb
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0001-SetConfigL_command05]
+Channels= EMMFMono
+Rate= EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0002-SetConfigL_command05]
+Channels= EMMFStereo
+Rate= EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0027-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate32000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_32k_16b_signed_st_Test1.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0028-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_st_Test2.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0029-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0030-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_st_Test2.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0031-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_320kbps_st_Test3.mp3
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0032-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0033-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_mono_Test1.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_16k_16b_signed_mono_Test2.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0003-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0003-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0003-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0034-0003-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_16k_16b_signed_st_Test2.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_mono_Test1.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_mono_Test2.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0003-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0003-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0003-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0035-0003-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_st_Test2.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_mono_Test1.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0002-SetConfigL_command05]
+Channels= EMMFMono
+Rate= EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_mono_Test1.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0003-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0003-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0003-SetConfigL_command05]
+Channels= EMMFStereo
+Rate= EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0036-0003-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0001-SetConfigL_command05]
+Channels= EMMFMono
+Rate= EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_mono_Test1.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0002-SetConfigL_command05]
+Channels= EMMFMono
+Rate= EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_8k_16b_signed_mono_Test1.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0003-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0003-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0003-SetConfigL_command05]
+Channels= EMMFMono
+Rate= EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0037-0003-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_8k_16b_signed_st_Test1.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0001-SetConfigL_command05]
+Channels= EMMFStereo
+Rate= EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_st_Test5.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0002-SetConfigL_command05]
+Channels= EMMFMono
+Rate= EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_16k_16b_signed_mono_Test2.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0003-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0003-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0003-SetConfigL_command05]
+Channels= EMMFStereo
+Rate= EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0038-0003-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_16k_16b_signed_st_Test2.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0001-SetConfigL_command05]
+Channels= EMMFStereo
+Rate= EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_st_Test5.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0002-SetConfigL_command05]
+Channels= EMMFMono
+Rate= EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_mono_Test2.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0003-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0003-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0003-SetConfigL_command05]
+Channels= EMMFStereo
+Rate= EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0039-0003-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_st_Test2.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0001-SetConfigL_command05]
+Channels= EMMFStereo
+Rate= EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_st_Test5.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0002-SetConfigL_command05]
+Channels= EMMFMono
+Rate= EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_mono_Test1.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0003-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0003-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0003-SetConfigL_command05]
+Channels= EMMFStereo
+Rate= EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0040-0003-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0001-SetConfigL_command05]
+Channels= EMMFStereo
+Rate= EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_st_Test5.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0002-SetConfigL_command05]
+Channels= EMMFMono
+Rate= EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_8k_16b_signed_mono_Test1.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0003-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0003-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0003-SetConfigL_command05]
+Channels= EMMFStereo
+Rate= EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0041-0003-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_8k_16b_signed_st_Test1.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0001-SetVolume_command08]
+Volume = 100
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0001-SetVolume_command09]
+Volume = 50
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_st_Test5.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0002-SetVolume_command08]
+Volume = 0
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0042-0002-SetVolume_command09]
+Volume = 50
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0043-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test4.mp3
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityUnknownVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceUnknownVoipCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0044-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityMobileTV}
+Preference = {PriorityPreference,PriorityPreferenceMobileTV}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0001-SetConfigL_command05]
+Channels=EMMFStereo
+Rate= EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC=MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0002-SetConfigL_command05]
+Channels=EMMFStereo
+Rate= EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0045-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_160-256kbps_st_Test1.mp3
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC=MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityMobileTV}
+Preference={PriorityPreference,PriorityPreferenceMobileTV}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0001-SetConfigL_command05]
+Channels=EMMFStereo
+Rate=EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC=AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0002-SetPrioritySettings_command03]
+Priority={Priority,PriorityPocCallDown}
+Preference={PriorityPreference,PriorityPreferencePocCallDown}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0002-SetConfigL_command05]
+Channels=EMMFMono
+Rate=EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0046-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0047-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0048-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0049-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_backwards.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test2.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0001-SetVolume_command08]
+Volume = 100
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0001-SetVolume_command09]
+Volume = 50
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_128kbps_st_Test5.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0002-SetVolume_command08]
+Volume = 0
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0050-0002-SetVolume_command09]
+Volume = 50
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityPocCallDown}
+Preference= {PriorityPreference,PriorityPreferencePocCallDown}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0051-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityReceivedSMS}
+Preference= {PriorityPreference,PriorityPreferenceReceivedSMS}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0002-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityPocCallDown}
+Preference= {PriorityPreference,PriorityPreferencePocCallDown}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0052-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityPocCallDown}
+Preference = {PriorityPreference,PriorityPreferencePocCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0001-OpenFile_command06]
+Filename ={drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0002-OpenFile_command06]
+Filename ={drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0053-0002-Stop_command07]
+Pause=TRUE
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityPocCallDown}
+Preference = {PriorityPreference,PriorityPreferencePocCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0001-OpenFile_command06]
+Filename ={drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0002-OpenFile_command06]
+Filename ={drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pp-0054-0002-Stop_command07]
+Pause=TRUE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-comb_pr.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1769 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsound.ini
+file2=\multimedia\mmf\devsound\t_devsound_environment.ini
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\Recording\PlayMP3DuringRecAMRNB.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\PlayMP3DuringRecAMRNB.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0001-0002-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\IncomingCallDuringRecAMRNB.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0001-OpenFile_command12]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\IncomingCallDuringRecAMRNB.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0002-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0002-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\Recording\MixingRuleSR.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0001-OpenFile_command14]
+Filename={drive,mmc}\multimedia\mmf\devsound\Recording\MixingRuleSR.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0003-0002-OpenFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0001-OpenFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\Recording\PlayPCMDuringPlayRec.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-SetPrioritySettings_command11]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0002-OpenFile_command14]
+Filename={drive,mmc}\multimedia\mmf\devsound\Recording\PlayPCMDuringPlayRec.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0003-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0003-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0003-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0004-0003-OpenFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0001-SetConfigL_command05]
+Channels= EMMFMono
+Rate= EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-InitializeL_command02]
+Mode= EMMFStateRecording
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityVoiceRecording}
+Preference= {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState= EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-ReplaceFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayAMRWBWithRecAMRNB.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-InitializeL_command10]
+Mode= EMMFStatePlaying
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-SetPrioritySettings_command11]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0005-0002-OpenFile_command14]
+Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayAMRWBWithRecAMRNB.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-InitializeL_command02]
+Mode= EMMFStateRecording
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityVoiceRecording}
+Preference= {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState= EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-ReplaceFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayAMRWBWithRecAMRNB.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-InitializeL_command10]
+Mode= EMMFStatePlaying
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-SetPrioritySettings_command11]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0006-0002-OpenFile_command14]
+Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayAMRWBWithRecAMRNB.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-InitializeL_command02]
+Mode= EMMFStateRecording
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityVoiceRecording}
+Preference= {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState= EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-ReplaceFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayMP3WithRecAMRWB.awb
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-InitializeL_command10]
+Mode= EMMFStatePlaying
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-SetPrioritySettings_command11]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0007-0002-OpenFile_command14]
+Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayMP3WithRecAMRWB.awb
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceNone}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0001-SetConfigL_command05]
+Channels= EMMFStereo
+Rate= EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_8k_16b_signed_st_Test1.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-InitializeL_command02]
+Mode= EMMFStateRecording
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityVoiceRecording}
+Preference= {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState= EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-ReplaceFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\codec_mixing\MixPlayPCMWithRecPCM.pcm
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-InitializeL_command10]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-SetPrioritySettings_command11]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-SetConfigL_command13]
+Channels= EMMFMono
+Rate= EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0008-0002-OpenFile_command14]
+Filename= {drive,mmc}\multimedia\mmf\devsound\codec_mixing\MixPlayPCMWithRecPCM.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallUp}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayMP3DuringVoIPCallAMRWB.awb
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0002-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayMP3DuringVoIPCallAMRWB.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0003-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0003-SetPrioritySettings_command03]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0003-SetConfigL_command05]
+Channels = EMMFStereo
+Rate =EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0009-0003-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallUp}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\PlaySWISAndRecAMRNBDuringVoIPCall1.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0002-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\PlaySWISAndRecAMRNBDuringVoIPCall1.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0003-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0003-SetPrioritySettings_command03]
+Priority = {Priority,PrioritySWISPlayback}
+Preference = {PriorityPreference,PriorityPreferenceSWISPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0003-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0003-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\PlaySWISAndRecAMRNBDuringVoIPCall2.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-SetPrioritySettings_command11]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0010-0004-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\PlaySWISAndRecAMRNBDuringVoIPCall2.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallUp}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRNB1.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRNB1.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-InitializeL_command17]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-SetPrioritySettings_command18]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-SetConfigL_command20]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0002-OpenFile_command21]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRNB2.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0003-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0003-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0003-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0011-0003-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRNB2.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallUp}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRWB.awb
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRWB.awb
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-InitializeL_command17]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-SetPrioritySettings_command18]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-SetConfigL_command20]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0002-OpenFile_command21]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRWB.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0003-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0003-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0003-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0012-0003-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\RecAMRNBDuringVoIPCallAMRNB2.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0002-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0002-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallUp}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\VoIPCallDuringPlayMP3.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0013-0003-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\VoIPCallDuringPlayMP3.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallUp}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\VoIPCallDuringVoIPCall1.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0002-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\VoIPCallDuringVoIPCall1.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0003-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0003-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0003-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0003-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_backwards.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallUp}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\VoIPCallDuringVoIPCall2.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0014-0004-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\voip_call\VoIPCallDuringVoIPCall2.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayAMRNBWithRecAMRNB.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0015-0002-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixPlayAMRNBWithRecAMRNB.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0001-ReplaceFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRNBWithRecAMRNB1.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0001-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0001-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0001-InitializeL_command09]
+Mode = EMMFStatePlaying
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0001-SetConfigL_command11]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0001-SetPrioritySettings_command12]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-ReplaceFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRNBWithRecAMRNB2.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-OpenFile_command11]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRNBWithRecAMRNB2.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-SetConfigL_command14]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0016-0002-SetPrioritySettings_command15]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0001-ReplaceFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRWBWithRecAMRNB.awb
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0001-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0001-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0001-InitializeL_command09]
+Mode = EMMFStatePlaying
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0001-SetConfigL_command11]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0001-SetPrioritySettings_command12]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-ReplaceFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRWBWithRecAMRNB.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-OpenFile_command11]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRWBWithRecAMRNB.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-SetConfigL_command14]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0017-0002-SetPrioritySettings_command15]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0001-ReplaceFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRWBWithRecAMRWB1.awb
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0001-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0001-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0001-InitializeL_command09]
+Mode = EMMFStatePlaying
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0001-SetConfigL_command11]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0001-SetPrioritySettings_command12]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-ReplaceFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRWBWithRecAMRWB2.awb
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-OpenFile_command11]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecAMRWBWithRecAMRWB2.awb
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-SetConfigL_command14]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0018-0002-SetPrioritySettings_command15]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallUp}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\GainVoIPCall.amr
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-SetGain_command09]
+Gain = 0
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-SetGain_command10]
+Gain = 1
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-InitializeL_command13]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-SetPrioritySettings_command14]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-SetConfigL_command15]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0019-0002-OpenFile_command16]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\GainVoIPCall.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallUp}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayMP3DuringVoIPCallAMRNB.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0002-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayMP3DuringVoIPCallAMRNB.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0003-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0003-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0003-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0020-0003-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallUp}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayPCMDuringVoIPCallAMRNB.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0002-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayMP3DuringVoIPCallAMRNB.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0003-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0003-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0003-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0021-0003-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_8k_16b_signed_st_Test1.pcm
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallUp}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayMP3DuringVoIPCallAMRNB.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0022-0002-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayMP3DuringVoIPCallAMRNB.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallUp}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\VoIPCallAMRNB.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0023-0002-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\VoIPCallAMRNB.amr
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallUp}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\CalendarAlarmDuringVoIPCall.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0002-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\CalendarAlarmDuringVoIPCall.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0003-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0003-SetPrioritySettings_command03]
+Priority = {Priority,PriorityCalendarAlarm}
+Preference = {PriorityPreference,PriorityPreferenceCalendarAlarm}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0003-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0024-0003-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallUp}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayDTMFDuringWBVoIPCallNonSignaling.awb
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0002-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayDTMFDuringWBVoIPCallNonSignaling.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0003-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC = none
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0003-SetPrioritySettings_command03]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState = EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0025-0003-PlayToneSequenceL_command04]
+Filename = {drive,mmc}\multimedia\mmf\devsound\NRT\Nokia_ringing_tone.nrt
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0001-ReplaceFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecPCMWithRecPCM1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0001-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0001-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0001-InitializeL_command09]
+Mode = EMMFStatePlaying
+FourCC= P16
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0001-SetConfigL_command11]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0001-SetPrioritySettings_command12]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-ReplaceFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecPCMWithRecPCM2.pcm
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-OpenFile_command11]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\MixRecPCMWithRecPCM2.pcm
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-SetConfigL_command14]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0026-0002-SetPrioritySettings_command15]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityPocCallDown}
+Preference= {PriorityPreference,PriorityPreferencePocCallDown}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0002-InitializeL_command02]
+Mode= EMMFStateRecording
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityVoiceRecording}
+Preference= {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState= EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pr-0027-0002-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecAMRNBDuringPoCDownlink.amr
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-comb_pt.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,410 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsound.ini
+file2=\multimedia\mmf\devsound\t_devsound_environment.ini
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0001-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0001-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityCalendarAlarm}
+Preference = {PriorityPreference,PriorityPreferenceClockAlarm}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0001-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0001-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0001-0002-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0001-0002-SetPrioritySettings_command03]
+Priority={Priority,PriorityCalendarAlarm}
+Preference={PriorityPreference,PriorityPreferenceCalendarAlarm}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0001-0002-PlayToneSequenceL_command04]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0002-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0002-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0002-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0002-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0002-0002-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0002-0002-SetPrioritySettings_command03]
+Priority={Priority,PriorityCalendarAlarm}
+Preference={PriorityPreference,PriorityPreferenceCalendarAlarm}
+PriorityState=EMMFStateTonePlaying
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0002-0002-PlayToneSequenceL_command05]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0002-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0002-SetDTMFLengths_command04]
+ToneOnLength = 300000
+ToneOffLength = 100000
+PauseLength = 100000
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0003-0002-PlayDTMFStringL_command05]
+DTMFString = 1234567890
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0002-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0002-Stop_command04]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0002-SetToneRepeats_command05]
+RepeatCount = 5
+RepeatTrailingSilence = 0
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0004-0002-PlayToneSequenceL_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko.nrt
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0005-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0005-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityClockAlarm}
+Preference= {PriorityPreference,PriorityPreferenceClockAlarm}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0005-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0005-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0005-0002-InitializeL_command02]
+Mode= EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0005-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityReceivedSMS}
+Preference= {PriorityPreference,PriorityPreferenceReceivedSMS}
+PriorityState= EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0005-0002-PlayToneSequenceL_command05]
+Filename= {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0006-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0006-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0006-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0006-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0006-0002-InitializeL_command02]
+Mode= EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0006-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityReceivedSMS}
+Preference= {PriorityPreference,PriorityPreferenceReceivedSMS}
+PriorityState= EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0006-0002-PlayToneSequenceL_command04]
+Filename= {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0007-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0007-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityIncomingCall}
+Preference= {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0007-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0007-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0007-0002-InitializeL_command02]
+Mode= EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0007-0002-SetPrioritySettings_command03]
+Priority= {Priority,PriorityReceivedSMS}
+Preference= {PriorityPreference,PriorityPreferenceReceivedSMS}
+PriorityState= EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0007-0002-PlayToneSequenceL_command05]
+Filename= {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0008-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0008-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0008-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0008-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0008-0002-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0008-0002-SetPrioritySettings_command03]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0008-0002-PlayToneSequenceL_command04]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko.nrt
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallDown}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-WB\AMRWB_16k_23.85kbps_mono_speech.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoipCallUp}
+Preference = {PriorityPreference,PriorityPreferenceVoipCallUp}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayDTMFDuringWBVoIPCallNonSignaling.awb
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0002-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\PlayDTMFDuringWBVoIPCallNonSignaling.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0003-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= none
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0003-SetPrioritySettings_command03]
+Priority = {Priority,PriorityDTMFKeyPress}
+Preference = {PriorityPreference,PriorityPreferenceDTMFKeyPress}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0003-SetDTMFLengths_command04]
+ToneOnLength = 300000
+ToneOffLength = 100000
+PauseLength = 100000
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0003-PlayDTMFStringL_command05]
+DTMFString = 1234567890
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0003-SetDTMFLengths_command06]
+ToneOnLength = 300000
+ToneOffLength = 100000
+PauseLength = 100000
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0009-0003-PlayDTMFStringL_command07]
+DTMFString = 1234567890
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0010-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0010-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0010-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityMobileTV}
+Preference ={PriorityPreference,PriorityPreferenceMobileTV}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0010-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0010-0002-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0010-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityReceivedSMS}
+Preference = {PriorityPreference,PriorityPreferenceReceivedSMS}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Pt-0010-0002-PlayToneSequenceL_command04]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-comb_rr.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,65 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsound.ini
+file2=\multimedia\mmf\devsound\t_devsound_environment.ini
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\Recording\SizeMixingRuleSR.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0001-OpenFile_command14]
+Filename={drive,mmc}\multimedia\mmf\devsound\Recording\SizeMixingRuleSR.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0002-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0002-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rr-0001-0002-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\Recording\SizeMixingRuleSR.pcm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-comb_rt.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,229 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsound.ini
+file2=\multimedia\mmf\devsound\t_devsound_environment.ini
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\CalendarAlarmDuringRecAMRNB.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-SetConfigL_command12]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0001-OpenFile_command13]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\CalendarAlarmDuringRecAMRNB.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0002-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC=ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityCalendarAlarm}
+Preference = {PriorityPreference,PriorityPreferenceCalendarAlarm}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0001-0002-PlayToneSequenceL_command04]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\PlayDTMFDuringRecPCM.pcm
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0001-OpenFile_command14]
+Filename =  {drive,mmc}\multimedia\mmf\devsound\Recording\PlayDTMFDuringRecPCM.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0002-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0002-SetDTMFLengths_command04]
+ToneOnLength = 300000
+ToneOffLength = 100000
+PauseLength = 100000
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0002-PlayDTMFStringL_command05]
+DTMFString = 1234567890
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0002-SetDTMFLengths_command06]
+ToneOnLength = 300000
+ToneOffLength = 100000
+PauseLength = 100000
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0002-0002-PlayDTMFStringL_command07]
+DTMFString = 1234567890
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-ReplaceFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\IncomingSMSDuringRecAMRNB.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-OpenFile_command11]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\IncomingSMSDuringRecAMRNB.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-SetPrioritySettings_command13]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0001-SetConfigL_command15]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0002-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0002-Stop_command04]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0003-0002-PlayToneSequenceL_command05]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\Recording\MixingRuleSBR.amr
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0001-OpenFile_command14]
+Filename={drive,mmc}\multimedia\mmf\devsound\Recording\MixingRuleSBR.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0002-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0002-SetPrioritySettings_command03]
+Priority={Priority,PriorityCalendarAlarm}
+Preference={PriorityPreference,PriorityPreferenceCalendarAlarm}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Rt-0004-0002-PlayToneSequenceL_command04]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-comb_tt.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,128 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsound.ini
+file2=\multimedia\mmf\devsound\t_devsound_environment.ini
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0001-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0001-SetDTMFLengths_command04]
+ToneOnLength = 300000
+ToneOffLength = 100000
+PauseLength = 100000
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0001-PlayDTMFStringL_command05]
+DTMFString = 12345678901234567890
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0002-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0002-SetDTMFLengths_command04]
+ToneOnLength = 300000
+ToneOffLength = 100000
+PauseLength = 100000
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0001-0002-PlayDTMFStringL_command06]
+DTMFString = 09876543210987654321
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0001-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0001-PlayToneSequenceL_command05]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko.nrt
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0002-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0002-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceNone}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0002-PlayToneSequenceL_command05]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko2.nrt
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0003-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0003-SetPrioritySettings_command03]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0002-0003-PlayToneSequenceL_command04]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0003-0001-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0003-0001-SetPrioritySettings_command03]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0003-0001-PlayToneSequenceL_command04]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko.nrt
+
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0003-0002-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0003-0002-SetPrioritySettings_command03]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+
+[MULTIMEDIA-MMF-DevSound-Comb_Tt-0003-0002-PlayToneSequenceL_command05]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko2.nrt
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-playback.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,2098 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsound.ini
+file2=\multimedia\mmf\devsound\t_devsound_environment.ini
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0001-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Playback-0001-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0001-0001-SetConfigL_command05]
+Channels=EMMFMono
+Rate=EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0001-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_0x01_mono.amr
+
+[MULTIMEDIA-MMF-DevSound-Playback-0001-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0002-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Playback-0002-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0002-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0002-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0003-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Playback-0003-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0003-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0003-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_0x01_mono.amr
+
+[MULTIMEDIA-MMF-DevSound-Playback-0003-0001-Stop_command08]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Playback-0003-0001-Stop_command16]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0004-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Playback-0004-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0004-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0004-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_0x01_mono.amr
+
+[MULTIMEDIA-MMF-DevSound-Playback-0004-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0005-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+HwDevice = {DecoderHwDevice,AMRNB}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0005-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0005-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0005-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr
+
+[MULTIMEDIA-MMF-DevSound-Playback-0005-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0006-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Playback-0006-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0006-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0006-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0007-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Playback-0007-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0007-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0007-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_12.2kbps_mono_speech_dtx_on.amr
+
+[MULTIMEDIA-MMF-DevSound-Playback-0007-0001-Stop_command08]
+Pause =TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0008-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC= AMR
+
+[MULTIMEDIA-MMF-DevSound-Playback-0008-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0008-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0008-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_5.15kbps_mono_speech.amr
+
+[MULTIMEDIA-MMF-DevSound-Playback-0008-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0009-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Playback-0009-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0009-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0009-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_VBR_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0010-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Playback-0010-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0010-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0010-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-nb\AMRNB_8k_VBR_mono_speech_dtx_on.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0011-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Playback-0011-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0011-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0011-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb
+
+[MULTIMEDIA-MMF-DevSound-Playback-0011-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0012-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Playback-0012-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityNormal}
+Preference= {PriorityPreference,PriorityPreferenceQuality}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0012-0001-SetConfigL_command05]
+Channels= EMMFMono
+Rate= EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0012-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0013-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Playback-0013-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0013-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0013-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb
+
+[MULTIMEDIA-MMF-DevSound-Playback-0013-0001-Stop_command08]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Playback-0013-0001-Stop_command16]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0014-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Playback-0014-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0014-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0014-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb
+
+[MULTIMEDIA-MMF-DevSound-Playback-0014-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0015-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+HwDevice = {DecoderHwDevice,AMRWB}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0015-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0015-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0015-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb
+
+[MULTIMEDIA-MMF-DevSound-Playback-0015-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0016-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Playback-0016-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0016-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0016-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0017-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Playback-0017-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0017-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0017-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_23.85kbps_mono_speech.awb
+
+[MULTIMEDIA-MMF-DevSound-Playback-0017-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0018-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= AWB
+
+[MULTIMEDIA-MMF-DevSound-Playback-0018-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0018-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0018-0001-OpenFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_8.85kbps_mono_speech.awb
+
+[MULTIMEDIA-MMF-DevSound-Playback-0018-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0019-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Playback-0019-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0019-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0019-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_VBR_mono_speech.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0020-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Playback-0020-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0020-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0020-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_VBR_mono_speech_dtx_on.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0021-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+HwDevice = {DecoderHwDevice,G711}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0021-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0021-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0021-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\G711\G711_8k_8b_signed_mono_alaw.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0023-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = G729
+
+[MULTIMEDIA-MMF-DevSound-Playback-0023-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0023-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0023-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_off.bin
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0024-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC = G729
+
+[MULTIMEDIA-MMF-DevSound-Playback-0024-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0024-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0024-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_on.bin
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0025-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+HwDevice ={DecoderHwDevice,G729AB}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0025-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0025-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0025-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_on.bin
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0026-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC = G729
+
+[MULTIMEDIA-MMF-DevSound-Playback-0026-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0026-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0026-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_on.bin
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0027-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC = G729
+
+[MULTIMEDIA-MMF-DevSound-Playback-0027-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0027-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0027-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_on.bin
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0028-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+HwDevice = {DecoderHwDevice,ILBC}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0028-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0028-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0028-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\iLBC\iLBC_8k_15.20kbps_mono.bin
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0031-0001-NewL_command01]
+RepUID={RepositoryID,UidVibraCtrl}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0031-0001-Set_command02]
+ItemID={ItemsID,IdVibraEnabled}
+SetValue={DataID,On}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0031-0001-OpenFile_command04]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0031-0001-InitializeL_command05]
+Mode = EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0031-0001-SetPrioritySettings_command06]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0031-0001-SetConfigL_command08]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0031-0001-Set_command10]
+ItemID={ItemsID,IdVibraEnabled}
+SetValue={DataID,Off}
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0032-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0032-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0032-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate11025Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0032-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_11.025k_40kbps_mono_Queen.mp3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0032-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0033-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0033-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0033-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0033-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_16k_96-160kbps_mono_Queen.mp3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0033-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0034-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0034-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0034-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate22050Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0034-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_22.05k_64kbps_joint_st_Kilpi.mp3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0034-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0035-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0035-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0035-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate24000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0035-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_24k_160kbps_st_Test2.mp3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0035-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0036-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0036-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0036-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate32000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0036-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_32k_48-192kbps_st_Test1.mp3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0036-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0037-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0037-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0037-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0037-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0037-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0038-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0038-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0038-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0038-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test4.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0039-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0039-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0039-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0039-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_160-256kbps_st_Test1.mp3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0039-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0040-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0040-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0040-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0040-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_320kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0040-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0041-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0041-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0041-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0041-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_320kbps_st_Queen.MP3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0042-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0042-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0042-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0042-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_320kbps_st_Queen.MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0042-0001-Stop_command08]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Playback-0042-0001-Stop_command16]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0043-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0043-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0043-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0043-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_320kbps_st_Queen.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0044-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+HwDevice = {DecoderHwDevice,MP3}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0044-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0044-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0044-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_320kbps_st_Queen.mp3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0044-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0045-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0045-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0045-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0045-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_320kbps_st_Queen.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0046-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0046-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0046-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate11025Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0046-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_11.025k_16b_signed_mono_Dire.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0046-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0047-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0047-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0047-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate11025Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0047-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_11.025k_16b_signed_st_Test2.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0047-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0048-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0048-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0048-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate12000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0048-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_12k_16b_signed_mono_Dire.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0048-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0049-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0049-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0049-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate12000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0049-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_12k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0049-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0050-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0050-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0050-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0050-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_16k_16b_signed_mono_Dire.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0050-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0051-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0051-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0051-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0051-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_16k_16b_signed_st_Test2.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0051-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0052-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0052-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0052-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate22050Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0052-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_22.05k_16b_signed_mono_Dire.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0052-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0053-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0053-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0053-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate22050Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0053-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_22.05k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0053-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0054-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0054-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0054-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate24000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0054-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_24k_16b_signed_mono_Dire.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0054-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0055-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0055-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0055-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate24000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0055-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_24k_16b_signed_st_Test2.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0055-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0056-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0056-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0056-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate32000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0056-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_32k_16b_signed_mono_Dire.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0056-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0057-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0057-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0057-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate32000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0057-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_32k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0057-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0058-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0058-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0058-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0058-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_44.1k_16b_signed_mono_Dire.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0058-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0059-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0059-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0059-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0059-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_st_Test2.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0059-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0060-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0060-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0060-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0060-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_st_Dire.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0060-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0061-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0061-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0061-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0061-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0061-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0062-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0062-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0062-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0062-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_st_Dire.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0063-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0063-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0063-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0063-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_48k_16b_signed_st_Dire.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0064-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0064-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0064-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0064-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_8k_16b_signed_mono_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0064-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0065-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0065-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0065-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0065-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_8k_16b_signed_mono_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0065-0001-Stop_command08]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Playback-0065-0001-Stop_command16]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0066-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+HwDevice = {DecoderHwDevice,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0066-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0066-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0066-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_8k_16b_signed_mono_speech.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0066-0001-Stop_command08]
+
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0067-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0067-0001-OpenFile_command03]
+Filename = {drive,mmc}\multimedia\mmf\devsound\pcm\PCM_8k_16b_signed_mono_speech.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0068-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0068-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0068-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0068-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_8k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0068-0001-Stop_command08]
+Pause=TRUE
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0069-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0069-0001-SetPrioritySettings_command03]
+Priority ={Priority,PriorityAudioPlayback}
+Preference ={PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0069-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0069-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0070-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0070-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0070-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0070-0001-InitializeL_command07]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0070-0001-SetPrioritySettings_command08]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0070-0001-SetConfigL_command10]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0070-0001-OpenFile_command11]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0070-0001-OpenFile_command13]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_320kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0071-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0071-0001-SetPrioritySettings_command03]
+Priority ={Priority,PriorityIncomingCall}
+Preference ={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0071-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0071-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_Test3.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0072-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Playback-0072-0001-SetPrioritySettings_command03]
+Priority ={Priority,PriorityPocCallDown}
+Preference ={PriorityPreference,PriorityPreferencePocCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0072-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0072-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0073-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0073-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0073-0001-SetPrioritySettings_command04]
+Priority={Priority,PriorityCameraTone}
+Preference={PriorityPreference,PriorityPreferenceCameraTone}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0073-0001-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0074-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0074-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0074-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0074-0001-OpenFile_command06]
+Filename ={drive,mmc}\multimedia\mmf\devsound\MP3\MP3_44.1k_128kbps_st_long.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0075-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0075-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0075-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0075-0001-OpenFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\MP3\MP3_48k_320kbps_st_Test3.mp3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0075-0001-SetVolume_command07]
+Volume = 50
+
+[MULTIMEDIA-MMF-DevSound-Playback-0075-0001-SetPlayBalanceL_command09]
+LeftPercentage = 90
+RightPercentage = 10
+
+[MULTIMEDIA-MMF-DevSound-Playback-0075-0001-SetPlayBalanceL_command10]
+LeftPercentage = 10
+RightPercentage = 90
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0076-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0076-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0076-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate22050Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0076-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_22.05k_16b_signed_st_Test1.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0077-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0077-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0077-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate22050Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0077-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_22.05k_16b_signed_st_Test1.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState =EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetConfigL_command05]
+Channels=EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-OpenFile_command06]
+Filename={drive,mmc}\multimedia\MMF\DEVSOUND\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command08]
+Volume=60
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command09]
+Volume=70
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command10]
+Volume=80
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command11]
+Volume=90
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command12]
+Volume=100
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command13]
+Volume=90
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command14]
+Volume=80
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command15]
+Volume=70
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command16]
+Volume=60
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command17]
+Volume=50
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command18]
+Volume=40
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command19]
+Volume=30
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command20]
+Volume=20
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command21]
+Volume=10
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command22]
+Volume=0
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command23]
+Volume=10
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command24]
+Volume=20
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command25]
+Volume=30
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command26]
+Volume=40
+
+[MULTIMEDIA-MMF-DevSound-Playback-0078-0001-SetVolume_command27]
+Volume=50
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC= {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState =EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetConfigL_command05]
+Channels=EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-OpenFile_command06]
+Filename={drive,mmc}\multimedia\MMF\DEVSOUND\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command08]
+Volume=50
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command09]
+Volume=55
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command10]
+Volume=60
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command11]
+Volume=65
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command12]
+Volume=70
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command13]
+Volume=75
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command14]
+Volume=80
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command15]
+Volume=85
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command16]
+Volume=90
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command17]
+Volume=95
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command18]
+Volume=100
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command19]
+Volume=95
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command20]
+Volume=90
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command21]
+Volume=85
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command22]
+Volume=80
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command23]
+Volume=75
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command24]
+Volume=70
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command25]
+Volume=65
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command26]
+Volume=60
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command27]
+Volume=55
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command28]
+Volume=50
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command29]
+Volume=45
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command30]
+Volume=40
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command31]
+Volume=35
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command32]
+Volume=30
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command33]
+Volume=25
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command34]
+Volume=20
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command35]
+Volume=15
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command36]
+Volume=10
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command37]
+Volume=5
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command38]
+Volume=0
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command39]
+Volume=5
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command40]
+Volume=10
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command41]
+Volume=15
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command42]
+Volume=20
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command43]
+Volume=25
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command44]
+Volume=30
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command45]
+Volume=35
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command46]
+Volume=40
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command47]
+Volume=45
+
+[MULTIMEDIA-MMF-DevSound-Playback-0079-0001-SetVolume_command48]
+Volume=50
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState =EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetConfigL_command05]
+Channels=EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-OpenFile_command06]
+Filename={drive,mmc}\multimedia\MMF\DEVSOUND\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command08]
+Volume=50
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command09]
+Volume=55
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command10]
+Volume=60
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command11]
+Volume=65
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command12]
+Volume=70
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command13]
+Volume=75
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command14]
+Volume=80
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command15]
+Volume=85
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command16]
+Volume=90
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command17]
+Volume=95
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command18]
+Volume=100
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command19]
+Volume=95
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command20]
+Volume=90
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command21]
+Volume=85
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command22]
+Volume=80
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command23]
+Volume=75
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command24]
+Volume=70
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command25]
+Volume=65
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command26]
+Volume=60
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command27]
+Volume=55
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command28]
+Volume=50
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command29]
+Volume=45
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command30]
+Volume=40
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command31]
+Volume=35
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command32]
+Volume=30
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command33]
+Volume=25
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command34]
+Volume=20
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command35]
+Volume=15
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command36]
+Volume=10
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command37]
+Volume=5
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command38]
+Volume=0
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command39]
+Volume=5
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command40]
+Volume=10
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command41]
+Volume=15
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command42]
+Volume=20
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command43]
+Volume=25
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command44]
+Volume=30
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command45]
+Volume=35
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command46]
+Volume=40
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command47]
+Volume=45
+
+[MULTIMEDIA-MMF-DevSound-Playback-0080-0001-SetVolume_command48]
+Volume=50
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0081-0001-InitializeL_command03]
+Mode=EMMFStatePlaying
+FourCC=MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0081-0001-SetPrioritySettings_command04]
+Priority ={Priority,PriorityAudioPlayback}
+Preference={PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0081-0001-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0081-0001-InitializeL_command07]
+Mode=EMMFStatePlaying
+FourCC=MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0081-0001-SetPrioritySettings_command08]
+Priority ={Priority,PriorityAudioPlayback}
+Preference={PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0081-0001-SetConfigL_command10]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0081-0001-OpenFile_command11]
+Filename={drive,mmc}\multimedia\MMF\DEVSOUND\MP3\MP3_11.025k_40kbps_mono_Test2.mp3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0081-0001-OpenFile_command12]
+Filename={drive,mmc}\multimedia\MMF\DEVSOUND\MP3\MP3_44.1k_128kbps_st_Queen.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0082-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC =MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0082-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityIncomingCall}
+Preference = {PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState =EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0082-0001-SetConfigL_command05]
+Channels=EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0082-0001-OpenFile_command06]
+Filename={drive,mmc}\multimedia\MMF\DEVSOUND\MP3\MP3_44.1k_128kbps_st_Queen.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0083-0001-InitializeL_command02]
+Mode=EMMFStatePlaying
+FourCC =MP3
+
+[MULTIMEDIA-MMF-DevSound-Playback-0083-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityReceivedSMS}
+Preference = {PriorityPreference,PriorityPreferenceReceivedSMS}
+PriorityState =EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0083-0001-SetConfigL_command05]
+Channels=EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0083-0001-OpenFile_command06]
+Filename={drive,mmc}\multimedia\MMF\DEVSOUND\MP3\MP3_44.1k_128kbps_st_Queen.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0084-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_48k_16b_signed_st_Test1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Playback-0084-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = P16
+
+[MULTIMEDIA-MMF-DevSound-Playback-0084-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityMobileTV}
+Preference = {PriorityPreference,PriorityPreferenceMobileTV}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0084-0001-SetConfigL_command06]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0085-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Playback-0085-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityPocCallDown}
+Preference = {PriorityPreference,PriorityPreferencePocCallDown}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0085-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0085-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0086-0001-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Playback-0086-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityPocCallUp}
+Preference = {PriorityPreference,PriorityPreferencePocCallUp}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Playback-0086-0001-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0086-0001-InitializeL_command07]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Playback-0086-0001-SetPrioritySettings_command08]
+Priority = {Priority,PriorityPocCallDown}
+Preference = {PriorityPreference,PriorityPreferencePocCallDown}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0086-0001-SetConfigL_command10]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0086-0001-ReplaceFile_command11]
+Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\PoCCallPlayRepeated.amr
+
+[MULTIMEDIA-MMF-DevSound-Playback-0086-0001-OpenFile_command14]
+Filename= {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+[MULTIMEDIA-MMF-DevSound-Playback-0086-0001-InitializeL_command24]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Playback-0086-0001-SetPrioritySettings_command25]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0086-0001-SetConfigL_command27]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0086-0001-OpenFile_command28]
+Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\PoCCallPlayRepeated.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0087-0001-OpenFile_command02]
+Filename = {drive,mmc}\multimedia\mmf\devsound\G729AB\G729AB_8k_8kbps_mono_dtx_on.bin
+
+[MULTIMEDIA-MMF-DevSound-Playback-0087-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = G729
+
+[MULTIMEDIA-MMF-DevSound-Playback-0087-0001-SetPrioritySettings_command04]
+Priority =  {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0087-0001-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0088-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Playback-0088-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0088-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0088-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_VBR_mono_speech_dtx_on.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0089-0001-InitializeL_command02]
+Mode= EMMFStatePlaying
+FourCC= {SpecialFourCC, RAW}
+
+[MULTIMEDIA-MMF-DevSound-Playback-0089-0001-SetPrioritySettings_command03]
+Priority= {Priority,PriorityAudioPlayback}
+Preference= {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState= EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0089-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0089-0001-OpenFile_command06]
+Filename= {drive,mmc}\multimedia\mmf\devsound\PCM\PCM_44.1k_16b_signed_st_freq_sweep.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Playback-0090-0001-InitializeL_command02]
+Mode = EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Playback-0090-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Playback-0090-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Playback-0090-0001-OpenFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\amr-wb\AMRWB_16k_VBR_mono_speech_dtx_on.awb
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-recording.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1321 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsound.ini
+file2=\multimedia\mmf\devsound\t_devsound_environment.ini
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0001-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Recording-0001-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0001-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0001-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecAMR_pause.amr
+
+[MULTIMEDIA-MMF-DevSound-Recording-0001-0001-Stop_command08]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Recording-0001-0001-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Recording-0001-0001-SetPrioritySettings_command13]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0001-0001-SetConfigL_command15]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0001-0001-OpenFile_command16]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecAMR_pause.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0002-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Recording-0002-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0002-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0002-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecAWB_pause.awb
+
+[MULTIMEDIA-MMF-DevSound-Recording-0002-0001-Stop_command08]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Recording-0002-0001-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC = AWB
+
+[MULTIMEDIA-MMF-DevSound-Recording-0002-0001-SetPrioritySettings_command13]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0002-0001-SetConfigL_command15]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0002-0001-OpenFile_command16]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecAWB_pause.awb
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0003-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = G711
+
+[MULTIMEDIA-MMF-DevSound-Recording-0003-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0003-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0003-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecG711_pause.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0003-0001-Stop_command08]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Recording-0003-0001-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC = G711
+
+[MULTIMEDIA-MMF-DevSound-Recording-0003-0001-SetPrioritySettings_command13]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0003-0001-SetConfigL_command15]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0003-0001-OpenFile_command16]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecG711_pause.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0004-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = G729
+
+[MULTIMEDIA-MMF-DevSound-Recording-0004-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0004-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0004-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecG729_pause.bin
+
+[MULTIMEDIA-MMF-DevSound-Recording-0004-0001-Stop_command08]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Recording-0004-0001-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC = G729
+
+[MULTIMEDIA-MMF-DevSound-Recording-0004-0001-SetPrioritySettings_command13]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0004-0001-SetConfigL_command15]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0004-0001-OpenFile_command16]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecG729_pause.bin
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0005-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = ILBC
+
+[MULTIMEDIA-MMF-DevSound-Recording-0005-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0005-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0005-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecILBC_pause.bin
+
+[MULTIMEDIA-MMF-DevSound-Recording-0005-0001-Stop_command08]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Recording-0005-0001-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC = ILBC
+
+[MULTIMEDIA-MMF-DevSound-Recording-0005-0001-SetPrioritySettings_command13]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0005-0001-SetConfigL_command15]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0005-0001-OpenFile_command16]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecILBC_pause.bin
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0006-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0006-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0006-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0006-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecRAW_pause.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0006-0001-Stop_command08]
+Pause=TRUE
+
+[MULTIMEDIA-MMF-DevSound-Recording-0006-0001-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0006-0001-SetPrioritySettings_command13]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0006-0001-SetConfigL_command15]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0006-0001-OpenFile_command16]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecRAW_pause.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0007-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0007-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0007-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0007-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_16k_mono_10s.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0007-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0007-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0007-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0007-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_16k_mono_10s.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0008-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0008-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0008-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0008-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_16k_stereo_10s.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0008-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0008-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0008-0001-SetConfigL_command13]
+Channels = EMMFStereo
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0008-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_16k_stereo_10s.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0009-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0009-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0009-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate24000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0009-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_24k_mono_10s.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0009-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0009-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0009-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate24000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0009-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_24k_mono_10s.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0010-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0010-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0010-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate24000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0010-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_24k_stereo_10s.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0010-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0010-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0010-0001-SetConfigL_command13]
+Channels = EMMFStereo
+Rate = EMMFSampleRate24000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0010-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_24k_stereo_10s.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0011-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0011-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0011-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate32000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0011-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_32k_mono_10s.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0011-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0011-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0011-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate32000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0011-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_32k_mono_10s.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0012-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0012-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0012-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate32000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0012-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_32k_stereo_10s.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0012-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0012-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0012-0001-SetConfigL_command13]
+Channels = EMMFStereo
+Rate = EMMFSampleRate32000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0012-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_32k_stereo_10s.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0013-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0013-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0013-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0013-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_48k_mono_10s.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0013-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0013-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0013-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0013-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_48k_mono_10s.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0014-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0014-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0014-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0014-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_48k_stereo_10s.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0014-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0014-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0014-0001-SetConfigL_command13]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0014-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_48k_stereo_10s.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0015-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0015-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0015-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0015-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_8k_mono_10s.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0015-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0015-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0015-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0015-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_8k_mono_10s.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0016-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0016-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0016-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0016-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_8k_stereo_10s.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0016-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0016-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0016-0001-SetConfigL_command13]
+Channels = EMMFStereo
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0016-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecPCM_8k_stereo_10s.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0017-0001-InitializeL_command03]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0017-0001-SetPrioritySettings_command04]
+Priority ={Priority,PriorityPocCallUp}
+Preference = {PriorityPreference,PriorityPreferencePocCallUp}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0017-0001-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0017-0001-ReplaceFile_command07]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\PoCCallStressTest.amr
+
+[MULTIMEDIA-MMF-DevSound-Recording-0017-0001-InitializeL_command13]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Recording-0017-0001-SetPrioritySettings_command14]
+Priority ={Priority,PriorityPocCallDown}
+Preference = {PriorityPreference,PriorityPreferencePocCallDown}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0017-0001-SetConfigL_command16]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0017-0001-OpenFile_command17]
+Filename = {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0018-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0018-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0018-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0018-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec16kPCM.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0018-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0018-0001-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState =  EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0018-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0018-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec16kPCM.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0019-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0019-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0019-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0019-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec16kPCMStereo.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0019-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0019-0001-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState =  EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0019-0001-SetConfigL_command13]
+Channels = EMMFStereo
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0019-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec16kPCMStereo.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0020-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0020-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0020-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate24000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0020-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec24kPCM.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0020-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0020-0001-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState =  EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0020-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate24000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0020-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec24kPCM.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0021-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0021-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0021-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate24000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0021-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec24kPCMStereo.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0021-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0021-0001-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState =  EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0021-0001-SetConfigL_command13]
+Channels = EMMFStereo
+Rate = EMMFSampleRate24000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0021-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec24kPCMStereo.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0022-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0022-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0022-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate32000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0022-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec32kPCM.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0022-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0022-0001-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState =  EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0022-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate =EMMFSampleRate32000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0022-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec32kPCM.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0023-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0023-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0023-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate32000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0023-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec32kPCMStereo.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0023-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0023-0001-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState =  EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0023-0001-SetConfigL_command13]
+Channels = EMMFStereo
+Rate =EMMFSampleRate32000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0023-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec32kPCMStereo.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0024-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0024-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0024-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0024-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec48kPCM.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0024-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0024-0001-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState =  EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0024-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate =EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0024-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec48kPCM.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0025-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0025-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVideoRecording}
+Preference = {PriorityPreference,PriorityPreferenceVideoRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0025-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0025-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec48kPCMStereo.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0025-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0025-0001-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState =  EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0025-0001-SetConfigL_command13]
+Channels = EMMFStereo
+Rate =EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0025-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec48kPCMStereo.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0026-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0026-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0026-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0026-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCM.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0026-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0026-0001-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState =  EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0026-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0026-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCM.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0027-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0027-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0027-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0027-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMPhoneMem.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0027-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0027-0001-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState =  EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0027-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0027-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMPhoneMem.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0028-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0028-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0028-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0028-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMRecStopTwice1.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0028-0001-ReplaceFile_command10]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMRecStopTwice2.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0029-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0029-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0029-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0029-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMUID.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0029-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0029-0001-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState =  EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0029-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0029-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMUID.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0030-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0030-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0030-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0030-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMWithoutAcc.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0030-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0030-0001-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState =  EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0030-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0030-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMWithoutAcc.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0031-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0031-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0031-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0031-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMStereo.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0031-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0031-0001-SetPrioritySettings_command11]
+Priority ={Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState =  EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0031-0001-SetConfigL_command13]
+Channels = EMMFStereo
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0031-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\Rec8kPCMStereo.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0032-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0032-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0032-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0032-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\RoutingRecWithAcc.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0032-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0032-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0032-0001-SetConfigL_command13]
+Channels = EMMFStereo
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0032-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\RoutingRecWithAcc.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0033-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0033-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState = EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0033-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0033-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\RoutingRecWithAcc.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0033-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0033-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState = EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0033-0001-SetConfigL_command13]
+Channels = EMMFStereo
+Rate = EMMFSampleRate16000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0033-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\recording\RoutingRecWithAcc.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0034-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0034-0001-SetPrioritySettings_command03]
+Priority={Priority,PriorityVoiceRecording}
+Preference={PriorityPreference,PriorityPreferenceVideoRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0034-0001-ReplaceFile_command05]
+Filename={drive,mmc}\multimedia\mmf\devsound\Recording\GainRecMono.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0034-0001-SetConfigL_command06]
+Channels=EMMFMono
+Rate=EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0034-0001-SetGain_command08]
+gain=0
+
+[MULTIMEDIA-MMF-DevSound-Recording-0034-0001-SetGain_command09]
+gain=1
+
+[MULTIMEDIA-MMF-DevSound-Recording-0034-0001-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0034-0001-SetPrioritySettings_command13]
+Priority={Priority,PriorityAudioPlayback}
+Preference={PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0034-0001-OpenFile_command15]
+Filename={drive,mmc}\multimedia\mmf\devsound\Recording\GainRecMono.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0034-0001-SetConfigL_command16]
+Channels=EMMFMono
+Rate=EMMFSampleRate8000Hz
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0035-0001-InitializeL_command02]
+Mode=EMMFStateRecording
+FourCC ={SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0035-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState =EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0035-0001-SetConfigL_command05]
+Channels=EMMFMono
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0035-0001-ReplaceFile_command06]
+Filename={drive,mmc}\multimedia\mmf\devsound\recording\badFile.pcm
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0036-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Recording-0036-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityPocCallUp}
+Preference = {PriorityPreference,PriorityPreferencePocCallUp}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0036-0001-SetConfigL_command05]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0036-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecAMRNBPoC.amr
+
+[MULTIMEDIA-MMF-DevSound-Recording-0036-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Recording-0036-0001-SetPrioritySettings_command11]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0036-0001-SetConfigL_command13]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0036-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\RecAMRNBPoC.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0037-0001-InitializeL_command03]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Recording-0037-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityPocCallDown}
+Preference = {PriorityPreference,PriorityPreferencePocCallDown}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0037-0001-SetConfigL_command06]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0037-0001-InitializeL_command07]
+Mode = EMMFStateRecording
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Recording-0037-0001-SetPrioritySettings_command08]
+Priority = {Priority,PriorityPocCallUp}
+Preference = {PriorityPreference,PriorityPreferencePocCallUp}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0037-0001-SetConfigL_command10]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0037-0001-OpenFile_command11]
+Filename= {drive,mmc}\multimedia\mmf\devsound\AMR-NB\AMRNB_8k_12.2kbps_mono_speech.amr
+
+[MULTIMEDIA-MMF-DevSound-Recording-0037-0001-ReplaceFile_command12]
+Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\PoCCallPlayRepeated.amr
+
+[MULTIMEDIA-MMF-DevSound-Recording-0037-0001-InitializeL_command24]
+Mode = EMMFStatePlaying
+FourCC = AMR
+
+[MULTIMEDIA-MMF-DevSound-Recording-0037-0001-SetPrioritySettings_command25]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0037-0001-SetConfigL_command27]
+Channels = EMMFMono
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0037-0001-OpenFile_command28]
+Filename= {drive,mmc}\multimedia\mmf\devsound\Recording\PoCCallPlayRepeated.amr
+
+
+
+[MULTIMEDIA-MMF-DevSound-Recording-0038-0001-InitializeL_command02]
+Mode = EMMFStateRecording
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0038-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityVoiceRecording}
+Preference = {PriorityPreference,PriorityPreferenceVoiceRecording}
+PriorityState=EMMFStateRecording
+
+[MULTIMEDIA-MMF-DevSound-Recording-0038-0001-SetConfigL_command05]
+Channels = EMMFStereo
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0038-0001-ReplaceFile_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\GainRecStereo.pcm
+
+[MULTIMEDIA-MMF-DevSound-Recording-0038-0001-SetGain_command08]
+Gain = 0
+
+[MULTIMEDIA-MMF-DevSound-Recording-0038-0001-SetGain_command09]
+Gain = 1
+
+[MULTIMEDIA-MMF-DevSound-Recording-0038-0001-InitializeL_command12]
+Mode = EMMFStatePlaying
+FourCC = {SpecialFourCC,RAW}
+
+[MULTIMEDIA-MMF-DevSound-Recording-0038-0001-SetPrioritySettings_command13]
+Priority = {Priority,PriorityAudioPlayback}
+Preference = {PriorityPreference,PriorityPreferenceAudioPlayback}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Recording-0038-0001-SetConfigL_command14]
+Channels = EMMFStereo
+Rate = EMMFSampleRate8000Hz
+
+[MULTIMEDIA-MMF-DevSound-Recording-0038-0001-OpenFile_command15]
+Filename = {drive,mmc}\multimedia\mmf\devsound\Recording\GainRecStereo.pcm
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/multimedia-mmf-devsound-validation-automated-tones.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,610 @@
+[devsound1]
+name = devsound1
+
+[devsound2]
+name = devsound2
+
+[repository1]
+name = repository1
+
+[include]
+file1=\multimedia\mmf\devsound\t_devsound.ini
+file2=\multimedia\mmf\devsound\t_devsound_environment.ini
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-NewL_command02]
+RepUID={RepositoryID,UidProfileEngine}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-InitializeL_command03]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-Set_command04]
+ItemID={ItemsID,IdActiveKeypadVolume}
+SetValue={DataID,KeypadVolume_Level3}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetPrioritySettings_command05]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetVolume_command06]
+Volume = 50
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetDTMFLengths_command07]
+ToneOnLength = 300000
+ToneOffLength = 100000
+PauseLength = 100000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-PlayDTMFStringL_command08]
+DTMFString = 1234567890
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetVolume_command09]
+Volume = 50
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetDTMFLengths_command10]
+ToneOnLength = 300000
+ToneOffLength = 100000
+PauseLength = 100000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-PlayDTMFStringL_command11]
+DTMFString = 1234567890
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-Set_command12]
+ItemID={ItemsID,IdActiveKeypadVolume}
+SetValue={DataID,KeypadVolume_Off}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetDTMFLengths_command13]
+ToneOnLength = 300000
+ToneOffLength = 100000
+PauseLength = 100000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-PlayDTMFStringL_command14]
+DTMFString = 1234567890
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetVolume_command15]
+Volume = 20
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-SetDTMFLengths_command16]
+ToneOnLength = 300000
+ToneOffLength = 100000
+PauseLength = 100000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0001-0001-PlayDTMFStringL_command17]
+DTMFString = 1234567890
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0002-0001-NewL_command01]
+RepUID={RepositoryID,UidVibraCtrl}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0002-0001-Set_command02]
+ItemID={ItemsID,IdVibraEnabled}
+SetValue={DataID,Off}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0002-0001-InitializeL_command05]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0002-0001-SetPrioritySettings_command06]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0002-0001-PlayToneSequenceL_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko.nrt
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0003-0001-NewL_command01]
+RepUID={RepositoryID,UidVibraCtrl}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0003-0001-Set_command02]
+ItemID={ItemsID,IdVibraEnabled}
+SetValue={DataID,On}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0003-0001-InitializeL_command04]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0003-0001-SetPrioritySettings_command05]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0003-0001-PlayToneSequenceL_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko.nrt
+
+[MULTIMEDIA-MMF-DevSound-Tones-0003-0001-Set_command08]
+ItemID={ItemsID,IdVibraEnabled}
+SetValue={DataID,Off}
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0004-0001-NewL_command01]
+RepUID={RepositoryID,UidVibraCtrl}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0004-0001-Set_command02]
+ItemID={ItemsID,IdVibraEnabled}
+SetValue={DataID,Off}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0004-0001-InitializeL_command05]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0004-0001-SetPrioritySettings_command06]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0004-0001-PlayToneSequenceL_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\rng\Ringing_tone.rng
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0005-0001-NewL_command01]
+RepUID={RepositoryID,UidVibraCtrl}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0005-0001-Set_command02]
+ItemID={ItemsID,IdVibraEnabled}
+SetValue={DataID,On}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0005-0001-InitializeL_command04]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0005-0001-SetPrioritySettings_command05]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0005-0001-PlayToneSequenceL_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\rng\Ringing_tone.rng
+
+[MULTIMEDIA-MMF-DevSound-Tones-0005-0001-Set_command07]
+ItemID={ItemsID,IdVibraEnabled}
+SetValue={DataID,Off}
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0006-0001-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0006-0001-SetPrioritySettings_command03]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0006-0001-SetVolumeRamp_command04]
+RampDuration = 15000000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0006-0001-PlayToneSequenceL_command05]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Kurko.nrt
+
+[MULTIMEDIA-MMF-DevSound-Tones-0006-0001-InitializeL_command09]
+Mode = EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Tones-0006-0001-SetPrioritySettings_command10]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0006-0001-SetConfigL_command12]
+Channels = EMMFStereo
+Rate = EMMFSampleRate48000Hz
+
+[MULTIMEDIA-MMF-DevSound-Tones-0006-0001-OpenFile_command13]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_48k_320kbps_st_Queen.mp3
+
+[MULTIMEDIA-MMF-DevSound-Tones-0006-0001-SetVolumeRamp_command14]
+RampDuration = 15000000
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0008-0001-NewL_command01]
+RepUID={RepositoryID,UidProfileEngine}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0008-0001-Set_command02]
+ItemID={ItemsID,IdActiveRingingType}
+SetValue={DataID,RingingType_Ringing}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0008-0001-InitializeL_command05]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0008-0001-SetPrioritySettings_command06]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0008-0001-PlayToneSequenceL_command07]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
+[MULTIMEDIA-MMF-DevSound-Tones-0008-0001-InitializeL_command10]
+Mode = EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Tones-0008-0001-SetPrioritySettings_command11]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0008-0001-SetConfigL_command13]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Tones-0008-0001-OpenFile_command14]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test4.mp3
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0009-0001-NewL_command01]
+RepUID={RepositoryID,UidProfileEngine}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0009-0001-Set_command02]
+ItemID={ItemsID,IdActiveRingingType}
+SetValue={DataID,RingingType_RingingOnce}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0009-0001-InitializeL_command04]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0009-0001-SetPrioritySettings_command05]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0009-0001-PlayToneSequenceL_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
+[MULTIMEDIA-MMF-DevSound-Tones-0009-0001-InitializeL_command09]
+Mode = EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Tones-0009-0001-SetPrioritySettings_command10]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0009-0001-SetConfigL_command12]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Tones-0009-0001-OpenFile_command13]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test4.mp3
+
+[MULTIMEDIA-MMF-DevSound-Tones-0009-0001-Set_command17]
+ItemID={ItemsID,IdActiveRingingType}
+SetValue={DataID,RingingType_Ringing}
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0010-0001-NewL_command01]
+RepUID={RepositoryID,UidProfileEngine}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0010-0001-Set_command02]
+ItemID={ItemsID,IdActiveRingingType}
+SetValue={DataID,RingingType_Silent}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0010-0001-InitializeL_command04]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0010-0001-SetPrioritySettings_command05]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0010-0001-PlayToneSequenceL_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
+[MULTIMEDIA-MMF-DevSound-Tones-0010-0001-InitializeL_command09]
+Mode = EMMFStatePlaying
+FourCC= MP3
+
+[MULTIMEDIA-MMF-DevSound-Tones-0010-0001-SetPrioritySettings_command10]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStatePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0010-0001-SetConfigL_command12]
+Channels = EMMFStereo
+Rate = EMMFSampleRate44100Hz
+
+[MULTIMEDIA-MMF-DevSound-Tones-0010-0001-OpenFile_command13]
+Filename = {drive,mmc}\multimedia\mmf\devsound\mp3\MP3_44.1k_128kbps_st_Test4.mp3
+
+[MULTIMEDIA-MMF-DevSound-Tones-0010-0001-Set_command17]
+ItemID={ItemsID,IdActiveRingingType}
+SetValue={DataID,RingingType_Ringing}
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0011-0001-NewL_command02]
+RepUID={RepositoryID,UidProfileEngine}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0011-0001-Set_command03]
+ItemID={ItemsID,IdActiveWarningTones}
+SetValue={DataID,On}
+
+[MULTIMEDIA-MMF-DevSound-Tones-0011-0001-InitializeL_command04]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0011-0001-SetPrioritySettings_command05]
+Priority={Priority,PriorityBatteryLow}
+Preference={PriorityPreference,PriorityPreferenceBatteryLow}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0011-0001-PlayToneSequenceL_command06]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0012-0001-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0012-0001-SetPrioritySettings_command03]
+Priority={Priority,PriorityCalendarAlarm}
+Preference={PriorityPreference,PriorityPreferenceCalendarAlarm}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0012-0001-PlayToneSequenceL_command04]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0013-0001-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0013-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0013-0001-SetDTMFLengths_command04]
+ToneOnLength = 500000
+ToneOffLength = 2000000
+PauseLength = 0
+
+[MULTIMEDIA-MMF-DevSound-Tones-0013-0001-PlayDTMFStringL_command05]
+DTMFString = 123
+
+[MULTIMEDIA-MMF-DevSound-Tones-0013-0001-SetDTMFLengths_command06]
+ToneOnLength = 1000000
+ToneOffLength = 2000000
+PauseLength = 0
+
+[MULTIMEDIA-MMF-DevSound-Tones-0013-0001-PlayDTMFStringL_command07]
+DTMFString = 456
+
+[MULTIMEDIA-MMF-DevSound-Tones-0013-0001-SetDTMFLengths_command08]
+ToneOnLength = 2000000
+ToneOffLength = 2000000
+PauseLength = 0
+
+[MULTIMEDIA-MMF-DevSound-Tones-0013-0001-PlayDTMFStringL_command09]
+DTMFString = 789
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0014-0001-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0014-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0014-0001-PlayToneL_command04]
+Duration = 3000000
+Frequency = 250
+
+[MULTIMEDIA-MMF-DevSound-Tones-0014-0001-PlayToneL_command05]
+Duration = 3000000
+Frequency = 500
+
+[MULTIMEDIA-MMF-DevSound-Tones-0014-0001-PlayToneL_command06]
+Duration = 3000000
+Frequency = 1000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0014-0001-PlayToneL_command07]
+Duration = 3000000
+Frequency = 2000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0014-0001-PlayToneL_command08]
+Duration = 3000000
+Frequency = 3000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0014-0001-PlayToneL_command09]
+Duration = 3000000
+Frequency = 4000
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0015-0001-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0015-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0015-0001-SetDTMFLengths_command04]
+ToneOnLength = 300000
+ToneOffLength = 100000
+PauseLength = 100000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0015-0001-PlayDTMFStringL_command05]
+DTMFString = 1234567890
+
+[MULTIMEDIA-MMF-DevSound-Tones-0015-0001-SetDTMFLengths_command06]
+ToneOnLength = 300000
+ToneOffLength = 100000
+PauseLength = 100000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0015-0001-PlayDTMFStringL_command07]
+DTMFString = 1234567890
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0016-0001-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0016-0001-SetVolume_command03]
+Volume=100
+
+[MULTIMEDIA-MMF-DevSound-Tones-0016-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0016-0001-SetDTMFLengths_command05]
+ToneOnLength = 90000000
+ToneOffLength = 500000
+PauseLength = 0
+
+[MULTIMEDIA-MMF-DevSound-Tones-0016-0001-PlayDTMFStringL_command06]
+DTMFString = 1
+
+[MULTIMEDIA-MMF-DevSound-Tones-0016-0001-SetDTMFLengths_command08]
+ToneOnLength = 90000000
+ToneOffLength = 500000
+PauseLength = 0
+
+[MULTIMEDIA-MMF-DevSound-Tones-0016-0001-PlayDTMFStringL_command09]
+DTMFString = 2
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0017-0001-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0017-0001-SetVolume_command03]
+Volume=50
+
+[MULTIMEDIA-MMF-DevSound-Tones-0017-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0017-0001-SetToneRepeats_command05]
+RepeatCount = 5
+RepeatTrailingSilence = 2000000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0017-0001-PlayDualToneL_command06]
+FrequencyOne = 440
+FrequencyTwo = 2000
+Duration = 3000000
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0018-0001-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0018-0001-SetPrioritySettings_command03]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0018-0001-PlayDualToneL_command04]
+Duration = 3000000
+FrequencyOne = 50
+FrequencyTwo = 4000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0018-0001-PlayDualToneL_command05]
+Duration = 3000000
+FrequencyOne = 250
+FrequencyTwo = 3000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0018-0001-PlayDualToneL_command06]
+Duration = 3000000
+FrequencyOne = 500
+FrequencyTwo = 2000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0018-0001-PlayDualToneL_command07]
+Duration = 3000000
+FrequencyOne = 1000
+FrequencyTwo = 50
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0020-0001-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0020-0001-SetPrioritySettings_command03]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0020-0001-PlayToneSequenceL_command04]
+Filename = {drive,mmc}\multimedia\mmf\devsound\nrt\Nokia_ringing_tone.nrt
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0021-0001-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0021-0001-SetPrioritySettings_command03]
+Priority={Priority,PriorityMax}
+Preference={PriorityPreference,PriorityPreferenceIncomingCall}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0021-0001-PlayToneSequenceL_command04]
+Filename = {drive,mmc}\multimedia\mmf\devsound\rng\Ringing_tone.rng
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0022-0001-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0022-0001-SetVolume_command03]
+Volume=50
+
+[MULTIMEDIA-MMF-DevSound-Tones-0022-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0022-0001-SetToneRepeats_command05]
+RepeatCount = -2
+RepeatTrailingSilence = 500000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0022-0001-PlayToneL_command06]
+Duration = 1000000
+Frequency = 440
+
+
+
+[MULTIMEDIA-MMF-DevSound-Tones-0023-0001-InitializeL_command02]
+Mode = EMMFStateTonePlaying
+FourCC= ILBC
+
+[MULTIMEDIA-MMF-DevSound-Tones-0023-0001-SetVolume_command03]
+Volume=50
+
+[MULTIMEDIA-MMF-DevSound-Tones-0023-0001-SetPrioritySettings_command04]
+Priority = {Priority,PriorityNormal}
+Preference = {PriorityPreference,PriorityPreferenceQuality}
+PriorityState=EMMFStateTonePlaying
+
+[MULTIMEDIA-MMF-DevSound-Tones-0023-0001-SetToneRepeats_command05]
+RepeatCount = 5
+RepeatTrailingSilence =2000000
+
+[MULTIMEDIA-MMF-DevSound-Tones-0023-0001-PlayToneL_command06]
+Duration = 3000000
+Frequency = 440
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/t_devsound_environment.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,27 @@
+[RepositoryID]
+UidProfileEngine				= 0x101F8798
+UidVibraCtrl					= 0x10200C8B
+UidInvalid						= 0x00003039
+
+
+[ItemsID]
+IdActiveRingingType				= 0x7E000002
+IdActiveKeypadVolume			= 0x7E000004
+IdActiveWarningTones			= 0x7E000020
+IdVibraEnabled					= 0x00000001
+
+
+[DataID]
+RingingType_Ringing				= 0
+RingingType_Ascending			= 1
+RingingType_RingingOnce			= 2
+RingingType_BeepOnce			= 3
+RingingType_Silent				= 4
+
+KeypadVolume_Off				= 0
+KeypadVolume_Level1				= 1
+KeypadVolume_Level2				= 2
+KeypadVolume_Level3				= 3
+
+On								= 1
+Off								= 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/tube/t_devsound.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,79 @@
+[EncoderHwDevice]
+RAW = 0x1020658f
+G711 = 0x1020658f
+G729AB = 0x1020658f
+ILBC = 0x1020658f
+AMRNB = 0x1020659e
+
+[DecoderHwDevice]
+AMRNB = 0x10206596
+AMRWB = 0x10206591
+G711 = 0x10205EE4
+G729AB = 0x10205EEA
+ILBC = 0x10205E63
+MP3 = 0x1020658F
+RAW = 0x1020659D
+
+[drive]
+mmc=e:
+
+[SpecialFourCC]
+RAW = P16
+
+[Priority]
+PriorityMin                 = -100
+PriorityNormal              = 0
+PriorityMax                 = 100
+PriorityIncomingCall        = 100
+PriorityClockAlarm          = 93
+PriorityCalendarAlarm       = 93
+PriorityReceivedSMS         = 90
+PriorityAudioPlayback       = 80
+PriorityVoiceTagPlayback    = 73
+PriorityBackgroundMusic     = 47
+PriorityDTMFKeyPress        = 45
+PriorityBatteryLow          = 85
+PriorityRemoteMediaPlayback = 80
+PriorityVoiceRecording      = 80
+PriorityTTSCall             = 100
+PriorityCameraTone          = 45
+PriorityPocCallUp           = 95
+PriorityPocCallDown         = 95
+PriorityVoipCallDown        = 100
+PriorityVoipCallUp          = 100
+PriorityVideoRecording      = 80
+PrioritySWISPlayback        = 74
+PriorityUnknownVoipCallDown = 95
+PriorityAudioRecording      = 80
+PriorityMobileTV            = 80
+PriorityVisualization       = 40
+
+[PriorityPreference]
+PriorityPreferenceNone                  = 0
+PriorityPreferenceTime                  = 1
+PriorityPreferenceQuality               = 2
+PriorityPreferenceTimeAndQuality        = 3
+PriorityPreferenceDTMFKeyPress          = 0x00130001
+PriorityPreferenceIncomingCall          = 0x01340001
+PriorityPreferenceBatteryLow            = 0X01030001
+PriorityPreferenceClockAlarm            = 0x01220001
+PriorityPreferenceCalendarAlarm         = 0x01210001
+PriorityPreferenceReceivedSMS           = 0x01120001
+PriorityPreferenceAudioPlayback         = 0x01420001
+PriorityPreferenceVoiceTagPlayback      = 0x00030001
+PriorityPreferenceBackgroundMusic       = 0x06000005
+PriorityPreferenceMediaPlayback         = 0x01610001
+PriorityPreferenceVoiceRecording        = 0x00950001
+PriorityPreferenceTTSCall               = 0x01370001
+PriorityPreferenceCameraTone            = 0x00110001
+PriorityPreferencePocCallDown           = 0x05120001
+PriorityPreferencePocCallUp             = 0x05130001
+PriorityPreferenceVoipCallDown          = 0x05210001
+PriorityPreferenceVoipCallUp            = 0x05220001
+PriorityPreferenceVideoRecording        = 0x00950001
+PriorityPreferenceSWISPlayback          = 0x05330001
+PriorityPreferenceUnknownVoipCallDown   = 0x05110007
+PriorityPreferenceAudioRecording        = 0x00940001
+PriorityPreferenceMobileTV              = 0x03100001
+PriorityPreferenceVisualization         = 0x05350001
+PriorityPreferenceRemoteMediaPlayback   = 0x01610001
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testdata/tube/t_devsound.tcs	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,26 @@
+multimedia-mmf-devsound-validation-automated-recording-0002
+multimedia-mmf-devsound-validation-automated-recording-0008
+multimedia-mmf-devsound-validation-automated-recording-0009
+multimedia-mmf-devsound-validation-automated-recording-0010
+multimedia-mmf-devsound-validation-automated-recording-0011
+multimedia-mmf-devsound-validation-automated-recording-0012
+multimedia-mmf-devsound-validation-automated-recording-0014
+multimedia-mmf-devsound-validation-automated-recording-0016
+multimedia-mmf-devsound-validation-automated-recording-0019
+multimedia-mmf-devsound-validation-automated-recording-0020
+multimedia-mmf-devsound-validation-automated-recording-0021
+multimedia-mmf-devsound-validation-automated-recording-0022
+multimedia-mmf-devsound-validation-automated-recording-0023
+multimedia-mmf-devsound-validation-automated-recording-0025
+multimedia-mmf-devsound-validation-automated-recording-0031
+multimedia-mmf-devsound-validation-automated-recording-0032
+multimedia-mmf-devsound-validation-automated-recording-0033
+multimedia-mmf-devsound-validation-automated-recording-0038
+multimedia-mmf-devsound-validation-automated-comb_pr-0007
+multimedia-mmf-devsound-validation-automated-comb_pr-0009
+multimedia-mmf-devsound-validation-automated-comb_pr-0012
+multimedia-mmf-devsound-validation-automated-comb_pr-0017
+multimedia-mmf-devsound-validation-automated-comb_pr-0018
+multimedia-mmf-devsound-validation-automated-comb_pr-0023
+multimedia-mmf-devsound-stress-automated-recording-0002
+multimedia-mmf-devsound-validation-automated-comb_pt-0009
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testsuites/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,19 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTEXPORTS
+../multimedia/devsoundhai.driver		/epoc32/testdriver/salt/devsoundhai.driver
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devsoundhaitest/testsuites/multimedia/devsoundhai.driver	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<driver:driver xmlns:driver="http://www.symbian.com/TestDriver">
+      <task name="devsoundhai" timeout="0">
+        <executeOnPC>
+          <build testBuild="true" URI="${sourceroot}\group\">
+            <componentName>t_devsound</componentName>
+          </build>
+        </executeOnPC>
+        <transferToSymbian>
+          <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsound.ini" SymbianPath="$:\multimedia\mmf\devsound\t_devsound.ini"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsound_environment.ini" SymbianPath="$:\multimedia\mmf\devsound\t_devsound_environment.ini"/>
+        </transferToSymbian>
+        <task name="validation">
+          <task name="manual"/>
+          <task name="automated">
+            <task name="multimedia-mmf-devsound-validation-automated-comb_pp">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini" SymbianPath="$:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pp.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsound.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="multimedia-mmf-devsound-validation-automated-comb_pr">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini" SymbianPath="$:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pr.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsound.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="multimedia-mmf-devsound-validation-automated-comb_pt">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini" SymbianPath="$:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_pt.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsound.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="multimedia-mmf-devsound-validation-automated-comb_rr">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rr.ini" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rr.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rr.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rr.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsound.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="multimedia-mmf-devsound-validation-automated-comb_rt">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.ini" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_rt.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsound.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="multimedia-mmf-devsound-validation-automated-comb_tt">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.ini" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-comb_tt.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsound.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="multimedia-mmf-devsound-validation-automated-playback">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-playback.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsound.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="multimedia-mmf-devsound-validation-automated-recording">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-recording.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsound.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="multimedia-mmf-devsound-validation-automated-tones">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-validation-automated-tones.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsound.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+          </task>
+        </task>
+        <task name="performance"/>
+        <task name="conformance" timeout="0"/>
+        <task name="stress">
+          <task name="manual"/>
+          <task name="automated">
+            <task name="multimedia-mmf-devsound-stress-automated-playback">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.ini" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-playback.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsound.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="multimedia-mmf-devsound-stress-automated-recording">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.ini" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-recording.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsound.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="multimedia-mmf-devsound-stress-automated-tones">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-tones.ini" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-tones.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-tones.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated-tones.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsound.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="multimedia-mmf-devsound-stress-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated.ini" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated.script" SymbianPath="c:\multimedia\mmf\devsound\multimedia-mmf-devsound-stress-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devsound\t_devsound.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+          </task>
+        </task>
+      </task>
+</driver:driver>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/common/inc/datawrapperbase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 DATA_WRAPPER_BASE_H
+#define DATA_WRAPPER_BASE_H
+
+//	EPOC includes
+#include <datawrapper.h>
+#define SECS_TO_MS(x)  (x*1000000)
+
+_LIT(KConsname,				"Test Console");
+
+class CDataWrapperBase : public CDataWrapper
+	{
+public:
+	class TEnumEntryTable
+		{
+	public:
+		const TDesC&	iString;
+		TInt			iValue;
+		};
+
+public:
+	TBool					GetBoolFromConfig(const TDesC& aSectName,const TDesC& aKeyName,TBool& aResult);
+	TBool					GetIntFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult);
+	TBool GetRealFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TReal& aResult);
+	TBool					GetStringFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult);
+	TBool					GetHexFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult);
+	TBool					GetUintFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TUint& aResult);
+	TBool					GetArrayRectFromConfig(const TDesC& aSectName, const TDesC& aKeyName, RPointerArray<HBufC>& aResult);
+	TBool 					KeyPress();
+	void 					Timedelay(TInt aTimeoutInSecs);
+	virtual void			InitialiseL();
+	inline RFs&				FileServer() { return iFs; }
+	inline CConsoleBase*	GetConsole() { return(Console::NewL(KConsname,TSize(KConsFullScreen,KConsFullScreen)));}
+	TBool					GetEnumFromConfig(const TDesC& aSectName, const TDesC& aKeyName, const TEnumEntryTable* aTable, TInt& aResult);
+
+protected:
+	CDataWrapperBase();
+	virtual ~CDataWrapperBase();
+
+private:
+	TBool	GetCommandStringParameterL(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult);
+	TBool 	KeyCheck();
+
+private:
+	// Included ini files
+	RPointerArray<CIniData>	iInclude;
+	RPointerArray<HBufC>	iBuffer;
+	RFs                     iFs;
+	RTimer					iTimer;
+	};
+
+#endif // DATA_WRAPPER_BASE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/common/src/datawrapperbase.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,447 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "datawrapperbase.h"
+
+/*@{*/
+///	Constant Literals used.
+_LIT(KPrefixHex,			"0x");
+_LIT(KPrefixOctal,			"0");
+_LIT(KSuffixBinary,			"b");
+
+_LIT(KIncludeSection,		"include");
+_LIT(KFile,					"file%d");
+_LIT(KMatch,				"*{*,*}*");
+_LIT(KStart,				"{");
+_LIT(KSeparator,			",");
+_LIT(KEnd,					"}");
+_LIT(KDataRead,				"INI READ : %S %S %S");
+
+/*@}*/
+
+CDataWrapperBase::CDataWrapperBase()
+:	CDataWrapper()
+	{
+	}
+
+/**
+ * Public destructor
+ */
+CDataWrapperBase::~CDataWrapperBase()
+	{
+	iInclude.ResetAndDestroy();
+	iBuffer.ResetAndDestroy();
+	iFs.Close();
+	}
+
+void CDataWrapperBase::InitialiseL()
+	{
+	iTimer.CreateLocal();
+	CDataWrapper::InitialiseL();
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TPtrC		fileName;
+	TBool		moreData=ETrue;
+	TBool		index=0;
+	while ( moreData )
+		{
+		tempStore.Format(KFile(), ++index);
+		moreData=GetStringFromConfig(KIncludeSection, tempStore, fileName);
+
+		if (moreData)
+			{
+			CIniData*	iniData=CIniData::NewL(fileName);
+			CleanupStack::PushL(iniData);
+			iInclude.Append(iniData);
+			CleanupStack::Pop(iniData);
+			}
+		}
+	User::LeaveIfError(iFs.Connect());
+	}
+
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TBool reference passed in possible values TRUE, FALSE
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - The value of the boolean
+ * @return TBool - ETrue for found, EFalse for not found 
+ */
+TBool CDataWrapperBase::GetBoolFromConfig(const TDesC& aSectName,const TDesC& aKeyName,TBool& aResult)
+	{
+	TBool	ret=EFalse;
+	TPtrC	result;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	if ( ret )
+		{
+		_LIT(KTrue,"true");
+		aResult=(result.FindF(KTrue) != KErrNotFound);
+		}
+
+	return ret;
+	}
+
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TInt reference passed in
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - The value of the integer
+ * @return TBool - ETrue for found, EFalse for not found 
+ */
+TBool CDataWrapperBase::GetIntFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult)
+	{
+	TPtrC	result;
+	TBool	ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	if ( ret )
+		{
+		TLex	lex(result);
+		ret=(lex.Val(aResult)==KErrNone);
+		}
+
+	return ret;
+	}
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TReal reference passed in
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - The value of the real
+ * @return TBool - ETrue for found, EFalse for not found 
+ */
+TBool CDataWrapperBase::GetRealFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TReal& aResult)
+	{
+	TPtrC result;
+	TBool ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret = EFalse;
+		}
+	if ( ret )
+		{
+		TLex lex(result);
+		ret = ( lex.Val(aResult)==KErrNone );
+		}
+	return ret;
+	}
+
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TPtrC reference passed in
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - Reference to the string on the heap
+ * @return TBool - ETrue for found, EFalse for not found 
+ */
+TBool CDataWrapperBase::GetStringFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult)
+	{
+	TBool	ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, aResult));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	return ret;
+	}
+
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TInt reference passed in. The value can optionally be prefixed with 0x
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - The integer value of the Hex input
+ * @return TBool - ETrue for found, EFalse for not found 
+ */	
+TBool CDataWrapperBase::GetHexFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult)
+	{
+	TPtrC	result;
+	TBool	ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	if ( ret )
+		{
+		TLex	lex;
+		if( result.FindC(KPrefixHex)==KErrNone )
+			{
+			lex=result.Mid(KPrefixHex().Length());
+			}
+		else
+			{
+			lex=result;
+			}
+		ret=(lex.Val((TUint &)aResult, EHex)==KErrNone);
+		}
+
+	return ret;
+	}
+
+/**
+ * Reads the value present from the test steps ini file within the mentioned section name and key name
+ * Copies the value to the TUint reference passed in.
+ * If the value is prefixed with 0x the value is read as a hexidecimal value
+ * If the value is suffixed with b the value is read as a binary value
+ * If the value is prefixed with a 0 the value is read as an octal value
+ * If it does not match the above it is read in as an integer
+ * @param aSectName - Section within the test steps ini file
+ * @param aKeyName - Name of a key within a section
+ * @return aResult - The integer value of the Hex input
+ * @return TBool - ETrue for found, EFalse for not found 
+ */	
+TBool CDataWrapperBase::GetUintFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TUint& aResult)
+	{
+	TPtrC	result;
+	TBool	ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	if ( ret )
+		{
+		TLex	lex(result);
+		if( result.FindC(KPrefixHex)==KErrNone )
+			{
+			lex=result.Mid(KPrefixHex().Length());
+			ret=(lex.Val(aResult, EHex)==KErrNone);
+			}
+		else
+			{
+			TInt	binarySuffixPosition=result.Length()-KSuffixBinary().Length();
+			if ( result.FindC(KSuffixBinary)==binarySuffixPosition )
+				{
+				lex=result.Left(binarySuffixPosition);
+				ret=(lex.Val(aResult, EBinary)==KErrNone);
+				}
+			else
+				{
+				if( result.FindC(KPrefixOctal)==KErrNone )
+					{
+					ret=(lex.Val(aResult, EOctal)==KErrNone);
+					}
+				else
+					{
+					TInt	intResult;
+					ret=(lex.Val(intResult)==KErrNone);
+					if ( ret )
+						{
+						aResult=(TUint)intResult;
+						}
+					}
+				}
+			}
+		}
+
+	return ret;
+	}
+
+/**
+ *   Return array of string parameters i.e. key=a1,a2,a3 returns array which contains
+ *   String a1, a2 and a3.
+ *   @return ret - EFalse if can't get a String parameter from Config file.  ETrue if KErrNone
+ */
+TBool CDataWrapperBase::GetArrayRectFromConfig(const TDesC& aSectName, const TDesC& aKeyName, RPointerArray<HBufC>& aResult)
+	{
+	TBool	ret=EFalse;
+	TPtrC completeArray;
+	
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, completeArray));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+
+    TLex16 lex(completeArray); // Here we have the array as a string i.e. "a1,a2,a3"
+    TBuf<256> buf;
+    TChar chr;
+    
+    while(!lex.Eos())
+        {
+        chr = lex.Get();
+        // Check if there was a list separator
+        if ((chr == ',') && (lex.Peek() == '('))
+            {
+            HBufC* param = buf.AllocLC();
+            buf.Zero();
+            aResult.Append(param);
+            CleanupStack::Pop(param); // pointer to buf is stored in RPointerArray
+            }
+        // If not separator character we can store the character into array
+        else
+            {
+            buf.Append(chr);
+            }
+        }
+    // Remember to put last token into array (,a3)
+    HBufC* param = buf.AllocLC();
+    aResult.Append(param);
+    CleanupStack::Pop(param);
+    
+    return ret;
+	}
+
+/**
+ * Reads the parameter	asociated to the specified command
+ * @param aSectName	Section on ini file
+ * @param aKeyName		Name of the parameter
+ * @param aResult			descriptor containing parameter
+ * @return TBool  ETrue for found, EFalse for not found 
+ */
+TBool CDataWrapperBase::GetCommandStringParameterL(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult)
+	{
+	TBool	ret=EFalse;
+
+	if ( aSectName.Length()!=0 )
+		{
+		ret=CDataWrapper::GetStringFromConfig(aSectName, aKeyName, aResult);
+
+		for ( TInt index=iInclude.Count(); (index>0) && (!ret); )
+			{
+			ret=iInclude[--index]->FindVar(aSectName, aKeyName, aResult);
+			}
+		}
+
+	if ( ret )
+		{
+		if ( aResult.Match(KMatch)!=KErrNotFound )
+			{
+			//	We have an entry of the format
+			//	entry =*{section,entry}*
+			//	where * is one or more characters
+			//	We need to construct this from other data in the ini file replacing {*,*}
+			//	with the data from
+			//	[section]
+			//	entry =some_value
+			HBufC*	buffer=HBufC::NewLC(aResult.Length());
+			buffer->Des().Copy(aResult);
+
+			TInt	startLength=KStart().Length();
+			TInt	sparatorLength=KSeparator().Length();
+			TInt	endLength=KEnd().Length();
+			TInt	bufferLength;
+			TInt	start;
+			TInt	sparator;
+			TInt	end;
+			TPtrC	remaining;
+			TLex	lex;
+			do
+				{
+				bufferLength=buffer->Length();
+				start=buffer->Find(KStart);
+
+				remaining.Set(buffer->Des().Right(bufferLength-start-startLength));
+				sparator=remaining.Find(KSeparator);
+				remaining.Set(remaining.Right(remaining.Length()-sparator-sparatorLength));
+				sparator += (start + startLength);
+
+				end=remaining.Find(KEnd) + sparator + sparatorLength;
+
+				TPtrC	sectionName(buffer->Ptr()+start+startLength, sparator-start-startLength);
+				TPtrC	keyName(buffer->Ptr()+sparator+sparatorLength, end-sparator-sparatorLength);
+				sectionName.Set(TLex(sectionName).NextToken());
+				keyName.Set(TLex(keyName).NextToken());
+
+				TInt	entrySize=0;
+				TPtrC	entryData;
+				TBool	found=CDataWrapper::GetStringFromConfig(sectionName, keyName, entryData);
+				for ( TInt index=iInclude.Count(); (index>0) && (!found);  )
+					{
+					found=iInclude[--index]->FindVar(sectionName, keyName, entryData);
+					}
+				if ( found )
+					{
+					entrySize=entryData.Length();
+					}
+
+				TInt	newLength=start + bufferLength - end - endLength + entrySize;
+				HBufC*	bufferNew=HBufC::NewLC(newLength);
+				bufferNew->Des().Copy(buffer->Ptr(), start);
+				if ( entrySize>0 )
+					{
+					bufferNew->Des().Append(entryData);
+					}
+				bufferNew->Des().Append(buffer->Ptr() + end + endLength, bufferLength - end - endLength);
+				CleanupStack::Pop(bufferNew);
+				CleanupStack::PopAndDestroy(buffer);
+				buffer=bufferNew;
+				CleanupStack::PushL(buffer);
+				}
+			while ( buffer->Match(KMatch)!=KErrNotFound );
+			iBuffer.Append(buffer);
+			CleanupStack::Pop(buffer);
+			aResult.Set(*buffer);
+			INFO_PRINTF4(KDataRead, &aSectName, &aKeyName , &aResult);
+			}
+		}
+
+	return ret;
+	}
+
+/**
+ * Utility function to produce time delay
+ * @param aTimeoutInSecs Times in micro seconds
+ */
+void CDataWrapperBase::Timedelay(TInt aTimeoutInSecs)
+	{
+	TRequestStatus	status;
+	iTimer.After(status, aTimeoutInSecs);
+	User::WaitForRequest(status);
+	}
+
+TBool CDataWrapperBase::GetEnumFromConfig(const TDesC& aSectName, const TDesC& aKeyName, const TEnumEntryTable* aTable, TInt& aResult)
+	{
+	TPtrC	str;
+	TBool	ret=GetStringFromConfig(aSectName, aKeyName, str);
+
+	if ( ret )
+		{
+		TBool	found=EFalse;
+		TInt	index=0;
+		while ( (aTable[index].iValue!=-1) && !found )
+			{
+			if ( aTable[index].iString==str )
+				{
+				found=ETrue;
+				aResult=aTable[index].iValue;
+				}
+			else
+				{
+				++index;
+				}
+			}
+
+		if ( !found )
+			{
+			ret=GetIntFromConfig(aSectName, aKeyName, aResult);
+			}
+		}
+
+	return ret;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,100 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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 "device.cfg"
+
+#include "../testsuites/group/bld.inf"
+
+PRJ_TESTEXPORTS
+t_devvideo.iby									/epoc32/rom/haitests/t_devvideo.iby
+t_devvideo_binaries.iby							/epoc32/rom/haitests/t_devvideo_binaries.iby
+t_devvideo_testdata.iby							/epoc32/rom/haitests/t_devvideo_testdata.iby
+
+../pkg/t_devvideo.bat														c:/multimedia/mmf/devvideo/t_devvideo.bat
+
+../scripts/mm-mmf-devvideo-playback-h263-automated.script					c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h263-automated.script
+../scripts/mm-mmf-devvideo-playback-h263-scale-automated.script			c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h263-scale-automated.script
+../scripts/mm-mmf-devvideo-playback-mpeg4-automated.script					c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-mpeg4-automated.script
+../scripts/mm-mmf-devvideo-playback-mpeg4-backward-automated.script			c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-mpeg4-backward-automated.script
+../scripts/mm-mmf-devvideo-playback-mpeg4-forward-automated.script			c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-mpeg4-forward-automated.script
+../scripts/mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.script		c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.script
+../scripts/mm-mmf-devvideo-playback-mpeg4-rotation-automated.script			c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-mpeg4-rotation-automated.script
+../scripts/mm-mmf-devvideo-playback-mpeg4-scale-automated.script			c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-mpeg4-scale-automated.script
+../scripts/mm-mmf-devvideo-playback-h264-automated.script					c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h264-automated.script
+../scripts/mm-mmf-devvideo-playback-h264-negative-automated.script			c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h264-negative-automated.script
+../scripts/mm-mmf-devvideo-playback-h264-scale-automated.script				c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h264-scale-automated.script
+../scripts/mm-mmf-devvideo-playback-h264-pause-resume-automated.script		c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h264-pause-resume-automated.script
+../scripts/mm-mmf-devvideo-playback-h264-backward-automated.script			c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h264-backward-automated.script
+../scripts/mm-mmf-devvideo-playback-h264-forward-automated.script			c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h264-forward-automated.script
+
+../testdata/mm-mmf-devvideo-playback-h263-automated.ini					c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h263-automated.ini
+../testdata/mm-mmf-devvideo-playback-h263-scale-automated.ini				c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h263-scale-automated.ini
+../testdata/mm-mmf-devvideo-playback-mpeg4-automated.ini					c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-mpeg4-automated.ini
+../testdata/mm-mmf-devvideo-playback-mpeg4-backward-automated.ini			c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-mpeg4-backward-automated.ini
+../testdata/mm-mmf-devvideo-playback-mpeg4-forward-automated.ini			c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-mpeg4-forward-automated.ini
+../testdata/mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini		c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini
+../testdata/mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini			c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini
+../testdata/mm-mmf-devvideo-playback-mpeg4-scale-automated.ini				c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-mpeg4-scale-automated.ini
+../testdata/mm-mmf-devvideo-playback-h264-automated.ini						c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h264-automated.ini
+../testdata/mm-mmf-devvideo-playback-h264-negative-automated.ini			c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h264-negative-automated.ini
+../testdata/mm-mmf-devvideo-playback-h264-scale-automated.ini				c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h264-scale-automated.ini
+../testdata/mm-mmf-devvideo-playback-h264-pause-resume-automated.ini		c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h264-pause-resume-automated.ini
+../testdata/mm-mmf-devvideo-playback-h264-backward-automated.ini			c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h264-backward-automated.ini
+../testdata/mm-mmf-devvideo-playback-h264-forward-automated.ini				c:/multimedia/mmf/devvideo/mm-mmf-devvideo-playback-h264-forward-automated.ini
+
+../scripts/mm-mmf-devvideo-record-h263-automated.script					c:/multimedia/mmf/devvideo/mm-mmf-devvideo-record-h263-automated.script
+../scripts/mm-mmf-devvideo-record-h263-pause-resume-automated.script		c:/multimedia/mmf/devvideo/mm-mmf-devvideo-record-h263-pause-resume-automated.script
+../scripts/mm-mmf-devvideo-record-mpeg4-automated.script					c:/multimedia/mmf/devvideo/mm-mmf-devvideo-record-mpeg4-automated.script
+../scripts/mm-mmf-devvideo-record-mpeg4-pause-resume-automated.script		c:/multimedia/mmf/devvideo/mm-mmf-devvideo-record-mpeg4-pause-resume-automated.script
+
+../testdata/mm-mmf-devvideo-record-h263-automated.ini					c:/multimedia/mmf/devvideo/mm-mmf-devvideo-record-h263-automated.ini
+../testdata/mm-mmf-devvideo-record-h263-pause-resume-automated.ini		c:/multimedia/mmf/devvideo/mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+../testdata/mm-mmf-devvideo-record-mpeg4-automated.ini					c:/multimedia/mmf/devvideo/mm-mmf-devvideo-record-mpeg4-automated.ini
+../testdata/mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini		c:/multimedia/mmf/devvideo/mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+
+../scripts/mm-mmf-devvideo-record-h264-automated.script					c:/multimedia/mmf/devvideo/mm-mmf-devvideo-record-h264-automated.script
+../testdata/mm-mmf-devvideo-record-h264-automated.ini					c:/multimedia/mmf/devvideo/mm-mmf-devvideo-record-h264-automated.ini
+
+../scripts/mm-mmf-devvideo-record-h264-pause-resume-automated.script				c:/multimedia/mmf/devvideo/mm-mmf-devvideo-record-h264-pause-resume-automated.script
+../testdata/mm-mmf-devvideo-record-h264-pause-resume-automated.ini					c:/multimedia/mmf/devvideo/mm-mmf-devvideo-record-h264-pause-resume-automated.ini
+
+../testdata/t_devvideo_environment.ini 		c:/multimedia/mmf/devvideo/t_devvideo_environment.ini
+
+
+#if defined(TEST_DEVICE_DEVLON52)
+../testdata/devlon52/t_devvideo.ini  		        c:/multimedia/mmf/devvideo/t_devvideo.ini
+../testdata/devlon52/t_devvideo.tcs       	      	c:/multimedia/mmf/devvideo/t_devvideo.tcs
+#endif
+
+#if defined(TEST_DEVICE_TUBE)
+../testdata/tube/t_devvideo.ini  		        c:/multimedia/mmf/devvideo/t_devvideo.ini
+../testdata/tube/t_devvideo.tcs       	      		c:/multimedia/mmf/devvideo/t_devvideo.tcs
+#endif
+
+#if defined(TEST_DEVICE_H4HRP)
+../testdata/h4hrp/t_devvideo.ini			c:/multimedia/mmf/devvideo/t_devvideo.ini
+../testdata/h4hrp/t_devvideo.tcs			c:/multimedia/mmf/devvideo/t_devvideo.tcs
+#endif
+
+#if defined(TEST_DEVICE_H6HRP)
+../testdata/h6hrp/t_devvideo.ini			c:/multimedia/mmf/devvideo/t_devvideo.ini
+../testdata/h6hrp/t_devvideo.tcs			c:/multimedia/mmf/devvideo/t_devvideo.tcs
+#endif
+
+
+
+PRJ_TESTMMPFILES
+t_devvideo.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/group/device.cfg	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,25 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+
+// Used within the build process to export the correct files for the supported devices
+// Uncomment only one of the devices definied in  listed below
+
+#define       	TEST_DEVICE_DEVLON52
+//#define       TEST_DEVICE_TUBE
+//#define         TEST_DEVICE_H4HRP
+//#define         TEST_DEVICE_H6HRP
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/group/devvideohaitest.mrp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,20 @@
+#
+# Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#
+component		devvideohaitest
+source			\sf\os\mm\mmapitest\devvideohaitest
+notes_source	\sf\os\mm\mmapitest\devvideohaitest\group\release.txt
+ipr				T
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/group/release.txt	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,5 @@
+NOTESRC_RELEASER
+Nokia Corporation
+
+NOTESRC_RELEASE_REASON
+DevVideo SALT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/group/t_devvideo.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,25 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_DEVVIDEO_IBY__)
+#define __T_DEVVIDEO_IBY__
+
+//Test Includes
+#include <..\haitests\t_devvideo_binaries.iby>
+#include <..\haitests\t_devvideo_testdata.iby>
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/group/t_devvideo.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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>
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+TARGET			t_devvideo.exe
+TARGETTYPE		exe
+UID				0x102863E2 0x200041CB
+VENDORID		0x70000001
+
+capability		All -Tcb
+
+SOURCEPATH		../src
+
+SOURCE			../common/src/datawrapperbase.cpp
+SOURCE			t_cmmfdevvideorecorddata.cpp
+SOURCE			t_cmmfdevvideoplaydata.cpp
+SOURCE			t_devvideoserver.cpp 
+SOURCE          H264DecTestEngine.cpp
+
+USERINCLUDE		../inc
+USERINCLUDE		../common/inc 
+
+SYSTEMINCLUDE	/epoc32/include/test
+SYSTEMINCLUDE   /epoc32/include/mmf/devvideo +/include/ecom
+SYSTEMINCLUDE	/epoc32/include/libc
+
+library			ecom.lib euser.lib
+library			efsrv.lib
+library			testexecuteutils.lib
+library			testexecutelogclient.lib
+library		  devvideo.lib
+library 		iniparser.lib
+library     bitgdi.lib
+library		  fbscli.lib
+library			hal.lib
+LIBRARY		    estlib.lib //math.h
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/group/t_devvideo_binaries.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,23 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_DEVVIDEO_BINARIES_IBY__)
+#define __T_DEVVIDEO_BINARIES_IBY__
+
+file=\Epoc32\Release\armv5\urel\t_devvideo.exe		\sys\bin\t_devvideo.exe
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/group/t_devvideo_testdata.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,69 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_DEVVIDEO_TESTDATA_IBY__)
+#define __T_DEVVIDEO_TESTDATA_IBY__
+
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.script					multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-scale-automated.script				multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-scale-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.script					multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.script			multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.script			multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.script		multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.script			multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.script				multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.script						multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-negative-automated.script			multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-negative-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-scale-automated.script				multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-scale-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-pause-resume-automated.script		multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-pause-resume-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-backward-automated.script			multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-backward-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-forward-automated.script				multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-forward-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.script							multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-pause-resume-automated.script			multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-pause-resume-automated.script
+
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.ini					multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-scale-automated.ini				multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-scale-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini					multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.ini			multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.ini			multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini		multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini			multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.ini				multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.ini					multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-negative-automated.ini			multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-negative-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-scale-automated.ini			    multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-scale-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-pause-resume-automated.ini		multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-pause-resume-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-backward-automated.ini			multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-backward-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-forward-automated.ini			multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-forward-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini		multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-pause-resume-automated.ini		multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-pause-resume-automated.ini
+
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.script					multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.script		multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.script					multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.script
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.script		multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.script
+
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini						multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini		multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini						multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini		multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.bat				multimedia\mmf\devvideo\t_devvideo.bat
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.ini				multimedia\mmf\devvideo\t_devvideo.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\t_devvideo_environment.ini				multimedia\mmf\devvideo\t_devvideo_environment.ini
+data=EPOCROOT##Epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs				multimedia\mmf\devvideo\t_devvideo.tcs
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/group/testdriversetup.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+perl testdriversetup.pl --statlite=false
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/group/testdriversetup.pl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,82 @@
+#
+# Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#
+
+use Getopt::Long;
+use Cwd;
+
+
+sub Usage()
+	{
+	print <<USAGE_EOF;
+Usage
+perl testdriversetup.pl --statlite=StatLite
+
+    StatLite = [true | false ]
+
+    --help                      : This help
+USAGE_EOF
+	exit( 0 )
+	}
+
+sub main()
+	{
+	my	$help='';
+	my	$statLite="";
+
+	GetOptions(
+		'statlite=s'=> \$statLite,
+		'help' 		=> \$help
+	);
+
+	if($help or (($statLite ne "true") and ($statLite ne "false")) )
+		{
+		Usage();
+		exit(0);
+		}
+
+	my $theEpocRoot=$ENV{EPOCROOT};
+	my $epoc32Location="$theEpocRoot.\\epoc32";
+
+	my $currentDirectory=cwd;
+	$currentDirectory =~ s/Group//i;
+	$currentDirectory =~ s/\//\\/g;
+
+	my $currentDrive = substr($currentDirectory,0,2);
+
+	my	$cmd="TestDriver config";
+	my	$suite="file:/$currentDrive$epoc32Location\\testdriver\\salt\\devvideohai.driver";
+	$suite =~ s.\\./.g;
+	$suite =~ s\/./\/\g;
+
+	$cmd .= " --bldclean OFF";
+	$cmd .= " --bldmake OFF";
+	$cmd .= " -e $currentDrive$theEpocRoot";
+	$cmd .= " -x $currentDrive$epoc32Location\\testdriver\\salt";
+	$cmd .= " --repos $currentDrive$epoc32Location\\testdriver\\Repository";
+	$cmd .= " -c $currentDrive$epoc32Location\\testdriver\\Results";
+	$cmd .= " -i $currentDirectory";
+	$cmd .= " -s $suite";
+	$cmd .= " --source $currentDirectory";
+	$cmd .= " --tp $currentDirectory";
+	$cmd .= " --testexec ON";
+	$cmd .= " --statlite $statLite";
+	$cmd .= " --teflite true";
+	$cmd .= " --commdb overwrite";
+	system("$cmd");
+	}
+
+main();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/inc/T_DevVideoConstants.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 T_DEVVIDEOCONSTANTS_H_
+#define T_DEVVIDEOCONSTANTS_H_
+
+#include <devvideoplay.h>
+#include <devvideobase.h> 
+
+//Constant
+// size constant declarations
+const TInt KScreenNumber = 0;//check documentation for more information about screen number 
+/**
+ * Length in byte of start code/picture start code
+ */
+const TInt KScLength =3;
+const TInt KVc1HeaderLength = 36;
+/**
+ * Min def. of Max byte size of a h263 coded picture in QCIF
+ */
+const TInt KH263MaxCodedSizeQCIF = (8192); //1024 bytes( 1 kibibyte)
+
+const TInt KH263MaxCodedSizeCIF = (32768); //Min def. of Max byte size of a h263 coded picture in CIF
+
+/**
+ * from VBV buffering model
+ * The Video Buffer Verifier (VBV) is a model hypothetical decoder buffer that will not overflow or underflow 
+ * when fed a conforming MPEG bit stream.
+ * 
+ */
+const TInt KMP4MaxCodedSizeQCIF = (10*16384/8);        
+const TInt KMP4MaxCodedSizeCIF = (40*16384/8);     
+const TInt KMP4MaxCodedSizeVGA = (80*16384/8);     // 2048 bytes / 8 bits
+const TInt KMP4MaxCodedSizePAL = (112*16384/8);    
+const TInt KMP4MaxCodedSize720P = (248*16384/8);   
+const TInt KMaxCodedSize = KMP4MaxCodedSize720P;    // initialize value
+
+/**
+ * Buffer Options Const 
+ * Min Number of Input buffer, used by decoding SetBufferOptions
+ */
+const TInt KNumOfInputBuffers = 2; 
+
+//For Syncronization 
+/**
+ * Time interval for postproc sync test 15 fps
+ */
+const TInt64 KFrameTimeInterval = (TInt64)(1000000/15) ;
+/**
+ * Need to tune if playback timing does not match
+ */
+const TInt64 KStartOffset = 0;
+
+const TInt KQVGAWidth = 240;
+const TInt KQVGAHeight = 320;
+
+const TInt KBufferInputPictures = 1;
+
+enum TVideoCodec
+	{
+	ENoCodec,
+	EH263,
+	EMPEG4,
+	EH264,
+	EAVC,
+    EVC1,
+    EFLV,
+    EVP6,
+	ERV9	
+	};
+
+const TInt KNumPictures = 4;
+
+const TReal32 KVEDSPH263TimerResolution = 30000 / (TReal32 )1001;
+
+#endif /*T_DEVVIDEOCONSTANTS_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/inc/T_DevvideoServer.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 T_DEVVIDEOSERVER_H
+#define T_DEVVIDEOSERVER_H
+
+//	EPOC Includes
+#include <testserver2.h>
+
+/**
+ * This wrapper class extends the test server and creates test server for Video Playback driver
+ */
+class CT_DevVideoServer : public CTestServer2
+	{
+private:
+	class CT_DevVideoBlock : public CTestBlockController
+		{
+	public:
+		inline CT_DevVideoBlock();
+		inline ~CT_DevVideoBlock();
+		CDataWrapper*	CreateDataL( const TDesC& aData );
+		};
+
+public:
+	//~CT_DevVideoServer();
+	static CT_DevVideoServer* NewL();
+	inline CTestBlockController*	CreateTestBlock();
+
+protected:
+	//CT_DevVideoServer();
+	};
+
+#include "t_devvideoserver.inl"
+
+#endif // T_DEVVIDEOSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/inc/T_DevvideoServer.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+CT_DevVideoServer::CT_DevVideoBlock::CT_DevVideoBlock()
+:	CTestBlockController()
+	{
+	}
+
+CT_DevVideoServer::CT_DevVideoBlock::~CT_DevVideoBlock()
+	{
+	}
+CTestBlockController* CT_DevVideoServer::CreateTestBlock()
+	{
+	return new (ELeave)CT_DevVideoBlock();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/inc/h264dectestengine.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,515 @@
+/*
+* 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:  
+*
+*/
+
+
+
+#ifndef __H264DecTestEngine_H
+#define __H264DecTestEngine_H
+
+#include <e32base.h>
+#include <e32std.h>
+#include <f32file.h>
+
+#include "T_DevVideoConstants.h"
+#include <Videoplayhwdevice.h>
+#include <Devvideoplay.h>
+#include <Devvideobase.h> 
+
+//#define __CI_HEADERS__
+//#define __SECUREOUTPUTCI__
+
+
+#ifdef __CI_HEADERS__
+#include <buffermanagementci.h>  // Custom interface buffre management
+
+#endif
+
+
+#ifdef __SECUREOUTPUTCI__
+#include <secureoutputci.h>
+#endif
+
+#include <Bitdev.h>   // for display device 
+#include <Fbs.h>      // for display device
+#include <math.h> //pow
+
+#ifdef __RESOURCENOTIFICATION__
+#include <devvideostandardcustominterfaces.h>
+#endif
+
+
+
+
+
+//////////////////
+// Utility function
+//////////////////
+
+
+// MACROS
+
+// DATA TYPES
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+
+const TUint KMaxNumberOfNals = 100;
+//const TUint KDataChunkSize = 500000;
+
+
+//#ifdef _DEBUG
+#define DEBUGPRINT
+//#endif
+
+// Debug print macro
+#ifdef DEBUGPRINT
+#include <e32svr.h>
+#define PRINT(x) RDebug::Print x;
+#else
+#define PRINT(x)
+#endif
+
+// ENumerations
+
+
+enum TEngineState
+     {
+     EStateNone,
+     ECreated,
+     EInitialized,
+     ERunning,	
+     EPaused,	
+     EStopped,	
+     };
+
+enum TYuvDataOptions
+     {
+     EYuv420Planner,
+     EYuv422Interleaved
+     };
+
+enum THWDevice 
+	{
+	EPostProcessor,
+	EDecoder
+	};
+
+enum TFLVFileType
+	{
+	EFLVNotSet,
+	EFLVContainer,
+	EFLVRaw
+	};
+
+// CLASS DECLARATION
+class CVDecTestAO;
+class CVDecTestEngine;
+class MVDecEngineObserver;
+
+
+/**
+*  Video Decoder Test Engine Observer
+*  
+*  @lib 
+*  @since 
+*/
+class MVDecEngineObserver
+{
+public:
+	
+	virtual void MvdeStreamEndReached() = 0;
+	virtual void MvdeSetError(TInt aError) = 0;
+};
+
+/**
+*  Video Decoder Test Engine 
+*  implements common test execution block
+*  @lib 
+*  @since 
+*/
+class CVDecTestEngine : public CBase , public MMMFDevVideoPlayObserver 
+#ifdef __CI_HEADERS__
+,public MMmfVideoBufferManagementObserver
+#endif
+#ifdef __RESOURCENOTIFICATION__
+,public MMmfVideoResourceObserver
+#endif
+    {
+public:
+
+     
+     TEngineState iState;
+
+public:
+    CVDecTestEngine () { }
+    ~CVDecTestEngine ();
+    static CVDecTestEngine* NewL(MVDecEngineObserver& aTestClass);
+    
+    //info test method
+    void SetCodecType(TVideoCodec aCodec);
+    //void GetDecoderInfoL(const TDesC8& aMimeType, TBool aExactMatch);
+    //void GetPostProcessorInfoL(TInt aCombination);
+    void GetHeaderInformationL();
+    
+	void GetHeaderInformationL(TVideoDataUnitType aDataUnitType, TVideoDataUnitEncapsulation aDataUnitEncapsulation);
+    //void GetHeaderInfoL(const TUid& aDecUid, TVideoDataUnitType aDataUnitType, TVideoDataUnitEncapsulation aDataUnitEncapsulation);
+	void GetBitstreamCountersL();
+	void PreDecoderBufferBytes();	
+    void PictureBufferBytes();
+    
+    // Video test control methods
+    //void SetUpL(TBool aScreenAcces);
+    void SetUpL(TSize aSize, TBool aScreenAccess, TBool aCIBuffMgmt);
+    void CreateDecoderL(const TUid& aDecUid, TVideoCodec aCodec, const TDesC8& aMimeType, TYuvDataOptions aOutFormat);
+    void CreatePostProcessorL(const TUid& aPostprocUid, const TYuvFormat& aInputFormat, const TUncompressedVideoFormat& aOutputFormat, TUint32 aCombination);
+    void CreateDecPostprocL(const TUid& aDecUid, TVideoCodec aCodec, const TUid& aPostprocUid, TUint32 aCombination);
+    TInt Initialize();
+    TInt InitializeAndDelete();
+    TInt Start(TBool aInputEnd);
+    TInt Stop();
+    TInt Resume();
+    TInt Pause();
+    void FreezePicture(TTimeIntervalMicroSeconds aTimeStamp);
+    void ReleaseFreeze(TTimeIntervalMicroSeconds aTimeStamp);
+    void TearDown();    
+    void SetFrameMatch(TBool aMatch);
+    TInt FrameJump(TInt aNumToJump );
+    void SetFrameDrop(TInt aFrameInterval, TInt aFrameNum, TBool aFrameDropMarker );
+    void SetFLVPassword(TDesC8& aPassword); 
+    void EnableInstantFpsL(TFileName& aOutFileName);
+    
+    // Select and set Postprocessing  
+    void SetPostProcessTypesL(TInt aHWDevice, TUint32 aCombination);
+    void SetInputCropOptionsL(TInt aHWDevice, TRect aCrop);
+    void SetYuvToRgbOptionsL(TInt aHWDevice, TYuvToRgbOptions aOptions);
+    void SetRotateOptionsL(TInt aHWDevice, TRotationType aRotation);
+    void SetScaleOptionsL(TInt aHWDevice, TSize aSize, TBool aAntiAliasFiltering);
+    void SetScaleOptionsL(TInt aNumFactor,TInt aDenoFactor, TBool aAntiAliasFiltering);
+    void SetOutputCropOptionsL(TInt aHWDevice, TRect aCrop);
+    void CommitL();
+    void Revert();    
+    
+    void SetClockSource();
+    void SetInputBufferSize(TInt aSize);
+    void SetHrdVbvSpec(THrdVbvSpecification aHrdVbvSpec, const TDesC8& aHrdVbvParams);
+    void SetPostProcSpecificOptionsL(TInt aHWDevice, const TDesC8& aOptions);
+    void SetScreenClipRegion(TRegion& aRegion);
+    void SetPauseOnClipFail(TBool aPause);    
+    void IsPlaying();
+    void GetPictureCounters();
+    void NumFreeBuffers();
+    void NumComplexityLevels(TInt aHWDevice);
+    void InputEnd();
+    void GetNewPictureInfo(TTimeIntervalMicroSeconds& aEarliestTimestamp, 
+						   TTimeIntervalMicroSeconds& aLatestTimestamp);
+    void GetTimedSnapshotL(const TUncompressedVideoFormat& aFormat, 
+							const TTimeIntervalMicroSeconds& aPresentationTimestamp); 
+	void GetTimedSnapshotL(const TUncompressedVideoFormat& aFormat, const TPictureId& aPictureId);						
+    void CancelTimedSnapshot();
+    void GetSupportedSnapshotFormatsL();
+    
+    // Complexity level
+    void SetComplexityLevel(TInt aHWDevice, TInt aLevel);
+    void GetComplexityLevelInfo(TInt aHWDevice, TInt aLevel);
+    
+    //DSA
+    void StartDirectScreenAccessL();
+    void StartDirectScreenAccessL(TRect aVideoRect, TRect aClipRegion);
+    void AbortDirectScreenAccess();    
+    void Redraw();
+    
+    void SetWindowRect(TInt aX, TInt aY, TSize aSize);
+    void SetSecondScreenAccess(TBool aStatus);
+    
+    // snap shot methods
+    void GetSnapshotL(TUncompressedVideoFormat& aFormat);
+    
+    void EnableSynchronization(TInt aFrameRate);
+    void EnableFrameMeasurementTest(TBool aEnable);
+    void SetSecureOutputL(TBool aSecure);
+    void SetPosition(const TTimeIntervalMicroSeconds& aPlaybackPosition);
+    void ResetPosition();
+    TTimeIntervalMicroSeconds PlaybackPosition();
+    void DecodingPosition();
+    void ListFrameSizeL(RArray<TInt> aFramesizes);
+    TInt GetFrameSizeCount();
+    //void GetPictureCounter();
+    void SetLandscapeMode();
+    void SelectDecoderL(const TUid& aUid);
+    void SelectPostProcessorL(const TUid& aUid);
+    void SetInputFormatL(TInt aHwDev, const TUncompressedVideoFormat& aFormat);
+    void SetInputFormatL(TInt aHwDev, const CCompressedVideoFormat& aFormat, 
+						 TVideoDataUnitType aDataUnitType, TVideoDataUnitEncapsulation aEncapsulation,
+						 TBool aDataInOrder);
+	void SetOutputFormatL(TInt aHwDev, const TUncompressedVideoFormat& aFormat);						 
+    void SetBufferOptionsL(const CMMFDevVideoPlay::TBufferOptions& aOptions);
+    void GetBufferOptions();
+    void SynchronizeDecoding(TBool aSynch);
+    void SetVideoDestScreenL(TBool aDest);
+    void SetYuvToRgbOptionsL(TInt aHWDevice, const TYuvToRgbOptions& aOptions, const TYuvFormat& aYuvFormat, TRgbFormat aRgbFormat);
+    void FindCommonFormatsL();
+    TInt FindDecodersL(const TDesC8& aMimeType, TUint32 aPostProcType, TBool aExactMatch, TUid& aUid);
+    TInt FindPostProcessorsL(TUid& aUid, TUint32 aPostProcType);
+    void GetDecoderListL();
+    void ConfigureDecoderL(TVideoPictureHeader& aVideoPictureHeader);
+    void ConfigureDecoderL();
+    void GetOutputFormatListL(TInt aHWDevice);
+    void GetPostProcessorListL();
+    void VideoDecoderInfoL(TUid aVideoDecoder);
+    void PostProcessorInfoL(TUid aPostProcessor);
+    
+    TReal ConvertToRealL(const TDesC& aPtr);
+    
+    //File operations
+    void OpenFileL(TFileName& aInFileName);
+    void OpenFileL(TFileName& aOutFileName, TFileName& aInFileName);
+    void CloseFile();
+    void CorruptInput(TInt aFilter, TInt aInterval, TInt aFrameNum, TInt aPct);
+    void CorruptEngineL();
+    void CorruptEngineL( TVideoInputBuffer* aCodedInBuffer ); 
+    TInt CreateCorruptedFileL(); 
+    void OpenFileToWriteL(TFileName& aInFileName);
+    TInt ReadVC1FrameL(TVideoInputBuffer* aCodedInBuffer);
+    TInt ReadMPEG4FrameL(TVideoInputBuffer* aCodedInBuffer); 
+    
+    TInt SupportsFormatL(const TUid& aUid, const CCompressedVideoFormat& aFormat);
+	TInt SupportsFormatInfoL(const TUid& aUid, const CCompressedVideoFormat& aFormat);		
+	TInt SupportsAccelerationL(TInt aHwDev, const TUid& aUid);		
+	TInt SupportsDirectDisplayL(TInt aHwDev, const TUid& aUid);		
+	TInt SupportsMaxBitrateL(const TUid& aUid, TInt aBitrate);		
+	TInt SupportsMaxPictureSizeL(const TUid& aUid, TSize aSize);		
+	TInt SupportsMaxPictureRateL(const TUid& aUid, TPictureRateAndSize& aRateAndSize);			
+	TInt SupportsPictureLossL(const TUid& aUid);		
+	TInt SupportsSliceLossL(const TUid& aUid);
+ 	TInt SupportsOutputFormatL(TInt aHwdev, const TUncompressedVideoFormat& aFormat);
+ 	void SetSlowClient(TBool aOption);
+ 	void SetFastClient(TBool aOption);
+ 	TInt SetAUFormat();
+ 	TInt MoveFileL(const TDesC &anOld, const TDesC &aNew);
+ 	TInt CopyFileL(const TDesC &anOld, const TDesC &aNew); 	
+ 	
+    
+    // For Active objects
+    void HandleNewBufferL();
+        
+    // From DevVideo Play observer 
+    void MdvpoNewBuffers();
+    void MdvpoReturnPicture(TVideoPicture* aPicture);
+    void MdvpoSupplementalInformation(const TDesC8& aData, const TTimeIntervalMicroSeconds& aTimestamp, const TPictureId& aPictureId);
+    void MdvpoPictureLoss();
+    void MdvpoPictureLoss(const TArray<TPictureId>& aPictures);
+    void MdvpoSliceLoss(TUint aFirstMacroblock, TUint aNumMacroblocks, const TPictureId& aPicture);
+    void MdvpoReferencePictureSelection(const TDesC8& aSelectionData);
+    void MdvpoTimedSnapshotComplete(TInt aError, TPictureData* aPictureData, const TTimeIntervalMicroSeconds& aPresentationTimestamp, const TPictureId& aPictureId);
+    void MdvpoNewPictures();
+    void MdvpoFatalError(TInt aError);
+    void MdvpoInitComplete(TInt aError);
+    void MdvpoStreamEnd();
+   
+    // Buffer Management Custom Interface observer 
+#ifdef __CI_HEADERS__    
+    void MmvbmoNewBuffers();
+    void MmvbmoReleaseBuffers();
+#endif
+#ifdef __RESOURCENOTIFICATION__
+	void MmvroResourcesLost(TUid aMediaDevice);
+    void MmvroResourcesRestored(TUid aMediaDevice);
+#endif
+ 
+protected:
+    // Own test functions
+    void GetInputBufferL();
+    void FillAndSendBufferL();
+    void GetReturnedPictureL();
+    void SaveAndReturnPicture();
+    TInt ReadOneCodedPicture(TVideoInputBuffer* aCodedInBuffer);
+    TInt ReadOneCodedPicture(TVideoInputBuffer* aCodedInBuffer, TInt aSize);
+    TInt ReadRawPicture();
+     
+private:
+	TUint8 ReadByteFromFile();
+	void GoBackInFile(TUint aBytes);
+	void ReadDataToBuffer(TVideoInputBuffer* aCodedInBuffer, TInt aSize, TBool aDiscard = EFalse);
+	TBool CheckAndFillDataChunk();
+	TBool ReadItemLE(unsigned char *readBuffer, int Size, unsigned char* pItem);
+	TInt LoadNextFrameL(TVideoInputBuffer* aCodedInBuffer);
+    void ConstructL(MVDecEngineObserver& aTestClass);
+    void AssertTIntEqualL(TInt aExpected, TInt aActual);
+    void PrintUncompressedFormat(const TUncompressedVideoFormat& aFormat);
+    
+private:
+    CMMFDevVideoPlay* iDevvp;			  //points to DevVideo Play
+    THwDeviceId iDecHWDevId;              //Hwdevise ID of selected Decoder
+    THwDeviceId iPostProcId;              //Hwdevise ID of selected postprocessor
+    TUid iPostProcessorUid;
+    TUid iDecoderUid;
+    CVDecTestAO* iDecTestAO;              
+    TBool iRunning;                       //State of scheduler
+    TYuvFormat iRawFormat;                //Used for Decoder output, postprocessor input 
+    TRgbFormat iDispFormat;               // Display Options
+    TRect iDispRect;                        
+    TInt iError;
+    TVideoInputBuffer* iCodedInBuffer;     // Pointer to Decoder input buffer
+    TVideoInputBuffer* iCorruptedInBuffer;   //Pointer to corrupted input for decoder
+    TInt iInBuffSize;                 // Size of decoder input buffer
+    TVideoPicture* iOutBuffer;             // Pointer to picuture class for output data in memory buffer output 
+    TVideoPicture* iOutBufferTemp;             // Pointer to picuture class for output data in memory buffer output 
+    TVideoPicture* iRawInBuffer;            // Used for postprocessor input
+    HBufC8* iRawDataArea;                  // Pointer to Heap buffer, filled with input data to postprocessor
+    TInt64 iTimeStamp; 
+    TInt64 iFrameTimeInterval;              
+    TInt iSentBuffCount;                    //Number of frames sent to target HwDevice    
+    TInt iReturnedBuffCount;                //Number of frames returned from target HwDevice
+    TInt iPictureLoss;                      // number of picture loss
+    TBool iInputEnd;
+    TBool iStreamEnd; 
+    TVideoCodec iCodecType;                
+    TSize iPictureSize; 
+    CSystemClockSource* iClock;            //Clock source, based on System clock
+    TBool iSynchronized;
+    TBool iDirectScreenAccess;
+    TBool iCIBuffMgmtOn;
+    TBool iDisableInputEnd;
+    TBool iFrameMatch;              // input frame number should match output frame number
+    TInt  iFrameJump;
+    TInt  iFrameJumpCounter;
+    TInt iFrameWriteLength;
+    TInt iCurrentFilePos;
+#ifdef __CI_HEADERS__     	   
+    MMmfVideoBufferManagement* iCIBuffMgmt;  
+#endif    
+    MVDecEngineObserver* iTestClass;
+    TBool iFrameMeasurement;
+    TBool iDsaStarted;
+    TBool iLandscapeMode;
+    TInt iNoBuffAvailable;
+    RArray<TInt> iFrameSizeList;
+    TPictureData iPictureDataSnapshot;
+    TBuf8<128> iInFileName;
+    TBool iSetSlowClient;
+    TBool iSetFastClient;
+    TBool iSetAUFormat;
+    TBool iOutFileOpen;
+    TUint8* iAUBuffer;
+    TUint32* iNalOffsetArray;
+    TUint32* iNalLengthArray;
+    TReal32 iFrameTime;
+    
+    TUint8* iDataChunk;
+    TUint8* iReadDataChunk;
+    TUint8* iWriteDataChunk;
+    TUint iDataReadFromFile;
+    TUint iDataThreshold;
+    TBool iEndOfData;
+    TBool iLastFrame;
+    TBool iUseSecondScreen;
+    
+    //File IO
+    RFs   iFs;
+    RFile iInFile;                         // Input data file
+    RFile iOutFile;                        // Output data file
+    RFile iOutCorruptedFile;
+    RFile iLogFile;
+	TBool iDeleteDecoderFromInitComp;
+	
+	TInt iFlvCounter;
+	TBool iCorruptMarker;
+	TInt iFilter;
+	TInt iInterval;
+	TInt iFrameNum;
+	TInt iPercentage;
+	TInt iFrameCounter;
+	TInt iCorruptCounter;
+	TInt iFrameDropCounter;
+	TInt iFrameDropInterval;
+	TInt iFrameDropNum;
+	TInt iFrameDropNumCounter;
+	TBool iFrameDropMarker;
+	TFileName iOutFileName;
+	TFileName iOutCorruptedFileName;
+	TBool iOutCorruptedFileOpen;
+	TBuf8<128> iPasswordForFLV;
+	TBool iSetPassword;
+    TBool iInstantFpsEnabled;
+    RArray<TTimeIntervalMicroSeconds> iInstantFpsList;
+    RFile iFpsFile;
+
+	
+	// Memory check
+	TInt iMemAlloc;
+	TInt iMemDelete;
+	
+    
+    TInt32 iDataChunkSize;
+    //Fbs
+
+    CFbsScreenDevice* iScreenDevice;
+    
+    CActiveSchedulerWait* iScheduler;      //Nested scheduler
+    
+    TTime							iTime;
+	TDateTime						iTimeBeforeDecoding;
+	TDateTime						iTimeAfterDecoding;	
+	//TInt							iNumFramesDecoded;
+	//TUint64							iTotalTime;
+	//TBool 							iIsBeforeTimeUsed;
+	TUint64							iBeforeDecodingTime;
+	RArray<TUint64>					iBeforeDecoingTimesQueue;
+    TUint							iFrame;
+    //	TInt							iLength;
+	//TBool							iFirstTime;
+	TBool                           iNumFreeBufsFirstTime;
+	TTimeIntervalMicroSeconds		iTimeToPlay;
+    TTimeIntervalMicroSeconds		iPresentationTimestamp;
+	TBool							iNoOfFreeBuffFlag;
+	
+	
+	TInt tempFrame;
+
+	TFLVFileType                    iFLVFileType;
+    };
+
+
+
+
+/**
+*  Video Decoder Test Engine AO
+*  Provides async services
+*  @lib 
+*  @since 
+*/
+
+class CVDecTestAO : public CActive
+{
+	public:
+		CVDecTestAO(CVDecTestEngine* aTestEngine);
+  		~CVDecTestAO();
+  		void RequestData();
+	private:
+		void RunL();
+  		void DoCancel();
+
+	private:
+  		CVDecTestEngine* iTestEngine;
+  	    
+};
+
+
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/inc/t_cmmfdevvideoplaydata.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,360 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 T_CMMFDEVVIDEODATA_H
+#define T_CMMFDEVVIDEODATA_H
+
+//Epoc includes
+#include <e32base.h>
+#include <e32std.h>
+#include <f32file.h>
+#include <videoplayhwdevice.h>
+#include <devvideoplay.h>
+#include <devvideobase.h> 
+#include <bitdev.h>   // for display device 
+#include <fbs.h>  
+//User Includes
+#include "datawrapperbase.h"
+#include "t_devvideoconstants.h"
+#include "H264DecTestEngine.h"
+
+enum TVideoDecoderOutput 
+	{
+	EDecodedFile = 0,
+	EScreenOutput
+	};
+
+//Forward declarations
+class CT_CMMFDevVideoPlay;
+
+//Engine observer handle Async request completeion and release waitclass of Test scriptor
+
+class CEngineObserver:  public CBase, public MVDecEngineObserver
+{
+public:
+    void MvdeStreamEndReached();
+    void MvdeSetError(TInt aError);
+    ~CEngineObserver() {}
+    CEngineObserver(CT_CMMFDevVideoPlay& aTestClass);
+      
+private:
+    CT_CMMFDevVideoPlay& iTestClass;
+    
+};
+/**
+ * Test Active Notification class
+ *
+ */
+class CT_CMMFDevVideoPlay : public CDataWrapperBase, MMMFDevVideoPlayObserver 
+	{
+public:
+	
+	~CT_CMMFDevVideoPlay();
+	virtual TAny*	GetObject();
+	virtual TBool	DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	static	CT_CMMFDevVideoPlay*	NewL();		
+	void DestroyData();
+	TInt ReadOneCodedPicture(TVideoInputBuffer* aCodedInBuffer, TInt aSize);
+	TInt ReadOneCodedPicture(TVideoInputBuffer* aCodedInBuffer);
+	TInt ReadRawPicture();
+	void OpenFileL(TFileName& aInFileName);
+	void OpenFileL(TFileName& aOutFileName, TFileName& aInFileName);
+	void CloseFile();
+	void ListFrameSizeL(TVideoCodec aCodec);
+	void AbortDirectScreenAccess();
+    void StartDirectScreenAccessL();
+    void HandleRuntimeError(TInt aError);
+    void SaveAndReturnPicture();
+    void GetReturnedPicture();
+    void FillAndSendBufferL();
+    void GetInputBuffer();
+    void HandleNewBufferL();  
+    void SetWindowRect(TInt aX, TInt aY, TSize aSize);
+    void CreateFiles(const TTEFSectionName& aSection);
+    void InitializeParamsL(const TTEFSectionName& aSection);    
+	void MdvpoNewBuffers();
+    void MdvpoReturnPicture(TVideoPicture* aPicture);
+    void MdvpoSupplementalInformation(const TDesC8& aData, const TTimeIntervalMicroSeconds& aTimestamp, const TPictureId& aPictureId);
+    void MdvpoPictureLoss();
+    void MdvpoPictureLoss(const TArray<TPictureId>& aPictures);
+    void MdvpoSliceLoss(TUint aFirstMacroblock, TUint aNumMacroblocks, const TPictureId& aPicture);
+    void MdvpoReferencePictureSelection(const TDesC8& aSelectionData);
+    void MdvpoTimedSnapshotComplete(TInt aError, TPictureData* aPictureData, const TTimeIntervalMicroSeconds& aPresentationTimestamp, const TPictureId& aPictureId);
+    void MdvpoNewPictures();
+    void MdvpoFatalError(TInt aError);
+    void MdvpoInitComplete(TInt aError);    
+    void MdvpoStreamEnd();   
+protected:
+	CT_CMMFDevVideoPlay();
+	void ConstructL();
+private:
+	void DoCmdInitialize(const TInt aAsyncErrorIndex);
+	void DoCmdStart(const TInt aAsyncErrorIndex);
+	void DoCmdStop();
+	void DoCmdPause();
+	void DoCmdResume();
+	void DoCmdSetRotateOptionsL(const TTEFSectionName& aSection);
+	void DoCmdSetScaleOptionsL(const TTEFSectionName& aSection);
+	void DoCmdSetPosition(const TTEFSectionName& aSection);
+	void DoCmdSetClockSource(const TTEFSectionName& aSection);
+	void DoCmdNewL(const TTEFSectionName& aSection);
+	void DoCmdSelectDecoderL(const TTEFSectionName& aSection);
+	void DoCmdSetInputFormatL(const TTEFSectionName& aSection);
+	void DoCmdSelectPostProcessorL(const TTEFSectionName& aSection);
+	void DoCmdGetOutputFormatListL(const TTEFSectionName& aSection);
+	void DoCmdPostProcessorInfoLC();
+	void DoCmdFindCommonFormat();
+	void DoCmdSetOutputFormatL(const TTEFSectionName& aSection);
+	void DoCmdGetHeaderInformationL(const TTEFSectionName& aSection);
+	void DoCmdSetVideoDestScreenL();
+	void DoCmdGetBufferOptions();
+	void DoCmdSetBufferOptionsL();
+	void DoCmdSetPostProcessTypesL(const TTEFSectionName& aSection);
+	void DoCmdReturnHeader();
+	void DoCmdDestructor();
+	void DoCmdAbortDirectScreenAccess();
+	void DoCmdStartDirectScreenAccessL(const TTEFSectionName& aSection);
+	void DoCmdUtilityGetEnvironmentL();
+
+	void DoCmdH264CreateDecTest(const TTEFSectionName& aSection);
+	void DoCmdH264SelectPostProcessor(const TTEFSectionName& aSection);
+	void DoCmdH264SetPostProcessTypes(const TTEFSectionName& aSection);
+	void DoCmdH264SetInputFormatCompr(const TTEFSectionName& aSection);
+	void DoCmdH264SetOutputFormat(const TTEFSectionName& aSection);
+	void DoCmdH264SetBufferOptions(const TTEFSectionName& aSection);
+	void DoCmdH264ListFrameSize();
+	void DoCmdH264SetVideoDestScreen(const TTEFSectionName& aSection);
+	void DoCmdH264SetWindowRect(const TTEFSectionName& aSection);
+	void DoCmdH264Initialize();
+	void DoCmdH264Start(const TTEFSectionName& aSection);
+	void DoCmdH264Stop();
+	void DoCmdH264Pause();
+	void DoCmdH264Resume();
+	void DoCmdH264IOFrameNumMatch();
+	void DoCmdH264FindCommonFormats();
+	void DoCmdH264GetHeaderInformation(const TTEFSectionName& aSection);
+	void DoCmdH264EnableSynchronization(const TTEFSectionName& aSection);
+	void DoCmdH264SetScaleOptions(const TTEFSectionName& aSection);
+	void DoCmdH264SetRotateOptions(const TTEFSectionName& aSection);
+	void DoCmdH264SynchronizeDecoding(const TTEFSectionName& aSection);
+	void DoCmdH264Delete();
+	void DoCmdH264SetPosition(const TTEFSectionName& aSection);
+	void DoCmdH264AbortDirectScreenAccess();
+private:
+	/**
+	 * Wrapped object
+	 */
+	CMMFDevVideoPlay* iDevvp; 
+	/**
+	 * For selected decoder
+	 */
+    THwDeviceId iDecHWDevId; 
+    /**
+	 * For selected Post processor
+	 */
+    THwDeviceId iPostProcId;
+    /**
+	 * Size of video buffer
+	 */
+    TInt	iInBuffSize; 
+    /**
+	 * Control the number of inputs
+	 */
+    TBool	iInputEnd;
+    /**
+	 * Direct Screen Access
+	 */
+    TBool	iDsaStarted;
+    /**
+	 * For synchronize the clock(fps)
+	 */
+    TBool	iSynchronized;
+    /**
+	 * Listed frames
+	 */
+    TBool	iFrameListed;
+    /**
+	 * The size of the picture
+	 */
+    TSize	iPictureSize;
+    /**
+	 * Async error
+	 */
+    TInt	iAsyncErrorIndex;
+    /**
+	 * Width and height of the video
+	 */
+    TRect	iDispRect;
+    /**
+	 * For management the Open files
+	 */
+	TBool	iFileOpen;
+	/**
+	 * for get the coded buffer
+	 */
+	TVideoInputBuffer* iCodedInBuffer;
+	/**
+	 * Output buffer
+	 */
+    TVideoPicture* iOutBuffer;
+    /**
+	 * 
+	 */
+    TVideoPicture* iRawInBuffer;
+    /**
+	 * For synch the time
+	 */
+    TInt64	iTimeStamp;
+    /**
+	 * Time interval in each frame
+	 */
+    TInt64	iFrameTimeInterval;
+    /**
+	 * Buffer control
+	 */
+    TInt	iSentBuffCount;
+    /**
+	 * Buffer control
+	 */
+    TInt	iReturnedBuffCount;
+    /**
+	 * Loss Pictures
+	 */
+    TInt	iPictureLoss;
+    /**
+	 * The end of the stream
+	 */
+    TBool	iStreamEnd;
+    /**
+	 * Type of codec
+	 */
+    TVideoCodec iCodecType;
+    /**
+	 * Management of the time between frames
+	 */
+    CSystemClockSource* iClock;
+    /**
+	 * Direct Access at the Screen
+	 */
+    TBool	iDirectScreenAccess;
+    /**
+	 * for handle the buffer
+	 */
+    TBool	iCIBuffMgmtOn;
+    /**
+	 * For measurement of the frame
+	 */
+    TBool	iFrameMeasurement;
+    /**
+	 * for H264
+	 */
+    RArray<TInt> iFrameSizeList;
+    /**
+	 * frame rate(fps)
+	 */
+    TInt iFramerate;
+    /**
+	 *  File Server
+	 */
+    RFs   iFs;  
+    /**
+	 * Input file
+	 */
+    RFile iInFile;
+    /**
+	 * Ouput file
+	 */
+    RFile iOutFile;	
+    /**
+	 *  Fbs
+	 */
+    CFbsScreenDevice* iScreenDevice;  
+    /**
+	 * Common format between Post processor and decoder
+	 */
+    TUncompressedVideoFormat iCommonFormat;
+    /**
+	 * Decoder read from the ini file
+	 */
+    TUid iSelectDecoder;
+    /**
+	 * Post processor read from the ini file
+	 */
+    TUid iSelectPostProcessor;
+    /**
+	 * Formats Decoder
+	 */
+    RArray<TUncompressedVideoFormat> iDecFormats;
+    /**
+	 * Post processor formats
+	 */
+    RArray<TUncompressedVideoFormat> iPPFormats;
+    /**
+	 * Information about the post processor
+	 */
+    CPostProcessorInfo* iInfo; 
+    /**
+	 * if exist information for header info
+	 */
+    TVideoPictureHeader* iHeaderInfo;
+    /**
+	 * Buffer options
+	 */
+    CMMFDevVideoPlay::TBufferOptions iBufferOptions;
+    /**
+	 * The common format
+	 */
+    TBool iCommonFormatFound;  
+    /**
+     * To Control the errors in GetInputBuffer
+     */
+    TBool iErrorInputBuffer;
+    /**
+	 * Enum for codecs
+	 */   
+    static const TEnumEntryTable iCodecs[];
+    /**
+	 * Enum for Display mode
+	 */
+    static const TEnumEntryTable iDisplayModes[];
+    /**
+	 * Enum for rotations
+	 */
+    static const TEnumEntryTable iRotations[];
+    /**
+	 * Enum for Video Data Unit Types
+	 */
+    static const TEnumEntryTable iTVideoDataUnitType[];
+    /**
+	 * Enum for Video Data Unit Encapsulation
+	 */
+    static const TEnumEntryTable iTVideoDataUnitEncapsulation[];
+    
+    /**
+     * H264
+     */
+    CVDecTestEngine* iEngine;
+    CEngineObserver* iObserver;
+    TBool iUse264;
+    TInt iFrameRate;
+	};
+	
+	
+#endif // T_CMMFDEVVIDEODATA_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/inc/t_cmmfdevvideorecorddata.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,178 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 T_MMFDEVVIDEORECORDDATA_H_
+#define T_MMFDEVVIDEORECORDDATA_H_
+
+//Epoc includes
+#include <devvideorecord.h>
+#include <devvideobase.h>
+
+//User includes
+#include "datawrapperbase.h"
+#include "t_devvideoconstants.h"
+
+class CT_MMFDevVideoRecordData : public CDataWrapperBase, public MMMFDevVideoRecordObserver 
+{
+public://construction
+	static CT_MMFDevVideoRecordData* NewL();
+	virtual ~CT_MMFDevVideoRecordData();
+
+public:
+	virtual TAny* GetObject();
+
+protected://construction
+	CT_MMFDevVideoRecordData();
+	void ConstructL();
+
+public://commands
+	virtual TBool DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);	
+private://commands
+	void DoCmdNewL(const TTEFSectionName& aSection);
+	void DoCmdDestructor();
+	void DoCmdSelectEncoderL(const TTEFSectionName& aSection);
+	void DoCmdSetInputFormatL();
+	void DoCmdSetOutputFormatL(const TTEFSectionName& aSection);
+	void DoCmdSetBufferOptionsL(const TTEFSectionName& aSection);
+	void DoCmdSetSourceMemoryL();
+	void DoCmdSetMinRandomAccessRate(const TTEFSectionName& aSection);
+	void DoCmdInitialize(const TInt aAsyncErrorIndex);
+	void DoCmdSetComplexityLevel(const TTEFSectionName& aSection);
+	void DoCmdStart(const TInt aAsyncErrorIndex);
+	void DoCmdPause();
+	void DoCmdResume();
+	void DoCmdStop();
+  void DoCmdSetRateControlOptions(const TTEFSectionName& aSection);
+
+	
+private://callbacks
+	void MdvroReturnPicture(TVideoPicture *aPicture);
+	void MdvroSupplementalInfoSent();
+	void MdvroNewBuffers();
+	void MdvroFatalError(TInt aError);
+	void MdvroInitializeComplete(TInt aError);
+	void MdvroStreamEnd();
+	
+private://helpers
+	void SetPictureTypeL(const TTEFSectionName& aSection);
+	void CreateBuffers();
+	int CreateFiles(const TTEFSectionName& aSection);
+	int OpenFile(TFileName& aOutFileName, TFileName& aInFileName);
+	void HandleNewBuffer();
+	void HandleReturnedPicture();
+	TInt HandleOutputRequest(/*TInt aNumberOfPictures*/);
+	void SaveAndReturnBuffer(TVideoOutputBuffer* tmp);
+	TInt FillAndSendBuffer();
+	void DoCmdUtilityGetEnvironmentL();
+	void DestroyData();
+private:
+	/**
+	 * Async Error
+	 */
+	TInt iAsyncErrorIndex;
+	/**
+	 * Wrapped object
+	 */
+	CMMFDevVideoRecord* iDevvr;
+	/**
+	 * Buffer control
+	 */
+	TInt iBufferCount;	
+	/**
+	 * Time control
+	 */
+	TUint32 iTimeStamp;
+	/**
+	 * Number of written pictures
+	 */
+	TInt iWrittenPictures;
+	/**
+	 * Number of returned pictures
+	 */
+	TInt iReturnedPictures;
+	/**
+	 * Compressed buffers
+	 */
+	TInt iCompressedBuffers;
+	/** 
+	 * Number of  buffered pictures
+	 */
+	TInt iBufferedPictures;
+	/**
+	 * Control the recording ending
+	 */
+	TBool iStopAfterAllFramesReturned;
+	/**
+	 * Control the number of inputs
+	 */
+	TBool iInputEnd;
+	/**
+	 * Control Frame rate
+	 */
+	TInt iFrameRate;
+	/**
+	 * Control bit rate
+	 */
+	TInt iBitRate;
+	/**
+	 * Picture size
+	 */
+	TSize iPictSize;
+	/**
+	 * Buffer list
+	 */
+	RPointerArray<TUint8>*iDatabuf;
+	/**
+	 * Id for hardware encoder
+	 */
+	THwDeviceId iEncHWDevId;
+	/**
+	 * One uncompressed video picture.
+	 * Used for both decoded picture output as well as uncompressed picture input
+	 */
+	TVideoPicture iPicture[KBufferInputPictures];
+	/**
+	 * Number of requests
+	 */
+	TInt iRequests;
+	/**
+	 * Type of requests
+	 */
+	TInt iRequestTypes;
+	/** Number of output requests
+	 */
+	TInt iOutputRequests;
+	/**
+	 * File server
+	 */
+	RFs   iFs;
+	/**
+	 * Input file
+	 */
+	RFile iInFile;
+	/**
+	 * Output file
+	 */
+	RFile iOutFile;
+	/**
+	 * Specification enum
+	 */
+	static const TEnumEntryTable iHrdVbvSpecification[];
+};
+#endif /*T_MMFDEVVIDEORECORDDATA_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/pkg/t_devvideo.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,37 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.script				-tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.script	-tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-MPEG4-automated.script				-tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-MPEG4-pause-resume-automated.script	-tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-pause-resume-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-scale-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-backward-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-forward-resume-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-pause-resume-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-negative-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-scale-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
+testexecute c:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.script -tcx c:\multimedia\mmf\devvideo\t_devvideo.tcs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h263-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,794 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName mm-mmf-devvideo-playback-h263-automated
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devvideo
+
+DELAY 2000
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0001
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP H.263 CIF Video Playback at 15fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = akiyo_cif_15fps_384k_dec.h263; screen = TRUE; codec = EH263; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, H263}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,H263})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,H263})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL (useDecoder = FALSE)
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0001
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0002
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP H.263 CIF Video Playback at 30fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = akiyo_cif_30fps_384k_dec.h263; screen = TRUE; codec = EH263; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, H263}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,H263})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,H263})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL (useDecoder = FALSE)
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0002
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0003
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP H.263 CIF Video Playback at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = akiyo_cif_15fps_128k_dec.h263; screen = TRUE; codec = EH263; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, H263}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,H263})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,H263})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL (useDecoder = FALSE)
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0003
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0004
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoPlay:: GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay:: GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay:: SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay:: SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay:: {ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay:: FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay::  SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: {ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay::  ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay::  SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay::  SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay::  GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay::  SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay::  SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay::  Initialize();
+//!                CMMFDevVideoPlay::  StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay::  Start();
+//!                CMMFDevVideoPlay::  Stop();
+//!                CMMFDevVideoPlay::  AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP H.263 CIF Video Playback at 15fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = akiyo_cif_15fps_64k_dec.h263 ; screen = TRUE; codec = EH263; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, H263}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,H263})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,H263})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL (useDecoder = FALSE)
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0004
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0005
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoPlay:: GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay:: GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay:: SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay:: SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay:: {ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay:: FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay::  SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: {ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay::  ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay::  SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay::  SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay::  GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay::  SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay::  SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay::  Initialize();
+//!                CMMFDevVideoPlay::  StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay::  Start();
+//!                CMMFDevVideoPlay::  Stop();
+//!                CMMFDevVideoPlay::  AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP H.263 QCIF Video playback at 15fps, 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = football_qcif_15fps_128k_dec.h263; screen = TRUE; codec = EH263; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, H263}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,H263})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,H263})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL (useDecoder = FALSE)
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0005
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0006
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0006
+//!@SYMAPI
+//!                CMMFDevVideoPlay:: GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay:: GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay:: SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay:: SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay:: {ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay:: FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay::  SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: {ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay::  ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay::  SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay::  SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay::  GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay::  SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay::  SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay::  Initialize();
+//!                CMMFDevVideoPlay::  StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay::  Start();
+//!                CMMFDevVideoPlay::  Stop();
+//!                CMMFDevVideoPlay::  AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP H.263 SQCIF Video Playback at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = foreman_sqcif_15fps_128k_dec.h263; screen = TRUE; codec = EH263; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, H263}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,H263})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,H263})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL (useDecoder = FALSE)
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0006
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0007
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0007
+//!@SYMAPI
+//!                CMMFDevVideoPlay:: GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay:: GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay:: SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay:: SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay:: {ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay:: FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay::  SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: {ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay::  ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay::  SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay::  SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay::  GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay::  SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay::  SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay::  Initialize();
+//!                CMMFDevVideoPlay::  StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay::  Start();
+//!                CMMFDevVideoPlay::  Stop();
+//!                CMMFDevVideoPlay::  AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP H.263 QCIF Video Playback at 15fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = football_qcif_15fps_64k_dec.h263; screen = TRUE; codec = EH263; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, H263}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,H263})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,H263})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL (useDecoder = FALSE)
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0007
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0008
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0008
+//!@SYMAPI
+//!                CMMFDevVideoPlay:: GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay:: GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay:: SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay:: SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay:: {ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay:: FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay::  SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: {ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay::  ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay::  SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay::  SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay::  GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay::  SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay::  SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay::  Initialize();
+//!                CMMFDevVideoPlay::  StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay::  Start();
+//!                CMMFDevVideoPlay::  Stop();
+//!                CMMFDevVideoPlay::  AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP H.263 SQCIF Video Playback at 15fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = foreman_sqcif_15fps_64k_dec.h263; screen = TRUE; codec = EH263; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, H263}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,H263})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,H263})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL (useDecoder = FALSE)
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.263-AUTOMATED-0008
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h263-scale-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,130 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName mm-mmf-devvideo-playback-h263-scale-automated
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devvideo
+
+DELAY 2000
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H263-SCALE-AUTOMATED-0001
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H263-SCALE-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP H.263 QCIF Video FULL SCREEN  at  15fps 128 Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = football_qcif_15fps_128k_dec.h263; screen = TRUE; codec = EH263; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, H263}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,H263})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,H263})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 48)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. SetScaleOptionsL (x = 0;y = 0;width = 240;height = 320)
+//!                20. Initialize
+//!                OUTSTANDING
+//!                21. StartDirectScreenAccess (displayMode = EColor64K)
+//!                22. Start 
+//!                OUTSTANDING
+//!                23. Stop
+//!                24. AbortDirectScreenAccess
+//!                25. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the full screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-scale-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		SetScaleOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SetScaleOptionsL_command19
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-StartDirectScreenAccess_command21
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H263-SCALE-AUTOMATED-0001
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h264-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,569 @@
+//
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+
+LOAD_SUITE t_devvideo
+
+DELAY 2000
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0001
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		29/9/2009
+//!@SYMTestCaseDesc		 NCP H.264 SQCIF Video at  30fps 64 Kbps
+//!						 MIME(video/h264)
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-Start_command15
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264Stop
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0001
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0002
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		29/9/2009
+//!@SYMTestCaseDesc		 NCP H.264 QVGA Video at  15fps 384 Kbps
+//!						 MIME(video/h264; profile-level-id=42800C)
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-Start_command15
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264AbortDirectScreenAccess
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0002
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0003
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		29/9/2009
+//!@SYMTestCaseDesc		 NCP H.264 QVGA Video at  30fps 764 Kbps
+//!						 MIME(video/h264)
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-Start_command15
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264AbortDirectScreenAccess
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0003
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0004
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		29/9/2009
+//!@SYMTestCaseDesc		 NCP H.264 QCIF Video at  15fps 64 Kbps
+//!						 MIME(video/h264)
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-Start_command15
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264Stop
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0004
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0005
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		29/9/2009
+//!@SYMTestCaseDesc		 NCP H.264 QCIF Video at  15fps 192 Kbps
+//!						 MIME(video/h264; profile-level-id=42800B)
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-Start_command15
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264Stop
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0005
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0006
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0006
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		29/9/2009
+//!@SYMTestCaseDesc		 NCP H.264 QCIF Video at  30fps 384 Kbps
+//!						 MIME(video/h264; profile-level-id=42800C)
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-Start_command15
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264Stop
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0006
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0007
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0007
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		27/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 CIF Video at  15fps 391 Kbps
+//!						 MIME(video/h264)
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-Start_command15
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264AbortDirectScreenAccess
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0007
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0008
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0008
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		27/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 CIF Video at  15fps 764 Kbps
+//!						 MIME(video/h264; profile-level-id=42800D)
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-Start_command15
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264AbortDirectScreenAccess
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0008
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0009
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0009
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		27/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 CIF Video at  30fps 764 Kbps
+//!						 MIME(video/h264; profile-level-id=42800D)
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-Start_command15
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264AbortDirectScreenAccess
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0009
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0010
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0010
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		27/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 CIF Video at  15fps 1Mbps
+//!						 MIME(video/h264; profile-level-id=428014)
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-Start_command15
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264AbortDirectScreenAccess
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-AUTOMATED-0010
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h264-backward-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,324 @@
+//
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+
+LOAD_SUITE t_devvideo
+
+DELAY 2000
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-BACKWARD-AUTOMATED-0001
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-BACKWARD-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!				   CMMFDevVideoPlay:: Pause();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref});
+//!				   CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		28/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 SQCIF Video at  30fps 64 Kbps
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with backward action without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-backward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-Start_command15
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		H264Pause
+		COMMAND		mmfdvplay		H264SetPosition					MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SetPosition_command17
+		COMMAND		mmfdvplay		H264Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264Stop
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-BACKWARD-AUTOMATED-0001
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-BACKWARD-AUTOMATED-0002
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-BACKWARD-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!				   CMMFDevVideoPlay:: Pause();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref});
+//!				   CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		28/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 QCIF Video at  15fps 64 Kbps
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with backward action without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-backward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-Start_command15
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		H264Pause
+		COMMAND		mmfdvplay		H264SetPosition					MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SetPosition_command17 
+		COMMAND		mmfdvplay		H264Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264Stop
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-BACKWARD-AUTOMATED-0002
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-BACKWARD-AUTOMATED-0003
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-BACKWARD-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!				   CMMFDevVideoPlay:: Pause();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref});
+//!				   CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		28/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 QCIF Video at  30fps 384 Kbps
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with backward action without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-backward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-Start_command15
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		H264Pause
+		COMMAND		mmfdvplay		H264SetPosition					MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SetPosition_command17
+		COMMAND		mmfdvplay		H264Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264Stop
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-BACKWARD-AUTOMATED-0003
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-BACKWARD-AUTOMATED-0004
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-BACKWARD-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!				   CMMFDevVideoPlay:: Pause();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref});
+//!				   CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		28/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 CIF Video at 15fps 764 Kbps
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with backward action without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-backward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-Start_command15
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		H264Pause
+		COMMAND		mmfdvplay		H264SetPosition					MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SetPosition_command17 
+		COMMAND		mmfdvplay		H264Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264AbortDirectScreenAccess
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-BACKWARD-AUTOMATED-0004
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-BACKWARD-AUTOMATED-0005
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-BACKWARD-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!				   CMMFDevVideoPlay:: Pause();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref});
+//!				   CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		28/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 QVGA Video at 15fps 384 Kbps
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with backward action without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-backward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-Start_command15
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		H264Pause
+		COMMAND		mmfdvplay		H264SetPosition					MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SetPosition_command17
+		COMMAND		mmfdvplay		H264Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264AbortDirectScreenAccess
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-BACKWARD-AUTOMATED-0005
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h264-forward-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,324 @@
+//
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+
+LOAD_SUITE t_devvideo
+
+DELAY 2000
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-FORWARD-AUTOMATED-0001
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-FORWARD-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!				   CMMFDevVideoPlay:: Pause();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref});
+//!				   CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		28/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 SQCIF Video at  30fps 64 Kbps
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with forward action without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-forward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-Start_command15
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		H264Pause
+		COMMAND		mmfdvplay		H264SetPosition					MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SetPosition_command17
+		COMMAND		mmfdvplay		H264Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264Stop
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-FORWARD-AUTOMATED-0001
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-FORWARD-AUTOMATED-0002
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-FORWARD-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!				   CMMFDevVideoPlay:: Pause();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref});
+//!				   CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		28/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 QCIF Video at  15fps 64 Kbps
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with forward action without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-forward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-Start_command15
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		H264Pause
+		COMMAND		mmfdvplay		H264SetPosition					MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SetPosition_command17 
+		COMMAND		mmfdvplay		H264Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264Stop
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-FORWARD-AUTOMATED-0002
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-FORWARD-AUTOMATED-0003
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-FORWARD-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!				   CMMFDevVideoPlay:: Pause();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref});
+//!				   CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		28/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 QCIF Video at  30fps 384 Kbps
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with forward action without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-forward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-Start_command15
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		H264Pause
+		COMMAND		mmfdvplay		H264SetPosition					MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SetPosition_command17
+		COMMAND		mmfdvplay		H264Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264Stop
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-FORWARD-AUTOMATED-0003
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-FORWARD-AUTOMATED-0004
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-FORWARD-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!				   CMMFDevVideoPlay:: Pause();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref});
+//!				   CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		28/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 CIF Video at 15fps 764 Kbps
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with forward action without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-forward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-Start_command15
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		H264Pause
+		COMMAND		mmfdvplay		H264SetPosition					MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SetPosition_command17 
+		COMMAND		mmfdvplay		H264Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264AbortDirectScreenAccess
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-FORWARD-AUTOMATED-0004
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-FORWARD-AUTOMATED-0005
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-FORWARD-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!				   CMMFDevVideoPlay:: Pause();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref});
+//!				   CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		28/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 QVGA Video at 15fps 384 Kbps
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with forward action without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-forward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-Start_command15
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		H264Pause
+		COMMAND		mmfdvplay		H264SetPosition					MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SetPosition_command17
+		COMMAND		mmfdvplay		H264Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264AbortDirectScreenAccess
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-FORWARD-AUTOMATED-0005
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h264-negative-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,108 @@
+//
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+
+LOAD_SUITE t_devvideo
+
+DELAY 2000
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-NEGATIVE-AUTOMATED-0001
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-NEGATIVE-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!@SYMAuthor			katherine xu
+//!@SYMCreationDate		29/9/2009
+//!@SYMTestCaseDesc		 NCP H.264 SQCIF Video at  30fps 64Kbps
+//!                      Wrong Buffer Option
+//!@SYMTestActions
+//!                1. Create decode test
+//!                2. SelectDecoderL 
+//!                3. SetInputFormatCompr
+//!                4. SetOutputFormat
+//!                5. SetBufferOptions(minNumInputBuffers = 0)
+//!						All values greater than 0 can pass.
+//!                6. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestType			CIT
+START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-negative-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetInputFormatCompr_command02
+		COMMAND		mmfdvplay		H264SetOutputFormat				MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetOutputFormat_command03
+		COMMAND	!Error=-5	mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetBufferOptions_command04
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-NEGATIVE-AUTOMATED-0001
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-NEGATIVE-AUTOMATED-0002
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-NEGATIVE-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!@SYMAuthor			katherine xu
+//!@SYMCreationDate		29/9/2009
+//!@SYMTestCaseDesc		 NCP H.264 SQCIF Video at  30fps 64Kbps
+//!                      Set wrong output format.
+//!@SYMTestActions
+//!                1. Create decode test
+//!                2. SelectDecoderL 
+//!                3. SetInputFormatCompr
+//!                4. SetOutputFormat(dataFormat=ERgbRawData)
+//!                5. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestType			CIT
+START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-negative-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetInputFormatCompr_command02
+		COMMAND		!Error=-5		mmfdvplay		H264SetOutputFormat				MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetOutputFormat_command03
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-NEGATIVE-AUTOMATED-0002
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-NEGATIVE-AUTOMATED-0003
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H.264-NEGATIVE-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!@SYMAuthor			katherine xu
+//!@SYMCreationDate		29/9/2009
+//!@SYMTestCaseDesc		 NCP H.264 SQCIF Video at  30fps 64Kbps
+//!                      Invalid mime type
+//!@SYMTestActions
+//!                1. Create decode test
+//!                2. SelectDecoderL
+//!				   3. SetInputFormatCompr(format = {MIME, KH264MimeInvalid})
+//!                3. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestType			CIT
+START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-negative-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-CreateDecTest_command01
+		COMMAND	!Error=-5		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SetInputFormatCompr_command02
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-NEGATIVE-AUTOMATED-0003
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h264-pause-resume-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,339 @@
+//
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+
+LOAD_SUITE t_devvideo
+
+DELAY 2000
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-PAUSE-RESUME-AUTOMATED-0001
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H264-PAUSE-RESUME-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!				   CMMFDevVideoPlay:: Pause();
+//!				   CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		27/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 SQCIF Video at  30fps 64 Kbps
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with pause resume action without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-Start_command15
+		ASYNC_DELAY  2000000 
+		COMMAND		mmfdvplay		H264Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		H264Resume
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		H264Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		H264Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264Stop
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-PAUSE-RESUME-AUTOMATED-0001
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-PAUSE-RESUME-AUTOMATED-0002
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H264-PAUSE-RESUME-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!				   CMMFDevVideoPlay:: Pause();
+//!				   CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		27/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 QCIF Video at  15fps 64 Kbps
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with pause resume action without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-Start_command15
+		ASYNC_DELAY  2000000 
+		COMMAND		mmfdvplay		H264Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		H264Resume
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		H264Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		H264Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264Stop
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-PAUSE-RESUME-AUTOMATED-0002
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-PAUSE-RESUME-AUTOMATED-0003
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H264-PAUSE-RESUME-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!				   CMMFDevVideoPlay:: Pause();
+//!				   CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		27/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 QCIF Video at  30fps 384 Kbps
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with pause resume action without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-Start_command15
+		ASYNC_DELAY  2000000 
+		COMMAND		mmfdvplay		H264Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		H264Resume
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		H264Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		H264Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264Stop
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-PAUSE-RESUME-AUTOMATED-0003
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-PAUSE-RESUME-AUTOMATED-0004
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H264-PAUSE-RESUME-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!				   CMMFDevVideoPlay:: Pause();
+//!				   CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		27/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 CIF Video at 15fps 764 Kbps
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with pause resume action without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-Start_command15
+		ASYNC_DELAY  2000000 
+		COMMAND		mmfdvplay		H264Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		H264Resume
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		H264Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		H264Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264AbortDirectScreenAccess
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-PAUSE-RESUME-AUTOMATED-0004
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-PAUSE-RESUME-AUTOMATED-0005
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H264-PAUSE-RESUME-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!				   CMMFDevVideoPlay:: Pause();
+//!				   CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		27/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 QVGA Video at 15fps 384 Kbps
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with pause resume action without any blurrness.
+//!@SYMTestType			CIT
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-Start_command15
+		ASYNC_DELAY  2000000 
+		COMMAND		mmfdvplay		H264Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		H264Resume
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		H264Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		H264Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264AbortDirectScreenAccess
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H.264-PAUSE-RESUME-AUTOMATED-0005
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-h264-scale-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,145 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName mm-mmf-devvideo-playback-h263-scale-automated
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// The tests are fully automated.
+//
+
+LOAD_SUITE t_devvideo
+
+DELAY 2000
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H264-SCALE-AUTOMATED-0001
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H264-SCALE-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		29/9/2009
+//!@SYMTestCaseDesc		 NCP H.264 QCIF Video FULL SCREEN  at  30fps 384 Kbps
+//!						 MIME(video/h264; profile-level-id=42800C)
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the full screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-scale-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-Start_command15
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264Stop
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H264-SCALE-AUTOMATED-0001
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H264-SCALE-AUTOMATED-0002
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-H264-SCALE-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref}, CMMFDevVideoPlay::TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr});
+//!				   CMMFDevVideoPlay:: SynchronizeDecoding(TBool);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			Katherine Xu
+//!@SYMCreationDate		27/10/2009
+//!@SYMTestCaseDesc		 NCP H.264 SQCIF Video FULL SCREEN  at  15fps 35 Kbps
+//!						 MIME(video/h264)
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the full screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-scale-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		H264CreateDecTest				MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-CreateDecTest_command01
+		COMMAND		mmfdvplay		H264SelectPostProcessor			MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SelectPostProcessor_command02
+		COMMAND		mmfdvplay		H264SetInputFormatCompr			MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SetInputFormatCompr_command03
+		COMMAND		mmfdvplay		H264FindCommonFormats
+		COMMAND		mmfdvplay		H264SetBufferOptions			MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SetBufferOptions_command05
+		COMMAND		mmfdvplay		H264ListFrameSize
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SetPostProcessTypes_command07
+		COMMAND		mmfdvplay		H264SetVideoDestScreen			MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SetVideoDestScreen_command08
+		COMMAND		mmfdvplay		H264SetWindowRect				MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SetWindowRect_command09
+		COMMAND		mmfdvplay		H264SetPostProcessTypes			MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SetPostProcessTypes_command10
+		COMMAND		mmfdvplay		H264EnableSynchronization		MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-EnableSynchronization_command11
+		COMMAND		mmfdvplay		H264SynchronizeDecoding			MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SynchronizeDecoding_command12
+		COMMAND		mmfdvplay		H264Initialize		
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264IOFrameMatch
+		COMMAND		mmfdvplay		H264Start						MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-Start_command15
+		OUTSTANDING
+		COMMAND		mmfdvplay		H264Stop
+		COMMAND		mmfdvplay		H264Delete
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-H264-SCALE-AUTOMATED-0002
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-mpeg4-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,3776 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName mm-mmf-devvideo-playback-mpeg4-automated
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devvideo
+
+
+DELAY 2000
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0001
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4 NTSC Video Playback at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = akiyo_ntsc_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0001
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0002
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4 NTSC Video Playback at 30 fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = akiyo_ntsc_30fps_4M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0002
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0003
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4 PAL Video Playback at 25 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = akiyo_pal_25fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 25)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0003
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0004
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4 PAL Video Playback at 25 fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = akiyo_pal_25fps_4M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 25)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0004
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0005
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QCIF Video Playback   at 15 fps 128Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = akiyo_qcif_15fps_128k_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0005
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0006
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0006
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QVGA Video Playback at 15 fps 256Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_QVGA_15fps_256_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0006
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0007
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0007
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QVGA Video Playback at 30 fps 384Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_QVGA_30fps_384k_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0007
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0008
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0008
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QVGA Video Playback at 15 fps 512Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_QVGA_15fps_512_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0008
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0009
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0009
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QVGA Video Playback at 30 fps 768Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_QVGA_30fps_768k_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0009
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0010
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0010
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  CIF Video Playback   at 15 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = paris_cif_15fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0010
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0011
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0011
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  CIF Video Playback   at 15 fps  784kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = paris_cif_15fps_784K_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0011
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0012
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0012
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  CIF Video Playback   at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = paris_cif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0012
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0013
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0013
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  CIF Video Playback   at 30 fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = paris_cif_30fps_64K_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0013
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0014
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0014
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  CIF Video Playback   at 30 fps 784Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = paris_cif_30fps_784K_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0014
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0015
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0015
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QCIF Video Playback   at 15 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = paris_qcif_15fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0015
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0016
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0016
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QCIF Video Playback   at 15 fps 64Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = paris_qcif_15fps_64K_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0016
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0017
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0017
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QCIF Video Playback   at 15 fps 784Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = paris_qcif_15fps_784K_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0017
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0018
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0018
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QCIF Video Playback   at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = paris_qcif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0018
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0019
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0019
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QCIF Video Playback   at 30 fps 64Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = paris_qcif_30fps_64K_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0019
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0020
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0020
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QCIF Video Playback   at 30 fps 784Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = singing_qcif_30fps_784K_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0020
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0021
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0021
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QVGA Video Playback   at 15 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_QVGA_15fps_3m_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0021
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0022
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0022
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QVGA Video Playback   at 15 fps 64Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_QVGA_15fps_64k_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0022
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0023
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0023
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QVGA Video Playback   at 15 fps 784Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_QVGA_15fps_784_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0023
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0024
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0024
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QVGA Video Playback   at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_QVGA_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0024
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0025
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0025
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QVGA Video Playback   at 30 fps 64Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_QVGA_30fps_64k_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0025
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0026
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0026
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QVGA Video Playback   at 30 fps 784Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_QVGA_30fps_784k_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0026
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0027
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0027
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  SQCIF Video Playback   at 15 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = foreman_sqcif_15fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0027
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0028
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0028
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  SQCIF Video Playback   at 15 fps 64Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = foreman_sqcif_15fps_64K_dec_mod.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0028
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0029
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0029
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  SQCIF Video Playback   at 15 fps 784Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = foreman_sqcif_15fps_784K_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0029
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0030
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0030
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  SQCIF Video Playback   at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = foreman_sqcif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0030
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0031
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0031
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  SQCIF Video Playback   at 30 fps 64Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = foreman_sqcif_30fps_64K_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0031
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0032
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0032
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  SQCIF Video Playback   at 30 fps 784Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = foreman_sqcif_30fps_784K_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0032
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0033
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0033
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  VGA Video Playback   at 15 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_VGA_15fps_3m_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0033
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0034
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0034
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  VGA Video Playback   at 15 fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_VGA_15fps_64k_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0034
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0035
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0035
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  VGA Video Playback   at 15 fps 784Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_VGA_15fps_784k_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0035
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0036
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0036
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  VGA Video Playback at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_VGA_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 25)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0036
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0037
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0037
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  VGA Video Playback   at 30 fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_VGA_30fps_64k_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 25)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0037
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0038
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0038
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  VGA Video Playback   at 30 fps 784Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_VGA_30fps_784k_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 25)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0038
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0039
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0039
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  SQCIF Video Playback   at 15 fps 128Kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_SQCIF_15fps_128Kbps.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 15)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start  
+//!                OUTSTANDING
+//!                22. Stop
+//!                23. AbortDirectScreenAccess
+//!                24. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0039
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-mpeg4-backward-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,769 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName mm-mmf-devvideo-playback-mpeg4-backward-automated
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devvideo
+
+DELAY 2000
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0001
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		Play back a MPEG4 NTSC  video file with 3Mbps at 30fps screenout backward
+//!@SYMTestActions
+//!                1. NewL (inputfile =  akiyo_ntsc_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL(postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL (useDecoder = TRUE)
+//!                9. SetInputFormat(useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL(buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 1000000
+//!                22. Pause
+//!                23. SetPosition (pos = -4)
+//!                24. Resume 
+//!                OUTSTANDING
+//!                25. Stop
+//!                26. AbortDirectScreenAccess
+//!                27. ~
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with backward action and without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		Pause
+		COMMAND		mmfdvplay		SetPosition			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SetPosition_command23
+		COMMAND		mmfdvplay		Resume
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0001
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0002
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG4 PAL Video SEEK Forward and Backward at 25 fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL(inputfile =  akiyo_pal_25fps_4M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL(dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL (postprocessor = {POSTPROCESSOR, uid}) 
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat(useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL(buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 25)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 1000000
+//!                22. Pause
+//!                23. SetPosition(pos = -4)
+//!                24. Resume 
+//!                OUTSTANDING
+//!                25. Stop
+//!                26. AbortDirectScreenAccess
+//!                27. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with backward action and without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		Pause
+		COMMAND		mmfdvplay		SetPosition			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SetPosition_command23
+		COMMAND		mmfdvplay		Resume
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0002
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0003
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  CIF Video SEEK Forward and Backward at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile =  paris_cif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL(dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL(postprocessor = {POSTPROCESSOR, uid}) 
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 1000000
+//!                22. Pause
+//!                23. SetPosition (pos = -4)
+//!                24. Resume 
+//!                OUTSTANDING
+//!                25. Stop
+//!                26. AbortDirectScreenAccess
+//!                27. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with backward action and without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		Pause
+		COMMAND		mmfdvplay		SetPosition			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SetPosition_command23
+		COMMAND		mmfdvplay		Resume
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0003
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0004
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QCIF Video SEEK Forward and Backward at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = paris_qcif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL(dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL(postprocessor = {POSTPROCESSOR, uid}) 
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 1000000
+//!                22. Pause
+//!                23. SetPosition (pos = -4)
+//!                24. Resume 
+//!                OUTSTANDING
+//!                25. Stop
+//!                26. AbortDirectScreenAccess
+//!                27. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with backward action and without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		Pause
+		COMMAND		mmfdvplay		SetPosition			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SetPosition_command23
+		COMMAND		mmfdvplay		Resume
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0004
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0005
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QVGA Video SEEK Forward and Backward at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile =  MPEG4_QVGA_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL(postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat(useDecoder = FALSE;  mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL(buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 1000000
+//!                22. Pause
+//!                23. SetPosition(pos = -4)
+//!                24. Resume 
+//!                OUTSTANDING
+//!                25. Stop
+//!                26. AbortDirectScreenAccess
+//!                27. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with backward action and without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		Pause
+		COMMAND		mmfdvplay		SetPosition			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SetPosition_command23
+		COMMAND		mmfdvplay		Resume
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0005
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0006
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0006
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  SQCIF Video SEEK Forward and Backward at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL(inputfile =  foreman_sqcif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1;inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL(dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL(postprocessor = {POSTPROCESSOR, uid}) 
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat(useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL(buffer = {BUFFER_SIZE, KMP4MaxCodedSizeQCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 1000000
+//!                22. Pause
+//!                23. SetPosition(pos = -4)
+//!                24. Resume 
+//!                OUTSTANDING
+//!                25. Stop
+//!                26. AbortDirectScreenAccess
+//!                27. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with backward action and without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		Pause
+		COMMAND		mmfdvplay		SetPosition			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SetPosition_command23
+		COMMAND		mmfdvplay		Resume
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0006
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0007
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0007
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		
+//!@SYMTestActions
+//!                1. NewL(inputfile =  MPEG4_VGA_30fps_3M_dec.m4v; screen = TRUE;codec = EMPEG4;synch = 1;inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL(dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat(useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL(buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 25)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 1000000
+//!                22. Pause
+//!                23. SetPosition(pos = -4)
+//!                24. Resume 
+//!                OUTSTANDING
+//!                25. Stop
+//!                26. AbortDirectScreenAccess
+//!                27. ~
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with backward action and without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		ASYNC_DELAY  1000000 
+		COMMAND		mmfdvplay		Pause
+		COMMAND		mmfdvplay		SetPosition			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SetPosition_command23
+		COMMAND		mmfdvplay		Resume
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0007
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-mpeg4-forward-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,769 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName mm-mmf-devvideo-playback-mpeg4-forward-automated
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devvideo
+
+
+DELAY 2000
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0001
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		Play back a MPEG4 NTSC  video file with 3Mbps at 30fps screenout forward
+//!@SYMTestActions
+//!                1. NewL (inputfile =  akiyo_ntsc_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL(postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL (useDecoder = TRUE)
+//!                9. SetInputFormat(useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL(buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 1000000
+//!                22. Pause
+//!                23. SetPosition (pos = 5)
+//!                24. Resume 
+//!                OUTSTANDING
+//!                25. Stop
+//!                26. AbortDirectScreenAccess
+//!                27. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with forward action and without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		video
+		COMMAND		video		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-NewL_command01
+		COMMAND		video		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SelectDecoderL_command02
+		COMMAND		video		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SelectPostProcessorL_command03
+		COMMAND		video		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SetInputFormat_command04
+		COMMAND		video		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-GetOutputFormatListL_command05
+		COMMAND		video		PostProcessorInfoLC
+		COMMAND		video		FindCommonFormat
+		COMMAND		video		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SetOutputFormatL_command08
+		COMMAND		video		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SetInputFormat_command09
+		COMMAND		video		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-GetOutputFormatListL_command10
+		COMMAND		video		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SetOutputFormatL_command11
+		COMMAND		video		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-GetHeaderInformationL_command12
+		COMMAND		video		ReturnHeader
+		COMMAND		video		SetVideoDestScreenL
+		COMMAND		video		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SetPostProcessTypesL_command15
+		COMMAND		video		GetBufferOptions
+		COMMAND		video		SetBufferOptionsL
+		COMMAND		video		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SetClockSource_command18
+		COMMAND		video		Initialize
+		OUTSTANDING
+		COMMAND		video		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-StartDirectScreenAccess_command20
+		COMMAND		video		Start
+		ASYNC_DELAY  1000000 
+		COMMAND		video		Pause
+		COMMAND		video		SetPosition			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SetPosition_command23
+		COMMAND		video		Resume
+		COMMAND		video		Stop
+		COMMAND		video		AbortDirectScreenAccess
+		COMMAND		video		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0001
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0002
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG4 PAL Video SEEK Forward and Backward at 25 fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL(inputfile =  akiyo_pal_25fps_4M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL(dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL (postprocessor = {POSTPROCESSOR, uid}) 
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat(useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL(buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 25)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 1000000
+//!                22. Pause
+//!                23. SetPosition(pos = 5)
+//!                24. Resume 
+//!                OUTSTANDING
+//!                25. Stop
+//!                26. AbortDirectScreenAccess
+//!                27. ~
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with forward action and without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		video
+		COMMAND		video		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-NewL_command01
+		COMMAND		video		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SelectDecoderL_command02
+		COMMAND		video		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SelectPostProcessorL_command03
+		COMMAND		video		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SetInputFormat_command04
+		COMMAND		video		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-GetOutputFormatListL_command05
+		COMMAND		video		PostProcessorInfoLC
+		COMMAND		video		FindCommonFormat
+		COMMAND		video		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SetOutputFormatL_command08
+		COMMAND		video		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SetInputFormat_command09
+		COMMAND		video		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-GetOutputFormatListL_command10
+		COMMAND		video		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SetOutputFormatL_command11
+		COMMAND		video		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-GetHeaderInformationL_command12
+		COMMAND		video		ReturnHeader
+		COMMAND		video		SetVideoDestScreenL
+		COMMAND		video		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SetPostProcessTypesL_command15
+		COMMAND		video		GetBufferOptions
+		COMMAND		video		SetBufferOptionsL
+		COMMAND		video		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SetClockSource_command18
+		COMMAND		video		Initialize
+		OUTSTANDING
+		COMMAND		video		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-StartDirectScreenAccess_command20
+		COMMAND		video		Start
+		ASYNC_DELAY  1000000 
+		COMMAND		video		Pause
+		COMMAND		video		SetPosition			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SetPosition_command23
+		COMMAND		video		Resume
+		COMMAND		video		Stop
+		COMMAND		video		AbortDirectScreenAccess
+		COMMAND		video		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0002
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0003
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  CIF Video SEEK Forward and Backward at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile =  paris_cif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL(dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL(postprocessor = {POSTPROCESSOR, uid}) 
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 1000000
+//!                22. Pause
+//!                23. SetPosition (pos = 5)
+//!                24. Resume 
+//!                OUTSTANDING
+//!                25. Stop
+//!                26. AbortDirectScreenAccess
+//!                27. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with forward action and without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		video
+		COMMAND		video		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-NewL_command01
+		COMMAND		video		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SelectDecoderL_command02
+		COMMAND		video		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SelectPostProcessorL_command03
+		COMMAND		video		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SetInputFormat_command04
+		COMMAND		video		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-GetOutputFormatListL_command05
+		COMMAND		video		PostProcessorInfoLC
+		COMMAND		video		FindCommonFormat
+		COMMAND		video		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SetOutputFormatL_command08
+		COMMAND		video		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SetInputFormat_command09
+		COMMAND		video		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-GetOutputFormatListL_command10
+		COMMAND		video		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SetOutputFormatL_command11
+		COMMAND		video		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-GetHeaderInformationL_command12
+		COMMAND		video		ReturnHeader
+		COMMAND		video		SetVideoDestScreenL
+		COMMAND		video		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SetPostProcessTypesL_command15
+		COMMAND		video		GetBufferOptions
+		COMMAND		video		SetBufferOptionsL
+		COMMAND		video		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SetClockSource_command18
+		COMMAND		video		Initialize
+		OUTSTANDING
+		COMMAND		video		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-StartDirectScreenAccess_command20
+		COMMAND		video		Start
+		ASYNC_DELAY  1000000 
+		COMMAND		video		Pause
+		COMMAND		video		SetPosition			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SetPosition_command23
+		COMMAND		video		Resume
+		COMMAND		video		Stop
+		COMMAND		video		AbortDirectScreenAccess
+		COMMAND		video		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0003
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0004
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QCIF Video SEEK Forward and Backward at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile =  paris_qcif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL (postprocessor = {POSTPROCESSOR, uid})  
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KMP4MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 1000000
+//!                22. Pause
+//!                23. SetPosition(pos = 5)
+//!                24. Resume 
+//!                OUTSTANDING
+//!                25. Stop
+//!                26. AbortDirectScreenAccess
+//!                27. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with forward action and without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		video
+		COMMAND		video		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-NewL_command01
+		COMMAND		video		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SelectDecoderL_command02
+		COMMAND		video		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SelectPostProcessorL_command03
+		COMMAND		video		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SetInputFormat_command04
+		COMMAND		video		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-GetOutputFormatListL_command05
+		COMMAND		video		PostProcessorInfoLC
+		COMMAND		video		FindCommonFormat
+		COMMAND		video		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SetOutputFormatL_command08
+		COMMAND		video		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SetInputFormat_command09
+		COMMAND		video		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-GetOutputFormatListL_command10
+		COMMAND		video		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SetOutputFormatL_command11
+		COMMAND		video		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-GetHeaderInformationL_command12
+		COMMAND		video		ReturnHeader
+		COMMAND		video		SetVideoDestScreenL
+		COMMAND		video		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SetPostProcessTypesL_command15
+		COMMAND		video		GetBufferOptions
+		COMMAND		video		SetBufferOptionsL
+		COMMAND		video		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SetClockSource_command18
+		COMMAND		video		Initialize
+		OUTSTANDING
+		COMMAND		video		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-StartDirectScreenAccess_command20
+		COMMAND		video		Start
+		ASYNC_DELAY  1000000 
+		COMMAND		video		Pause
+		COMMAND		video		SetPosition			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SetPosition_command23
+		COMMAND		video		Resume
+		COMMAND		video		Stop
+		COMMAND		video		AbortDirectScreenAccess
+		COMMAND		video		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0004
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0005
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QVGA Video SEEK Forward and Backward at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile =  MPEG4_QVGA_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL(postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat(useDecoder = FALSE;  mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL(buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 1000000
+//!                22. Pause
+//!                23. SetPosition(pos = 5)
+//!                24. Resume 
+//!                OUTSTANDING
+//!                25. Stop
+//!                26. AbortDirectScreenAccess
+//!                27. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with forward action and without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		video
+		COMMAND		video		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-NewL_command01
+		COMMAND		video		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SelectDecoderL_command02
+		COMMAND		video		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SelectPostProcessorL_command03
+		COMMAND		video		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SetInputFormat_command04
+		COMMAND		video		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-GetOutputFormatListL_command05
+		COMMAND		video		PostProcessorInfoLC
+		COMMAND		video		FindCommonFormat
+		COMMAND		video		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SetOutputFormatL_command08
+		COMMAND		video		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SetInputFormat_command09
+		COMMAND		video		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-GetOutputFormatListL_command10
+		COMMAND		video		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SetOutputFormatL_command11
+		COMMAND		video		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-GetHeaderInformationL_command12
+		COMMAND		video		ReturnHeader
+		COMMAND		video		SetVideoDestScreenL
+		COMMAND		video		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SetPostProcessTypesL_command15
+		COMMAND		video		GetBufferOptions
+		COMMAND		video		SetBufferOptionsL
+		COMMAND		video		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SetClockSource_command18
+		COMMAND		video		Initialize
+		OUTSTANDING
+		COMMAND		video		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-StartDirectScreenAccess_command20
+		COMMAND		video		Start
+		ASYNC_DELAY  1000000 
+		COMMAND		video		Pause
+		COMMAND		video		SetPosition			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SetPosition_command23
+		COMMAND		video		Resume
+		COMMAND		video		Stop
+		COMMAND		video		AbortDirectScreenAccess
+		COMMAND		video		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0005
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0006
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0006
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  SQCIF Video SEEK Forward and Backward at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL(inputfile =  foreman_sqcif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1;inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL(dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL(postprocessor = {POSTPROCESSOR, uid}) 
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat(useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL(buffer = {BUFFER_SIZE, KMP4MaxCodedSizeQCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 1000000
+//!                22. Pause
+//!                23. SetPosition(pos = 5)
+//!                24. Resume 
+//!                OUTSTANDING
+//!                25. Stop
+//!                26. AbortDirectScreenAccess
+//!                27. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with forward action and without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		video
+		COMMAND		video		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-NewL_command01
+		COMMAND		video		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SelectDecoderL_command02
+		COMMAND		video		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SelectPostProcessorL_command03
+		COMMAND		video		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SetInputFormat_command04
+		COMMAND		video		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-GetOutputFormatListL_command05
+		COMMAND		video		PostProcessorInfoLC
+		COMMAND		video		FindCommonFormat
+		COMMAND		video		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SetOutputFormatL_command08
+		COMMAND		video		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SetInputFormat_command09
+		COMMAND		video		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-GetOutputFormatListL_command10
+		COMMAND		video		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SetOutputFormatL_command11
+		COMMAND		video		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-GetHeaderInformationL_command12
+		COMMAND		video		ReturnHeader
+		COMMAND		video		SetVideoDestScreenL
+		COMMAND		video		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SetPostProcessTypesL_command15
+		COMMAND		video		GetBufferOptions
+		COMMAND		video		SetBufferOptionsL
+		COMMAND		video		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SetClockSource_command18
+		COMMAND		video		Initialize
+		OUTSTANDING
+		COMMAND		video		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-StartDirectScreenAccess_command20
+		COMMAND		video		Start
+		ASYNC_DELAY  1000000 
+		COMMAND		video		Pause
+		COMMAND		video		SetPosition			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SetPosition_command23
+		COMMAND		video		Resume
+		COMMAND		video		Stop
+		COMMAND		video		AbortDirectScreenAccess
+		COMMAND		video		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0006
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0007
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0007
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  VGA Video SEEK Forward and Backward at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL(inputfile =  MPEG4_VGA_30fps_3M_dec.m4v; screen = TRUE;codec = EMPEG4;synch = 1;inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL(dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat(useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL(buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 25)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 1000000
+//!                22. Pause
+//!                23. SetPosition(pos = 5)
+//!                24. Resume 
+//!                OUTSTANDING
+//!                25. Stop
+//!                26. AbortDirectScreenAccess
+//!                27. ~
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with forward action and without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		video
+		COMMAND		video		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-NewL_command01
+		COMMAND		video		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SelectDecoderL_command02
+		COMMAND		video		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SelectPostProcessorL_command03
+		COMMAND		video		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SetInputFormat_command04
+		COMMAND		video		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-GetOutputFormatListL_command05
+		COMMAND		video		PostProcessorInfoLC
+		COMMAND		video		FindCommonFormat
+		COMMAND		video		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SetOutputFormatL_command08
+		COMMAND		video		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SetInputFormat_command09
+		COMMAND		video		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-GetOutputFormatListL_command10
+		COMMAND		video		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SetOutputFormatL_command11
+		COMMAND		video		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-GetHeaderInformationL_command12
+		COMMAND		video		ReturnHeader
+		COMMAND		video		SetVideoDestScreenL
+		COMMAND		video		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SetPostProcessTypesL_command15
+		COMMAND		video		GetBufferOptions
+		COMMAND		video		SetBufferOptionsL
+		COMMAND		video		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SetClockSource_command18
+		COMMAND		video		Initialize
+		OUTSTANDING
+		COMMAND		video		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-StartDirectScreenAccess_command20
+		COMMAND		video		Start
+		ASYNC_DELAY  1000000 
+		COMMAND		video		Pause
+		COMMAND		video		SetPosition			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SetPosition_command23
+		COMMAND		video		Resume
+		COMMAND		video		Stop
+		COMMAND		video		AbortDirectScreenAccess
+		COMMAND		video		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0007
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,832 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName mm-mmf-devvideo-playback-mpeg4-pause-resume-automated
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devvideo
+
+
+DELAY 2000
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0001
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG4 NTSC Video Play Pause resume stop at 30 fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL(inputfile =  akiyo_ntsc_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL(dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL (postprocessor = {POSTPROCESSOR, uid}) 
+//!                4. SetInputFormat (mimeType= {MIME,MP4V}; useDecoder = TRUE)
+//!                5. GetOutputFormatListL (useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat (mimeType= {MIME,MP4V}; useDecoder = FALSE)
+//!                10. GetOutputFormatListL (useDecoder = TRUE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start
+//!                ASYNC_DELAY 2000000 
+//!                22. Pause
+//!                DELAY 500000
+//!                23. Resume
+//!                ASYNC_DELAY 500000
+//!                24. Pause
+//!                DELAY 500000
+//!                25. Resume
+//!                OUTSTANDING
+//!                26. Stop
+//!                27. AbortDirectScreenAccess
+//!                28. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with play pause action without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		ASYNC_DELAY  2000000 
+		COMMAND		mmfdvplay		Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		Resume
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0001
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0002
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG4 PAL Video Play Pause resume stop at 25 fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL( inputfile =akiyo_pal_25fps_4M_dec.m4v; screen = TRUE;codec =EMPEG4;synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL(buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 44)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 25)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 2000000
+//!                22. Pause
+//!                DELAY 500000
+//!                23. Resume
+//!                ASYNC_DELAY 500000
+//!                24. Pause
+//!                DELAY 500000
+//!                25. Resume
+//!                OUTSTANDING
+//!                26. Stop
+//!                27. AbortDirectScreenAccess
+//!                28. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with play pause action without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		ASYNC_DELAY  2000000 
+		COMMAND		mmfdvplay		Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		Resume
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0002
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0003
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  CIF Video Play, Pause, resume, stop at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL(inputfile =  paris_cif_30fps_3M_dec.m4v; screen = TRUE; codec =EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL(postprocessor = {POSTPROCESSOR, uid}) 
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL (useDecoder = FALSE)
+//!                12. GetHeaderInformationL(buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess (displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 500000
+//!                22. Pause
+//!                DELAY 500000
+//!                23. Resume
+//!                ASYNC_DELAY 500000
+//!                24. Pause
+//!                DELAY 500000
+//!                25. Resume
+//!                OUTSTANDING
+//!                26. Stop
+//!                27. AbortDirectScreenAccess
+//!                28. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with play pause action without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		Resume
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0003
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0004
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QCIF Video Play, Pause, resume, stop at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile =  paris_qcif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL(dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL(postprocessor = {POSTPROCESSOR, uid}) 
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE)
+//!                6. PostProcessorInfoLC 
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL (useDecoder = FALSE)
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KMP4MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource (synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 500000
+//!                22. Pause
+//!                DELAY 500000
+//!                23. Resume
+//!                ASYNC_DELAY 500000
+//!                24. Pause
+//!                DELAY 500000
+//!                25. Resume
+//!                OUTSTANDING
+//!                26. Stop
+//!                27. AbortDirectScreenAccess
+//!                28. ~
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with play pause action without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		Resume
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0004
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0005
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QVGA Video Play, Pause, resume, stop at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL(inputfile =  MPEG4_QVGA_30fps_3M_dec.m4v; screen = TRUE;codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL (useDecoder = TRUE)
+//!                9. SetInputFormat(useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL(buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 500000
+//!                22. Pause
+//!                DELAY 500000
+//!                23. Resume
+//!                ASYNC_DELAY 500000
+//!                24. Pause
+//!                DELAY 500000
+//!                25. Resume
+//!                OUTSTANDING
+//!                26. Stop
+//!                27. AbortDirectScreenAccess
+//!                28. ~
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with play pause action without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		Resume
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0005
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0006
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0006
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  SQCIF Video Play, Pause, resume, stop at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL(inputfile = foreman_sqcif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL(dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL(postprocessor = {POSTPROCESSOR, uid}) 
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat(useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL(buffer = {BUFFER_SIZE, KMP4MaxCodedSizeQCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 30)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 500000
+//!                22. Pause
+//!                DELAY 500000
+//!                23. Resume
+//!                ASYNC_DELAY 500000
+//!                24. Pause
+//!                DELAY 500000
+//!                25. Resume
+//!                OUTSTANDING
+//!                26. Stop
+//!                27. AbortDirectScreenAccess
+//!                28. ~
+//!                
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with play pause action without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		Resume
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0006
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0007
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0007
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  VGA Video Play Pause resume stop at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL(inputfile =  MPEG4_VGA_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL(dec = {MPEG4, uid})
+//!                3. SelectPostProcessorL(postprocessor = {POSTPROCESSOR, uid}) 
+//!                4. SetInputFormat(useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL(useDecoder = TRUE)
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL(useDecoder = TRUE)
+//!                9. SetInputFormat(useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL(useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = FALSE)
+//!                12. GetHeaderInformationL(buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL(combination = 40)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource(synch = 1; framerate = 25)
+//!                19. Initialize
+//!                OUTSTANDING
+//!                20. StartDirectScreenAccess(displayMode = EColor64K)
+//!                21. Start 
+//!                ASYNC_DELAY 500000
+//!                22. Pause
+//!                DELAY 500000
+//!                23. Resume
+//!                ASYNC_DELAY 500000
+//!                24. Pause
+//!                DELAY 500000
+//!                25. Resume
+//!                OUTSTANDING
+//!                26. Stop
+//!                27. AbortDirectScreenAccess
+//!                28. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with play pause action without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-StartDirectScreenAccess_command20
+		COMMAND		mmfdvplay		Start
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		Resume
+		ASYNC_DELAY  500000 
+		COMMAND		mmfdvplay		Pause
+		DELAY  500000 
+		COMMAND		mmfdvplay		Resume
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0007
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-mpeg4-rotation-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1072 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName mm-mmf-devvideo-playback-mpeg4-rotation-automated
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devvideo
+
+
+
+DELAY 2000
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0001
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: SetRotateOptionsL(THwDeviceId, TRotationType);
+//!                CMMFDevVideoPlay:: SetScaleOptionsL(THwDeviceId , const TSize {ref}, TBool )
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG4 NTSC Video Rotation at 30 fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = akiyo_ntsc_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 4C)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. SetScaleOptionsL (x = 0;y = 0;width = 240;height = 320)
+//!                20. SetRotateOptionsL (rotation = ERotate90Clockwise)
+//!                21. Initialize
+//!                OUTSTANDING
+//!                22. StartDirectScreenAccess (displayMode = EColor64K)
+//!                23. Start 
+//!                OUTSTANDING
+//!                24. Stop
+//!                25. AbortDirectScreenAccess
+//!                26. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with rotation of 90 degrees and without any blurrness
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		SetScaleOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetScaleOptionsL_command19
+		COMMAND		mmfdvplay		SetRotateOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetRotateOptionsL_command20
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-StartDirectScreenAccess_command22
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0001
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0002
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: SetRotateOptionsL(THwDeviceId, TRotationType);
+//!                CMMFDevVideoPlay:: SetScaleOptionsL(THwDeviceId , const TSize {ref}, TBool )
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG4 PAL Video Rotation at 25 fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = akiyo_pal_25fps_4M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 4C)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 25)
+//!                19. SetScaleOptionsL (x = 0;y = 0;width = 240;height = 320)
+//!                20. SetRotateOptionsL (rotation = ERotate90Clockwise)
+//!                21. Initialize
+//!                OUTSTANDING
+//!                22. StartDirectScreenAccess (displayMode = EColor64K)
+//!                23. Start 
+//!                OUTSTANDING
+//!                24. Stop
+//!                25. AbortDirectScreenAccess
+//!                26. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with rotation of 90 degrees and without any blurrness
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		SetScaleOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetScaleOptionsL_command19
+		COMMAND		mmfdvplay		SetRotateOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetRotateOptionsL_command20
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-StartDirectScreenAccess_command22
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0002
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0003
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: SetRotateOptionsL(THwDeviceId, TRotationType);
+//!                CMMFDevVideoPlay:: SetScaleOptionsL(THwDeviceId , const TSize {ref}, TBool )
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  CIF Video Rotation at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = paris_cif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 4C)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. SetScaleOptionsL (x = 0;y = 0;width = 240;height = 320)
+//!                20. SetRotateOptionsL (rotation = ERotate90Clockwise)
+//!                21. Initialize
+//!                OUTSTANDING
+//!                22. StartDirectScreenAccess (displayMode = EColor64K)
+//!                23. Start 
+//!                OUTSTANDING
+//!                24. Stop
+//!                25. AbortDirectScreenAccess
+//!                26. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with rotation of 90 degrees and without any blurrness
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		SetScaleOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetScaleOptionsL_command19
+		COMMAND		mmfdvplay		SetRotateOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetRotateOptionsL_command20
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-StartDirectScreenAccess_command22
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0003
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0004
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: SetRotateOptionsL(THwDeviceId, TRotationType);
+//!                CMMFDevVideoPlay:: SetScaleOptionsL(THwDeviceId , const TSize {ref}, TBool )
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		VideoPlayback_Rotation_MPEG4_CIF_30_3M
+//!@SYMTestActions
+//!                1. NewL (inputfile = paris_cif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 4C)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. SetScaleOptionsL (x = 0;y = 0;width = 240;height = 320)
+//!                20. SetRotateOptionsL (rotation = ERotate90Clockwise)
+//!                21. Initialize
+//!                OUTSTANDING
+//!                22. StartDirectScreenAccess (displayMode = EColor64K)
+//!                23. Start 
+//!                OUTSTANDING
+//!                24. Stop
+//!                25. AbortDirectScreenAccess
+//!                26. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with rotation of 90 degrees and without any blurrness
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		SetScaleOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetScaleOptionsL_command19
+		COMMAND		mmfdvplay		SetRotateOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetRotateOptionsL_command20
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-StartDirectScreenAccess_command22
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0004
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0005
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: SetRotateOptionsL(THwDeviceId, TRotationType);
+//!                CMMFDevVideoPlay:: SetScaleOptionsL(THwDeviceId , const TSize {ref}, TBool )
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QVGA Video Rotation at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_QVGA_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 4C)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. SetScaleOptionsL (x = 0;y = 0;width = 240;height = 320)
+//!                20. SetRotateOptionsL (rotation = ERotate90Clockwise)
+//!                21. Initialize
+//!                OUTSTANDING
+//!                22. StartDirectScreenAccess (displayMode = EColor64K)
+//!                23. Start 
+//!                OUTSTANDING
+//!                24. Stop
+//!                25. AbortDirectScreenAccess
+//!                26. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with rotation of 90 degrees and without any blurrness
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		SetScaleOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetScaleOptionsL_command19
+		COMMAND		mmfdvplay		SetRotateOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetRotateOptionsL_command20
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-StartDirectScreenAccess_command22
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0005
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0006
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0006
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: SetRotateOptionsL(THwDeviceId, TRotationType);
+//!                CMMFDevVideoPlay:: SetScaleOptionsL(THwDeviceId , const TSize {ref}, TBool )
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		VideoPlayback_Rotation_MPEG4_QVGA_30_3M - (180)
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_QVGA_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 4C)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. SetScaleOptionsL (x = 0;y = 0;width = 240;height = 320)
+//!                20. SetRotateOptionsL (rotation = ERotate180)
+//!                21. Initialize
+//!                OUTSTANDING
+//!                22. StartDirectScreenAccess (displayMode = EColor64K)
+//!                23. Start 
+//!                OUTSTANDING
+//!                24. Stop
+//!                25. AbortDirectScreenAccess
+//!                26. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with rotation of 180 degrees and without any blurrness
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		SetScaleOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetScaleOptionsL_command19
+		COMMAND		mmfdvplay		SetRotateOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetRotateOptionsL_command20
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-StartDirectScreenAccess_command22
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0006
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0007
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0007
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: SetRotateOptionsL(THwDeviceId, TRotationType);
+//!                CMMFDevVideoPlay:: SetScaleOptionsL(THwDeviceId , const TSize {ref}, TBool )
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  SQCIF Video Rotation at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = foreman_sqcif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 4C)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. SetScaleOptionsL (x = 0;y = 0;width = 240;height = 320)
+//!                20. SetRotateOptionsL (rotation = ERotate90Clockwise)
+//!                21. Initialize
+//!                OUTSTANDING
+//!                22. StartDirectScreenAccess (displayMode = EColor64K)
+//!                23. Start 
+//!                OUTSTANDING
+//!                24. Stop
+//!                25. AbortDirectScreenAccess
+//!                26. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with rotation of 90 degrees and without any blurrness
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		SetScaleOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetScaleOptionsL_command19
+		COMMAND		mmfdvplay		SetRotateOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetRotateOptionsL_command20
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-StartDirectScreenAccess_command22
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0007
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0008
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0008
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: SetRotateOptionsL(THwDeviceId, TRotationType);
+//!                CMMFDevVideoPlay:: SetScaleOptionsL(THwDeviceId , const TSize {ref}, TBool )
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		VideoPlayback_Rotation_MPEG4_SQCIF_30_3M - (180)
+//!@SYMTestActions
+//!                1. NewL (inputfile = foreman_sqcif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 4C)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. SetScaleOptionsL (x = 0;y = 0;width = 240;height = 320)
+//!                20. SetRotateOptionsL (rotation = ERotate180)
+//!                21. Initialize
+//!                OUTSTANDING
+//!                22. StartDirectScreenAccess (displayMode = EColor64K)
+//!                23. Start 
+//!                OUTSTANDING
+//!                24. Stop
+//!                25. AbortDirectScreenAccess
+//!                26. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with rotation of 180 degrees and without any blurrness
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		SetScaleOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetScaleOptionsL_command19
+		COMMAND		mmfdvplay		SetRotateOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetRotateOptionsL_command20
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-StartDirectScreenAccess_command22
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0008
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0009
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0009
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: SetRotateOptionsL(THwDeviceId, TRotationType);
+//!                CMMFDevVideoPlay:: SetScaleOptionsL(THwDeviceId , const TSize {ref}, TBool )
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  VGA Video Rotation at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_VGA_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 4C)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. SetScaleOptionsL (x = 0;y = 0;width = 240;height = 320)
+//!                20. SetRotateOptionsL (rotation = ERotate90Clockwise)
+//!                21. Initialize
+//!                OUTSTANDING
+//!                22. StartDirectScreenAccess (displayMode = EColor64K)
+//!                23. Start 
+//!                OUTSTANDING
+//!                24. Stop
+//!                25. AbortDirectScreenAccess
+//!                26. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with rotation of 90 degrees and without any blurrness
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		SetScaleOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetScaleOptionsL_command19
+		COMMAND		mmfdvplay		SetRotateOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetRotateOptionsL_command20
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-StartDirectScreenAccess_command22
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0009
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0010
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0010
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: Resume();
+//!                CMMFDevVideoPlay:: SetRotateOptionsL(THwDeviceId, TRotationType);
+//!                CMMFDevVideoPlay:: SetScaleOptionsL(THwDeviceId , const TSize {ref}, TBool )
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		VideoPlayback_Rotation_MPEG4_VGA_30_3M - (180)
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_VGA_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 4C)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. SetScaleOptionsL (x = 0;y = 0;width = 240;height = 320)
+//!                20. SetRotateOptionsL (rotation = ERotate180)
+//!                21. Initialize
+//!                OUTSTANDING
+//!                22. StartDirectScreenAccess (displayMode = EColor64K)
+//!                23. Start 
+//!                OUTSTANDING
+//!                24. Stop
+//!                25. AbortDirectScreenAccess
+//!                26. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played with rotation of 180 degrees and without any blurrness
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		SetScaleOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetScaleOptionsL_command19
+		COMMAND		mmfdvplay		SetRotateOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetRotateOptionsL_command20
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-StartDirectScreenAccess_command22
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0010
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-mpeg4-scale-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,432 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName mm-mmf-devvideo-playback-mpeg4-scale-automated
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: MMMFDevVideoPlayObserver,CMMFDevVideoPlay 
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devvideo
+
+DELAY 2000
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-SCALE-AUTOMATED-0001
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-SCALE-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: SetScaleOptionsL(THwDeviceId , const TSize {ref}, TBool )
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  QCIF Video FULL SCREEN  at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = paris_qcif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 48)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. SetScaleOptionsL (x = 0;y = 0;width = 240;height = 320)
+//!                20. Initialize
+//!                OUTSTANDING
+//!                21. StartDirectScreenAccess (displayMode = EColor64K)
+//!                22. Start 
+//!                OUTSTANDING
+//!                23. Stop
+//!                24. AbortDirectScreenAccess
+//!                25. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the full screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		SetScaleOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SetScaleOptionsL_command19
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-StartDirectScreenAccess_command21
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-SCALE-AUTOMATED-0001
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-SCALE-AUTOMATED-0002
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-SCALE-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: SetScaleOptionsL(THwDeviceId , const TSize {ref}, TBool )
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		 NCP MPEG -4  SQCIF Video FULL SCREEN  at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = foreman_sqcif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 48)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. SetScaleOptionsL (x = 0;y = 0;width = 240;height = 320)
+//!                20. Initialize
+//!                OUTSTANDING
+//!                21. StartDirectScreenAccess (displayMode = EColor64K)
+//!                22. Start 
+//!                OUTSTANDING
+//!                23. Stop
+//!                24. AbortDirectScreenAccess
+//!                25. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the full screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		SetScaleOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SetScaleOptionsL_command19
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-StartDirectScreenAccess_command21
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-SCALE-AUTOMATED-0002
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-SCALE-AUTOMATED-0003
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-SCALE-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: SetScaleOptionsL(THwDeviceId , const TSize {ref}, TBool )
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		NCP MPEG -4  CIF Video FULL SCREEN  at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = paris_cif_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 48)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. SetScaleOptionsL (x = 0;y = 0;width = 240;height = 320)
+//!                20. Initialize
+//!                OUTSTANDING
+//!                21. StartDirectScreenAccess (displayMode = EColor64K)
+//!                22. Start 
+//!                OUTSTANDING
+//!                23. Stop
+//!                24. AbortDirectScreenAccess
+//!                25. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the full screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		SetScaleOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SetScaleOptionsL_command19
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-StartDirectScreenAccess_command21
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-SCALE-AUTOMATED-0003
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-SCALE-AUTOMATED-0004
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-SCALE-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoPlay::GetDecoderListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::GetPostProcessorListL(RArray< TUid > {ref});
+//!                CMMFDevVideoPlay::SelectDecoderL(TUid);
+//!                CMMFDevVideoPlay::SelectPostProcessorL(TUid);
+//!                CMMFDevVideoPlay::SetInputFormatL(THwDeviceId,  const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::GetOutputFormatListL(THwDeviceId, RArray< TUncompressedVideoFormat > {ref});
+//!                CMMFDevVideoPlay::{ptr}PostProcessorInfoLC(TUid);
+//!                CMMFDevVideoPlay::FindCommonFormat(const TArray< TUncompressedVideoFormat > {ref}, const TArray< TUncompressedVideoFormat > {ref], CMMFDevVideoPlay::TUncompressedVideoFormat {ref]);
+//!                CMMFDevVideoPlay:: SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay:: SetInputFormatL(THwDeviceId , const TUncompressedVideoFormat {ref});
+//!                CMMFDevVideoPlay::{ptr}GetHeaderInformationL(TVideoDataUnitType, TVideoDataUnitEncapsulation, TVideoInputBuffer {ptr});
+//!                CMMFDevVideoPlay:: ReturnHeader(TVideoPictureHeader {ptr});
+//!                CMMFDevVideoPlay:: SetVideoDestScreenL(TBool);
+//!                CMMFDevVideoPlay:: SetPostProcessTypesL(THwDeviceId , TUint32 );
+//!                CMMFDevVideoPlay:: GetBufferOptions(TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetBufferOptionsL(const TBufferOptions {ref});
+//!                CMMFDevVideoPlay:: SetClockSource(MMMFClockSource {ptr]);
+//!                CMMFDevVideoPlay:: Initialize();
+//!                CMMFDevVideoPlay:: StartDirectScreenAccessL(const TRect {ref}, CFbsScreenDevice &aScreenDevice, const TRegion {ref});
+//!                CMMFDevVideoPlay:: Start();
+//!                CMMFDevVideoPlay:: Stop();
+//!                CMMFDevVideoPlay:: AbortDirectScreenAccess();
+//!                CMMFDevVideoPlay:: SetPosition(const TTimeIntervalMicroSeconds {ref})
+//!                CMMFDevVideoPlay:: SetScaleOptionsL(THwDeviceId , const TSize {ref}, TBool )
+//!@SYMAuthor			alavariega
+//!@SYMCreationDate		16/6/2008
+//!@SYMTestCaseDesc		NCP MPEG -4  QVGA Video FULL SCREEN  at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile = MPEG4_QVGA_30fps_3M_dec.m4v; screen = TRUE; codec = EMPEG4; synch = 1; inputPath = {PATHVIDEOS, inputPath})
+//!                2. SelectDecoderL (dec = {DECODERS, MPEG4}) 
+//!                3. SelectPostProcessorL  (postprocessor = {POSTPROCESSOR, uid})
+//!                4. SetInputFormat (useDecoder = TRUE; mimeType= {MIME,MP4V})
+//!                5. GetOutputFormatListL (useDecoder = TRUE) 
+//!                6. PostProcessorInfoLC
+//!                7. FindCommonFormat
+//!                8. SetOutputFormatL  (useDecoder = TRUE)
+//!                9. SetInputFormat (useDecoder = FALSE; mimeType= {MIME,MP4V})
+//!                10. GetOutputFormatListL (useDecoder = FALSE)
+//!                11. SetOutputFormatL(useDecoder = TRUE) 
+//!                12. GetHeaderInformationL (buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF})
+//!                13. ReturnHeader
+//!                14. SetVideoDestScreenL
+//!                15. SetPostProcessTypesL (combination = 48)
+//!                16. GetBufferOptions
+//!                17. SetBufferOptionsL
+//!                18. SetClockSource  (synch = 1; framerate = 30)
+//!                19. SetScaleOptionsL (x = 0;y = 0;width = 240;height = 320)
+//!                20. Initialize
+//!                OUTSTANDING
+//!                21. StartDirectScreenAccess (displayMode = EColor64K)
+//!                22. Start 
+//!                OUTSTANDING
+//!                23. Stop
+//!                24. AbortDirectScreenAccess
+//!                25. ~
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		Normal
+//!@SYMTestExpectedResults
+//!                Video must be played on the full screen without any blurrness.
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.ini
+		CREATE_OBJECT	CMMFDevVideoPlay		mmfdvplay
+		COMMAND		mmfdvplay		NewL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-NewL_command01
+		COMMAND		mmfdvplay		SelectDecoderL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SelectDecoderL_command02
+		COMMAND		mmfdvplay		SelectPostProcessorL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SelectPostProcessorL_command03
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SetInputFormat_command04
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-GetOutputFormatListL_command05
+		COMMAND		mmfdvplay		PostProcessorInfoLC
+		COMMAND		mmfdvplay		FindCommonFormat
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SetOutputFormatL_command08
+		COMMAND		mmfdvplay		SetInputFormat			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SetInputFormat_command09
+		COMMAND		mmfdvplay		GetOutputFormatListL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-GetOutputFormatListL_command10
+		COMMAND		mmfdvplay		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SetOutputFormatL_command11
+		COMMAND		mmfdvplay		GetHeaderInformationL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-GetHeaderInformationL_command12
+		COMMAND		mmfdvplay		ReturnHeader
+		COMMAND		mmfdvplay		SetVideoDestScreenL
+		COMMAND		mmfdvplay		SetPostProcessTypesL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SetPostProcessTypesL_command15
+		COMMAND		mmfdvplay		GetBufferOptions
+		COMMAND		mmfdvplay		SetBufferOptionsL
+		COMMAND		mmfdvplay		SetClockSource			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SetClockSource_command18
+		COMMAND		mmfdvplay		SetScaleOptionsL			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SetScaleOptionsL_command19
+		COMMAND		mmfdvplay		Initialize
+		OUTSTANDING
+		COMMAND		mmfdvplay		StartDirectScreenAccess			MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-StartDirectScreenAccess_command21
+		COMMAND		mmfdvplay		Start
+		OUTSTANDING
+		COMMAND		mmfdvplay		Stop
+		COMMAND		mmfdvplay		AbortDirectScreenAccess
+		COMMAND		mmfdvplay		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-SCALE-AUTOMATED-0004
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-record-h263-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,960 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName mm-mmf-devvideo-record-h263-automated
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the MMMFDevVideoRecordObserver,CMMFDevVideoRecord 
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: MMMFDevVideoRecordObserver,CMMFDevVideoRecord 
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devvideo
+
+
+DELAY 2000
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0001
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 QCIF Video Recording at 15fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=001.h263 ; inputPath={PATHVIDEOS,inputPath}; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputFormat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0001-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0001-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0001-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0001-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0001-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0001-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0001
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0002
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 QCIF Video Recording at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=002.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0002-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0002-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0002-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0002-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0002-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0002-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0002
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0003
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 SQCIF Video Recording at 15fps 64 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=003.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. SelectEncoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputFormat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0003-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0003-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0003-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0003-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0003-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0003-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0003
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0004
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 SQCIF Video Recording at 15fps 128 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=004.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0004-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0004-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0004-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0004-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0004-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0004-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0004
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0005
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Recording at 15fps 64 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=005.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0005-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0005-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0005-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0005-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0005-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0005-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0005
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0006
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0006
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Recording at 30fps 64 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=006.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=30)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0006-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0006-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0006-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0006-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0006-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0006-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0006
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0007
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0007
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Recording at 15fps 128 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=007.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0007-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0007-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0007-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0007-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0007-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0007-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0007
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0008
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0008
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Recording at 30fps 128 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=008.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat  (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0008-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0008-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0008-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0008-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0008-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0008-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0008
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0009
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0009
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 QCIF Video Recording at 15fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=051.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputFormat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel(complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0009-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0009-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0009-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0009-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0009-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0009-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0009
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0010
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0010
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 QCIF Video Recording at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=052.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel(complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0010-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0010-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0010-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0010-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0010-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0010-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0010
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0011
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0011
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 SQCIF Video Recording at 15fps 64 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=053.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. SelectEncoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputFormat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0011-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0011-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0011-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0011-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0011-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0011-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0011
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0012
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0012
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 SQCIF Video Recording at 15fps 128 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=054.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0012-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0012-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0012-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0012-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0012-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0012-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0012
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0013
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0013
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Recording at 15fps 64 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=055.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0013-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0013-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0013-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0013-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0013-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0013-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0013
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0014
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0014
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Recording at 30fps 64 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=056.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=30)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0014-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0014-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0014-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0014-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0014-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0014-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0014
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0015
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0015
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Recording at 15fps 128 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=057.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0015-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0015-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0015-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0015-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0015-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0015-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0015
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0016
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0016
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Recording at 30fps 128 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=058.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat  (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H263 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0016-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0016-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0016-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-0016-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-0016-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-0016-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-AUTOMATED-0016
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-record-h263-pause-resume-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1220 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName mm-mmf-devvideo-record-h263-pause-resume-automated
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the MMMFDevVideoRecordObserver,CMMFDevVideoRecord 
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: MMMFDevVideoRecordObserver,CMMFDevVideoRecord 
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devvideo
+
+
+DELAY 2000
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0001
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Record Pause resume stop at 15 fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=009.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0001-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0001-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0001-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0001-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0001-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0001-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0001
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0002
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Record Pause resume stop at 30 fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=010.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0002-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0002-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0002-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0002-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0002-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0002-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0002
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0003
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Record Pause resume stop at 15 fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=011.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0003-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0003-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0003-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0003-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0003-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0003-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0003
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0004
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Record Pause resume stop at 30 fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=012.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0004-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0004-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0004-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0004-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0004-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0004-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0004
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0005
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 QCIF Video Record Pause resume stop at 15 fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=013.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0005-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0005-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0005-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0005-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0005-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0005-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0005
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0006
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0006
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 QCIF Video Record Pause resume stop at 15 fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=014.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0006-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0006-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0006-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0006-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0006-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0006-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0006
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0007
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0007
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 SQCIF Video Record Pause resume stop at 15fps 64 kbps
+//!@SYMTestActions
+//!                1. NewL(inputfile=sqcif.yuv; outputfile=015.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0007-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0007-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0007-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0007-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0007-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0007-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0007
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0008
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0008
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 SQCIF Video Record Pause resume stop at 15fps 128 kbps
+//!@SYMTestActions
+//!                1. NewL(inputfile=sqcif.yuv; outputfile=016.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0008-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0008-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0008-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0008-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0008-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0008-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0008
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0009
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0009
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 SQCIF Video Record Pause resume stop at 30fps 128 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=017.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_SW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF};framerate=30)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0009-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0009-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0009-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0009-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0009-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0009-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0009
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0010
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0010
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Record Pause resume stop at 15 fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=059.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0010-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0010-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0010-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0010-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0010-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0010-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0010
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0011
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0011
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Record Pause resume stop at 30 fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=060.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0011-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0011-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0011-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0011-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0011-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0011-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0011
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0012
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0012
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Record Pause resume stop at 15 fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=061.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0012-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0012-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0012-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0012-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0012-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0012-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0012
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0013
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0013
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 CIF Video Record Pause resume stop at 30 fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=062.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0013-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0013-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0013-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0013-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0013-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0013-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0013
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0014
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0014
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 QCIF Video Record Pause resume stop at 15 fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=063.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0014-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0014-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0014-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0014-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0014-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0014-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0014
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0015
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0015
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 QCIF Video Record Pause resume stop at 15 fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=064.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0015-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0015-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0015-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0015-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0015-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0015-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0015
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0016
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0016
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 SQCIF Video Record Pause resume stop at 15fps 64 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=065.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0016-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0016-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0016-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0016-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0016-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0016-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0016
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0017
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0017
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 SQCIF Video Record Pause resume stop at 15fps 128 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=066.h263; inputPath={PATHVIDEOS,inputPath}; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0017-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0017-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0017-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0017-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0017-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0017-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0017
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0018
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0018
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		H.263 SQCIF Video Record Pause resume stop at 30fps 128 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=067.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H263_HW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF};framerate=30)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,H263_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0018-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0018-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0018-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0018-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0018-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0018-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H263-PAUSE-RESUME-AUTOMATED-0018
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-record-h264-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,844 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName mm-mmf-devvideo-record-h264-automated
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the MMMFDevVideoRecordObserver,CMMFDevVideoRecord 
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: MMMFDevVideoRecordObserver,CMMFDevVideoRecord 
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devvideo
+
+
+DELAY 2000
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0001
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 QCIF Video Recording at 30fps 30kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=001.h264 ; inputPath={PATHVIDEOS,inputPath}; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputFormat (mimeType= {MIME,H264_LV10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0001-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0001-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0001-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0001-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-0001-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-0001-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-0001-SetRateControlOptions
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0001
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0002
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 QCIF Video Recording at 15fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=002.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0002-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0002-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0002-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0002-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-0002-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-0002-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-0002-SetRateControlOptions
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0002
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0003
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 QCIF Video Recording at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=003.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. SelectEncoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputFormat (mimeType= {MIME,KH264MimeLong10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0003-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0003-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0003-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0003-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-0003-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-0003-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-0003-SetRateControlOptions
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0003
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0004
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 SQCIF Video Recording at 15fps 30 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=004.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeShort} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0004-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0004-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0004-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0004-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-0004-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-0004-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-0004-SetRateControlOptions
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0004
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0005
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 SQCIF Video Recording at 15fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=005.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0005-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0005-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0005-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0005-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-0005-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-0005-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-0005-SetRateControlOptions
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0005
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0006
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0006
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 SQCIF Video Recording at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=006.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF};framerate=30)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0006-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0006-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0006-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0006-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-0006-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-0006-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-0006-SetRateControlOptions
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0006
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0007
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0007
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 CIF Video Recording at 15fps 128 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=007.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong12} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0007-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0007-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0007-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0007-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-0007-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-0007-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-0007-SetRateControlOptions
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0007
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0008
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0008
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 CIF Video Recording at 15fps 768 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=008.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat  (mimeType= {MIME,KH264MimeLong12} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0008-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0008-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0008-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0008-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-0008-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-0008-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-0008-SetRateControlOptions
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0008
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0009
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0009
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 CIF Video Recording at 15fps 2000 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=009.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputFormat (mimeType= {MIME,KH264MimeLong20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel(complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0009-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0009-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0009-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0009-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-0009-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-0009-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-0009-SetRateControlOptions
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0009
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0010
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0010
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 QVGA Video Recording at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=010.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong12} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel(complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0010-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0010-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0010-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0010-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-0010-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-0010-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-0010-SetRateControlOptions
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0010
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0011
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0011
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 QVGA Video Recording at 15fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=011.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. SelectEncoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputFormat (mimeType= {MIME,KH264MimeShort} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0011-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0011-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0011-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0011-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-0011-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-0011-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-0011-SetRateControlOptions
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0011
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0012
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0012
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 QVGA Video Recording at 15fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=012.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong12} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0012-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0012-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0012-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0012-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-0012-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-0012-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-0012-SetRateControlOptions
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0012
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0013
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0013
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 VGA Video Recording at 15fps 2000 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=013.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong22} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_22})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0013-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0013-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0013-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0013-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-0013-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-0013-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-0013-SetRateControlOptions
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0013
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0014
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0014
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 VGA Video Recording at 15fps 6000 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=014.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=30)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong30} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_3})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0014-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0014-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0014-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-0014-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-0014-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-0014-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-0014-SetRateControlOptions
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0014
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-record-h264-pause-resume-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1054 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the MMMFDevVideoRecordObserver,CMMFDevVideoRecord 
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: MMMFDevVideoRecordObserver,CMMFDevVideoRecord 
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devvideo
+
+
+DELAY 2000
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0001
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 QCIF Video Recording at 30fps 30kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=001.h264 ; inputPath={PATHVIDEOS,inputPath}; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputFormat (mimeType= {MIME,KH264MimeLong10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Pause
+//!                12. Resume
+//!                13. Pause
+//!                14. Resume
+//!                15. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0001-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0001-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0001-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0001-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0001-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0001-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0001-SetRateControlOptions
+		COMMAND		dvr		Start
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0001
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0002
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 QCIF Video Recording at 15fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=002.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Pause
+//!                12. Resume
+//!                13. Pause
+//!                14. Resume
+//!                15. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0002-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0002-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0002-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0002-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0002-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0002-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0002-SetRateControlOptions
+		COMMAND		dvr		Start
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0002
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0003
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 QCIF Video Recording at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=003.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. SelectEncoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputFormat (mimeType= {MIME,KH264MimeLong10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Pause
+//!                12. Resume
+//!                13. Pause
+//!                14. Resume
+//!                15. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0003-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0003-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0003-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0003-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0003-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0003-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0003-SetRateControlOptions
+		COMMAND		dvr		Start
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0003
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0004
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 SQCIF Video Recording at 15fps 30 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=004.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeShort} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Pause
+//!                12. Resume
+//!                13. Pause
+//!                14. Resume
+//!                15. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0004-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0004-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0004-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0004-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0004-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0004-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0004-SetRateControlOptions
+		COMMAND		dvr		Start
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0004
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0005
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 SQCIF Video Recording at 15fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=005.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Pause
+//!                12. Resume
+//!                13. Pause
+//!                14. Resume
+//!                15. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0005-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0005-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0005-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0005-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0005-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0005-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0005-SetRateControlOptions
+		COMMAND		dvr		Start
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0005
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0006
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0006
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 SQCIF Video Recording at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=006.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF};framerate=30)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong10} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Pause
+//!                12. Resume
+//!                13. Pause
+//!                14. Resume
+//!                15. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0006-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0006-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0006-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0006-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0006-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0006-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0006-SetRateControlOptions
+		COMMAND		dvr		Start
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0006
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0007
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0007
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 CIF Video Recording at 15fps 128 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=007.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong12} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Pause
+//!                12. Resume
+//!                13. Pause
+//!                14. Resume
+//!                15. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0007-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0007-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0007-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0007-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0007-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0007-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0007-SetRateControlOptions
+		COMMAND		dvr		Start
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0007
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0008
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0008
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 CIF Video Recording at 15fps 768 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=008.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat  (mimeType= {MIME,KH264MimeLong12} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Pause
+//!                12. Resume
+//!                13. Pause
+//!                14. Resume
+//!                15. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0008-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0008-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0008-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0008-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0008-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0008-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0008-SetRateControlOptions
+		COMMAND		dvr		Start
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0008
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0009
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0009
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 CIF Video Recording at 15fps 2000 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=009.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputFormat (mimeType= {MIME,KH264MimeLong20} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel(complexityLevel=0)
+//!                10. Start
+//!                11. Pause
+//!                12. Resume
+//!                13. Pause
+//!                14. Resume
+//!                15. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0009-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0009-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0009-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0009-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0009-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0009-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0009-SetRateControlOptions
+		COMMAND		dvr		Start
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0009
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0010
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0010
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 QVGA Video Recording at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=010.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong12} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel(complexityLevel=0)
+//!                10. Start
+//!                11. Pause
+//!                12. Resume
+//!                13. Pause
+//!                14. Resume
+//!                15. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0010-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0010-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0010-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0010-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0010-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0010-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0010-SetRateControlOptions
+		COMMAND		dvr		Start
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0010
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0011
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0011
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 QVGA Video Recording at 15fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=011.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. SelectEncoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputFormat (mimeType= {MIME,KH264MimeShort} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Pause
+//!                12. Resume
+//!                13. Pause
+//!                14. Resume
+//!                15. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0011-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0011-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0011-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0011-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0011-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0011-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0011-SetRateControlOptions
+		COMMAND		dvr		Start
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0011
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0012
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0012
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 QVGA Video Recording at 15fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=012.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong12} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Pause
+//!                12. Resume
+//!                13. Pause
+//!                14. Resume
+//!                15. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0012-NewL
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0012-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0012-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0012-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0012-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0012-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0012-SetRateControlOptions
+		COMMAND		dvr		Start
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0012
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0013
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0013
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 VGA Video Recording at 15fps 2000 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=013.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong22} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_22})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Pause
+//!                12. Resume
+//!                13. Pause
+//!                14. Resume
+//!                15. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0013-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0013-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0013-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0013-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0013-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0013-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0013-SetRateControlOptions
+		COMMAND		dvr		Start
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0013
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0014
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0014
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Pause()
+//!                CMMFDevVideoRecord::Resume()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMCreationDate		9/27/2009
+//!@SYMTestCaseDesc		H.264 VGA Video Recording at 15fps 6000 kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=014.h264 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, H264_2}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=30)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,KH264MimeLong30} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_3})
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Pause
+//!                12. Resume
+//!                13. Pause
+//!                14. Resume
+//!                15. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a H264 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0014-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0014-SelectEncoderL
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0014-SetOutputFormatL
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0014-SetBufferOptionsL
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0014-SetMinRandomAccessRate
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0014-SetComplexityLevel
+		COMMAND     dvr     SetRateControlOptions       MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0014-SetRateControlOptions
+		COMMAND		dvr		Start
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0014
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-record-mpeg4-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,2819 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName mm-mmf-devvideo-record-mpeg4-automated
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the MMMFDevVideoRecordObserver,CMMFDevVideoRecord 
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: MMMFDevVideoRecordObserver,CMMFDevVideoRecord 
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devvideo
+
+
+DELAY 2000
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0001
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 SQCIF Video Recording at 15fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=018.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF};framerate=30)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0001-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0001-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0001-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0001-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0001-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0001-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0001
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0002
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 SQCIF Video Recording at 15fps 512kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=019.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0002-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0002-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0002-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0002-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0002-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0002-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0002
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0003
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QCIF Video Recording at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=020.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0003-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0003-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0003-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0003-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0003-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0003-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0003
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0004
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QCIF Video Recording at 30fps 256kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=021.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0004-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0004-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0004-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0004-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0004-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0004-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0004
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0005
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 CIF Video Recording at 30fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=022.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0005-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0005-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0005-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0005-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0005-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0005-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0005
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0006
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0006
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 CIF Video Recording at 30fps 512kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=023.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0006-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0006-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0006-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0006-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0006-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0006-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0006
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0007
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0007
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Recording at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=024.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0007-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0007-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0007-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0007-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0007-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0007-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0007
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0008
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0008
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Recording at 30fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=025.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0008-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0008-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0008-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0008-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0008-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0008-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0008
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0009
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0009
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Recording at 15fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=026.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0009-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0009-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0009-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0009-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0009-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0009-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0009
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0010
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0010
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Recording at 30fps 512kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=027.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0010-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0010-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0010-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0010-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0010-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0010-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0010
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0011
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0011
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Recording at 30fps 768kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=028.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0011-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0011-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0011-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0011-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0011-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0011-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0011
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0012
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0012
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Recording at 30fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=029.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0012-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0012-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0012-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0012-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0012-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0012-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0012
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0013
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0013
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Recording at 30fps 512kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=030.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0013-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0013-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0013-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0013-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0013-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0013-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0013
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0014
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0014
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Recording at 30fps 768kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=031.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0014-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0014-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0014-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0014-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0014-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0014-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0014
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0015
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0015
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 PAL Video Recording at 25fps 1Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=pal.yuv; outputfile=032.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, PAL};picWidth={WIDTH,PAL};picHeight={HEIGHT,PAL};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0015-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0015-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0015-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0015-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0015-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0015-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0015
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0016
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0016
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 PAL Video Recording at 25fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=pal.yuv; outputfile=033.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, PAL};picWidth={WIDTH,PAL};picHeight={HEIGHT,PAL};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0016-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0016-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0016-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0016-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0016-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0016-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0016
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0017
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0017
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 PAL Video Recording at 25fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=pal.yuv; outputfile=034.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, PAL};picWidth={WIDTH,PAL};picHeight={HEIGHT,PAL};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0017-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0017-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0017-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0017-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0017-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0017-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0017
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0018
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0018
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 NTSC Video Recording at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=ntsc.yuv; outputfile=035.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, NTSC};picWidth={WIDTH,NTSC};picHeight={HEIGHT,NTSC};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0018-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0018-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0018-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0018-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0018-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0018-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0018
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0019
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0019
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 NTSC Video Recording at 30fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=ntsc.yuv; outputfile=036.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, NTSC};picWidth={WIDTH,NTSC};picHeight={HEIGHT,NTSC};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0019-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0019-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0019-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0019-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0019-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0019-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0019
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0020
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0020
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 SQCIF Video Recording at 15fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=037.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF};framerate=30)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0020-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0020-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0020-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0020-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0020-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0020-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0020
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0021
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0021
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Recording at 15fps 1Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=038.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0021-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0021-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0021-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0021-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0021-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0021-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0021
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0022
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0022
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Recording at 30fps 2Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=040.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0022-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0022-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0022-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0022-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0022-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0022-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0022
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0023
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0023
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Recording at 30fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=041.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0023-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0023-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0023-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0023-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0023-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0023-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0023
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0024
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0024
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 NTSC Video Recording at 30 fps 1Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=ntsc.yuv; outputfile=044.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, NTSC};picWidth={WIDTH,NTSC};picHeight={HEIGHT,NTSC};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0024-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0024-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0024-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0024-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0024-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0024-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0024
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0025
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0025
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 SQCIF Video Recording at 15fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=068.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF};framerate=30)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0025-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0025-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0025-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0025-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0025-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0025-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0025
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0026
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0026
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 SQCIF Video Recording at 15fps 512kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=069.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0026-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0026-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0026-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0026-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0026-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0026-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0026
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0027
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0027
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QCIF Video Recording at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=070.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0027-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0027-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0027-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0027-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0027-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0027-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0027
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0028
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0028
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QCIF Video Recording at 30fps 256kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=071.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0028-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0028-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0028-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0028-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0028-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0028-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0028
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0029
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0029
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 CIF Video Recording at 30fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=072.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0029-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0029-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0029-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0029-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0029-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0029-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0029
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0030
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0030
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 CIF Video Recording at 30fps 512kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=cif.yuv; outputfile=073.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, CIF};picWidth={WIDTH,CIF};picHeight={HEIGHT,CIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0030-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0030-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0030-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0030-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0030-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0030-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0030
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0031
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0031
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Recording at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=074.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0031-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0031-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0031-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0031-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0031-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0031-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0031
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0032
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0032
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Recording at 30fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=075.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0032-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0032-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0032-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0032-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0032-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0032-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0032
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0033
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0033
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Recording at 15fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=076.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0033-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0033-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0033-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0033-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0033-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0033-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0033
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0034
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0034
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Recording at 30fps 512kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=077.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0034-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0034-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0034-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0034-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0034-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0034-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0034
+
+
+
+//! Delay required by testcase MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0035
+DELAY  20 
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0035
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0035
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Recording at 30fps 768kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=078.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0035-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0035-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0035-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0035-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0035-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0035-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0035
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0036
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0036
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Recording at 30fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=079.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0036-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0036-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0036-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0036-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0036-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0036-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0036
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0037
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0037
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Recording at 30fps 512kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=080.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0037-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0037-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0037-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0037-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0037-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0037-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0037
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0038
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0038
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Recording at 30fps 768kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=081.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0038-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0038-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0038-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0038-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		OUTSTANDING
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0038-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0038-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+    END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0038
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0039
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0039
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 PAL Video Recording at 25fps 1Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=pal.yuv; outputfile=082.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, PAL};picWidth={WIDTH,PAL};picHeight={HEIGHT,PAL};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0039-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0039-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0039-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0039-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0039-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0039-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0039
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0040
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0040
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 PAL Video Recording at 25fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=pal.yuv; outputfile=083.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, PAL};picWidth={WIDTH,PAL};picHeight={HEIGHT,PAL};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0040-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0040-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0040-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0040-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0040-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0040-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0040
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0041
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0041
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 PAL Video Recording at 25fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=pal.yuv; outputfile=084.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, PAL};picWidth={WIDTH,PAL};picHeight={HEIGHT,PAL};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0041-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0041-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0041-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0041-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0041-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0041-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0041
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0042
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0042
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 NTSC Video Recording at 30 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=ntsc.yuv; outputfile=085.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, NTSC};picWidth={WIDTH,NTSC};picHeight={HEIGHT,NTSC};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0042-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0042-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0042-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0042-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0042-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0042-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0042
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0043
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0043
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 NTSC Video Recording at 30fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=ntsc.yuv; outputfile=086.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, NTSC};picWidth={WIDTH,NTSC};picHeight={HEIGHT,NTSC};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0043-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0043-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0043-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0043-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0043-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0043-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0043
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0044
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0044
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 SQCIF Video Recording at 15fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=087.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF};framerate=30)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0044-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0044-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0044-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0044-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0044-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0044-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0044
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0045
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0045
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Recording at 15fps 1Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=088.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0045-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0045-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0045-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0045-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0045-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0045-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0045
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0046
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0046
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Recording at 30fps 2Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=090.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0046-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0046-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0046-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0046-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0046-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0046-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0046
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0047
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0047
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Recording at 30fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=091.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0047-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0047-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0047-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0047-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0047-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0047-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0047
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0048
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0048
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 NTSC Video Recording at 30 fps 1Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=ntsc.yuv; outputfile=094.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, NTSC};picWidth={WIDTH,NTSC};picHeight={HEIGHT,NTSC};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                Process YUV data with a MPEG4 encoder without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0048-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0048-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0048-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0048-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0048-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0048-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0048
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-record-mpeg4-pause-resume-automated.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1220 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName mm-mmf-devvideo-record-mpeg4-pause-resume-automated
+//! @SYMScriptTestEnvironment This test script requires a basic ROM.
+//
+// Tests all public elements of the MMMFDevVideoRecordObserver,CMMFDevVideoRecord 
+// classes as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll
+// APIs for: MMMFDevVideoRecordObserver,CMMFDevVideoRecord 
+// The tests are fully automated.
+//
+
+
+
+LOAD_SUITE t_devvideo
+
+
+DELAY 2000
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0001
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0001
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QCIF Video Record Pause Resume stop at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=039.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV1} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0001-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0001-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0001-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0001-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0001-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0001-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0001
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0002
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0002
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 NTSC Video Record Pause Resume stop at 30fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=ntsc.yuv; outputfile=042.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, NTSC};picWidth={WIDTH,NTSC};picHeight={HEIGHT,NTSC};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0002-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0002-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0002-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0002-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0002-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0002-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0002
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0003
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0003
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 PAL Video Record Pause Resume stop at 25fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=pal.yuv; outputfile=043.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, PAL};picWidth={WIDTH,PAL};picHeight={HEIGHT,PAL};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0003-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0003-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0003-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0003-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0003-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0003-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0003
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0004
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0004
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Record Pause Resume stop at 15fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=045.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. SelectEncoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0004-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0004-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0004-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0004-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0004-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0004-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0004
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0005
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0005
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Record Pause Resume stop at 15fps 512kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=046.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. SelectEncoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0005-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0005-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0005-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0005-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0005-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0005-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0005
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0006
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0006
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Record Pause Resume stop at 15fps 768kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=047.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. SelectEncoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0006-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0006-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0006-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0006-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0006-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0006-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0006
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0007
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0007
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 SQCIF Video Record Pause Resume stop at 15fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=048.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. SelectEncoder (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0007-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0007-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0007-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0007-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0007-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0007-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0007
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0008
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0008
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Record Pause resume stop at 15 fps 2Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=049.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0008-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0008-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0008-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0008-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0008-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0008-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0008
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0009
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0009
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Record Pause resume stop at 15 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=050.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. (uid={ENCODERS, MPEG4_SW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0009-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0009-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0009-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0009-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0009-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0009-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0009
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0010
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0010
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QCIF Video Record Pause Resume stop at 15fps 128kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qcif.yuv; outputfile=089.h263 ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, QCIF};picWidth={WIDTH,QCIF};picHeight={HEIGHT,QCIF};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV1} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0010-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0010-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0010-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0010-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0010-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0010-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0010
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0011
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0011
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 NTSC Video Record Pause Resume stop at 30fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=ntsc.yuv; outputfile=092.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, NTSC};picWidth={WIDTH,NTSC};picHeight={HEIGHT,NTSC};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0011-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0011-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0011-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0011-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0011-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0011-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0011
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0012
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0012
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 PAL Video Record Pause Resume stop at 25fps 4Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=pal.yuv; outputfile=093.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. Select Encoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, PAL};picWidth={WIDTH,PAL};picHeight={HEIGHT,PAL};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0012-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0012-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0012-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0012-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0012-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0012-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0012
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0013
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0013
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Record Pause Resume stop at 15fps 384kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=095.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. SelectEncoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0013-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0013-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0013-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0013-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0013-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0013-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0013
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0014
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0014
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Record Pause Resume stop at 15fps 512kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=096.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. SelectEncoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0014-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0014-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0014-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0014-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0014-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0014-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0014
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0015
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0015
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 QVGA Video Record Pause Resume stop at 15fps 768kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=qvga.yuv; outputfile=097.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. SelectEncoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, QVGA};picWidth={WIDTH,QVGA};picHeight={HEIGHT,QVGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0015-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0015-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0015-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0015-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0015-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0015-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0015
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0016
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0016
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 SQCIF Video Record Pause Resume stop at 15fps 64kbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=sqcif.yuv; outputfile=098.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. SelectEncoder (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, SQCIF};picWidth={WIDTH,SQCIF};picHeight={HEIGHT,SQCIF}; framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV3} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0016-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0016-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0016-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0016-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0016-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0016-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0016
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0017
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0017
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Record Pause resume stop at 15 fps 2Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=099.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel (complexityLevel=0)
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0017-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0017-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0017-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0017-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0017-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0017-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0017
+
+
+
+
+START_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0018
+
+//!@SYMTestCaseID		MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0018
+//!@SYMAPI
+//!                CMMFDevVideoRecord::NewL(MMMFDevVideoRecordObserver{ref});
+//!                CMMFDevVideoRecord::SelectEncoderL(TUid);
+//!                CMMFDevVideoRecord::SetInputFormatL(THwDeviceId, const TUncompressedVideoFormat {ref}, const TSize{ref});
+//!                CMMFDevVideoRecord::SetOutputFormatL(THwDeviceId, const TUncompressedVideoFormat{ref});
+//!                CMMFDevVideoRecord::SetBufferOptionsL(const TEncoderBufferOptions{ref});
+//!                CMMFDevVideoRecord::SetSourceMemoryL(TReal, TBool, TBool);
+//!                CMMFDevVideoRecord::SetMinRandomAccessRate(TReal);
+//!                CMMFDevVideoRecord::Initialize()
+//!                CMMFDevVideoRecord::SetComplexityLevel(THwDeviceId, TUint);
+//!                CMMFDevVideoRecord::Start()
+//!                CMMFDevVideoRecord::Stop()
+//!@SYMAuthor			arueda
+//!@SYMCreationDate		6/16/2008 
+//!@SYMTestCaseDesc		MPEG-4 VGA Video Record Pause resume stop at 15 fps 3Mbps
+//!@SYMTestActions
+//!                1. NewL (inputfile=vga.yuv; outputfile=100.m4v ; inputPath={PATHVIDEOS,inputPath} ; outputPath={PATHVIDEOS,outputPath})
+//!                2. (uid={ENCODERS, MPEG4_HW}; rawPicLength={RAWPICLENGTH, VGA};picWidth={WIDTH,VGA};picHeight={HEIGHT,VGA};framerate=15)
+//!                3. SetInputFormat
+//!                4. SetOutputformat SetOutputformat (mimeType= {MIME,MP4V_LV4} ; DataUnitType={TVideoDataUnitType,EduCodedPicture} ; DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream})
+//!                5. SetBufferOptions (HrdVbvSpecification=EHrdVbvNone; maxPictureSize=10240)
+//!                6. SetSourceMemoryL
+//!                7. SetMinRandomAccessRate (randomAccessRate=1)
+//!                8. Initialize
+//!                9. SetComplexityLevel
+//!                10. Start
+//!                11. Stop
+//!@SYMTestStatus		Verified
+//!@SYMTestPriority		High
+//!@SYMTestExpectedResults
+//!                pause during encoding and resuming without errors
+//!@SYMTestType			CIT
+
+	START_TEST_BLOCK	900	t_devvideo	\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini
+		CREATE_OBJECT	CMMFDevVideoRecord		dvr
+		COMMAND		dvr		NewL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0018-0001-NewL_command01
+		COMMAND		dvr		SelectEncoderL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0018-0001-SelectEncoderL_command02
+		COMMAND		dvr		SetInputFormatL
+		COMMAND		dvr		SetOutputFormatL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0018-0001-SetOutputFormatL_command04
+		COMMAND		dvr		SetBufferOptionsL			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0018-0001-SetBufferOptionsL_command05
+		COMMAND		dvr		SetSourceMemoryL
+		COMMAND		dvr		SetMinRandomAccessRate			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0018-0001-SetMinRandomAccessRate_command07
+		COMMAND		dvr		Initialize
+		OUTSTANDING
+		COMMAND		dvr		SetComplexityLevel			MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0018-0001-SetComplexityLevel_command09
+		COMMAND		dvr		Start
+		OUTSTANDING
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Pause
+		ASYNC_DELAY  50 
+		COMMAND		dvr		Resume
+		OUTSTANDING
+		COMMAND		dvr		Stop
+		COMMAND		dvr		~
+	END_TEST_BLOCK
+END_TESTCASE MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0018
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/src/T_CMMFDevVideoPlayData.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,3327 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <datawrapper.h>
+#include <devvideoplay.h>
+#include <devvideobase.h> 
+#include <hal.h>
+#include <devvideoconstants.h>
+#include "t_cmmfdevvideoplaydata.h"
+#include "t_devvideoconstants.h"
+
+/*@{*/
+//LIT's to get params from ini files
+_LIT(KPostPro,								"postprocessor");
+_LIT(KCodec,								"codec");
+_LIT(KCombination,							"combination");
+_LIT(KScreenout,							"screen");
+_LIT(KFramerate,							"framerate");
+_LIT(KInputfile,							"inputfile");
+_LIT(KOutputfile,							"outputfile");
+_LIT(KSynch,								"synch");
+_LIT(KDecoder, 								"dec");
+_LIT(KRotation, 							"rotation");
+_LIT(KWidth, 								"width");
+_LIT(KHeight, 								"height");
+_LIT(Kx, 									"x");
+_LIT(Ky, 									"y");
+_LIT(KPos, 									"pos");
+_LIT(KAntiAliasFiltering,					"antiAliasFiltering");
+_LIT(KMimeType,								"mimeType");
+_LIT(KUseDecoder,							"useDecoder");
+_LIT(KInputPath,							"inputPath");
+_LIT(KOutputPath,							"outputPath");
+_LIT(KDisplayMode,							"displayMode");
+_LIT(KBuf,									"buffer");
+_LIT(KDataInOrder, 							"dataInOrder");
+_LIT(KTVideoDataUnitType, 					"TVideoDataUnitType");
+_LIT(KTVideoDataUnitEncapsulation, 			"TVideoDataUnitEncapsulation");
+//H264
+_LIT(KUid,									"uidInt");
+_LIT(KBuffMgmt,								"buffMgmt");
+_LIT(KOutput,								"output");
+_LIT(KHwdev,								"hwdev");
+_LIT(KDataUnitTypeInt,						"dataUnitTypeInt");
+_LIT(KEncapsulation,						"encapsulation");
+_LIT(KFormat,								"format");
+_LIT(KDataFormat,                           "dataFormat");
+_LIT(KDataLayout,                           "dataLayout");
+_LIT(KPattern,                              "pattern");
+_LIT(KAspectRatioNum,                       "aspectRatioNum");
+_LIT(KAspectRatioDenom,                     "aspectRatioDenom");
+_LIT(KCoefficients,                         "coefficients");
+_LIT(KPreDecodeBufferSize,                  "preDecodeBufferSize");
+_LIT(KMaxPostDecodeBufferSize,              "maxPostDecodeBufferSize");
+_LIT(KPreDecoderBufferPeriodInt,			"preDecoderBufferPeriodInt");
+_LIT(KPostDecoderBufferPeriodInt,           "postDecoderBufferPeriodInt");
+_LIT(KMaxInputBufferSize,                   "maxInputBufferSize");
+_LIT(KMinNumInputBuffers,                   "minNumInputBuffers");
+_LIT(KInputEnd,								"inputEnd");
+_LIT(KDest,                                 "dest");
+_LIT(KX,                                    "x");
+_LIT(KY,                                    "y");
+_LIT(KSync,                                 "sync");
+/*@}*/
+
+/*@{*/
+//LIT's to identify commands
+_LIT(KCmdNewL,								"NewL");
+_LIT(KCmdDestructor,						"~");
+_LIT(KCmdInitialize,						"Initialize");
+_LIT(KCmdStart,								"Start");
+_LIT(KCmdStop,								"Stop");
+_LIT(KCmdPause,								"Pause");
+_LIT(KCmdResume,							"Resume");
+_LIT(KCmdSetRotateOptionsL,					"SetRotateOptionsL");
+_LIT(KCmdSetScaleOptionsL,					"SetScaleOptionsL");
+_LIT(KCmdSetPosition,						"SetPosition");
+_LIT(KCmdSetClockSource,					"SetClockSource");
+_LIT(KCmdSelectDecoderL,					"SelectDecoderL");
+_LIT(KCmdSetInputFormat,					"SetInputFormat");
+_LIT(KCmdSelectPostProcessorL,				"SelectPostProcessorL");
+_LIT(KCmdPostProcessorInfoLC,				"PostProcessorInfoLC");
+_LIT(KCmdFindCommonFormat,					"FindCommonFormat");
+_LIT(KCmdSetOutputFormatL,					"SetOutputFormatL");
+_LIT(KCmdGetHeaderInformationL,				"GetHeaderInformationL");
+_LIT(KCmdReturnHeader,						"ReturnHeader");
+_LIT(KCmdSetVideoDestScreenL,				"SetVideoDestScreenL");
+_LIT(KCmdGetBufferOptions,					"GetBufferOptions");
+_LIT(KCmdSetBufferOptionsL,					"SetBufferOptionsL");
+_LIT(KCmdSetPostProcessTypesL,				"SetPostProcessTypesL");
+_LIT(KCmdGetOutputFormatListL,				"GetOutputFormatListL");
+_LIT(KCmdAbortDirectScreenAccess,			"AbortDirectScreenAccess");
+_LIT(KCmdStartDirectScreenAccess,			"StartDirectScreenAccess");
+_LIT(KCmdUtilityGetEnvironment,  			"UtilityGetEnvironment");
+/*@}*/
+_LIT(KCmdH264CreateDecTest,  				"H264CreateDecTest");
+_LIT(KCmdH264SelectPostProcessor,           "H264SelectPostProcessor");
+_LIT(KCmdH264SetPostProcessTypes,           "H264SetPostProcessTypes");
+_LIT(KCmdH264SetInputFormatCompr,			"H264SetInputFormatCompr");	
+_LIT(KCmdH264SetOutputFormat,				"H264SetOutputFormat");
+_LIT(KCmdH264SetBufferOptions,				"H264SetBufferOptions");
+_LIT(KCmdH264ListFrameSize,                 "H264ListFrameSize");
+_LIT(KCmdH264SetVideoDestScreen,            "H264SetVideoDestScreen"); 
+_LIT(KCmdH264SetWindowRect,                 "H264SetWindowRect");    
+_LIT(KCmdH264Initialize,					"H264Initialize");
+_LIT(KCmdH264Start,							"H264Start");
+_LIT(KCmdH264Stop,							"H264Stop");
+_LIT(KCmdH264Pause,                         "H264Pause");
+_LIT(KCmdH264Resume,                        "H264Resume");
+_LIT(KCmdH264IOFrameMatch,					"H264IOFrameMatch");
+_LIT(KCmdH264FindCommonFormats,             "H264FindCommonFormats");    
+_LIT(KCmdH264GetHeaderInformation,          "H264GetHeaderInformation");
+_LIT(KCmdH264EnableSynchronization,         "H264EnableSynchronization");
+_LIT(KCmdH264SetScaleOptions,               "H264SetScaleOptions");
+_LIT(KCmdH264SetRotateOptions,              "H264SetRotateOptions");
+_LIT(KCmdH264SynchronizeDecoding,           "H264SynchronizeDecoding");
+_LIT(KCmdH264Delete,                        "H264Delete");
+_LIT(KCmdH264SetPosition,                   "H264SetPosition");
+_LIT(KCmdH264AbortDirectScreenAccess,       "H264AbortDirectScreenAccess");
+
+/*@{*/
+_LIT(KNoCodec,								"ENoCodec");
+_LIT(KH263,									"EH263");
+_LIT(KMPEG4,								"EMPEG4");
+_LIT(KH264,									"EH264");
+_LIT(KRV9,									"ERV9");
+/*@}*/
+
+const CDataWrapperBase::TEnumEntryTable	CT_CMMFDevVideoPlay::iCodecs[] =
+	{
+	KNoCodec,	ENoCodec,
+	KH263,		EH263,
+	KMPEG4,		EMPEG4,
+	KH264,		EH264,
+	KRV9,		ERV9
+	};
+
+/*@{*/
+//LIT's for display mode
+_LIT(KNone,									"ENone");
+_LIT(KGray2,								"EGray2");
+_LIT(KGray4,								"EGray4");
+_LIT(KGray16,								"EGray16");
+_LIT(KGray256,								"EGray256");
+_LIT(KColor16,								"EColor16");
+_LIT(KColor256,								"EColor256");
+_LIT(KColor64K,								"EColor64K");
+_LIT(KColor16M,								"EColor16M");
+_LIT(KRgb,									"ERgb");
+_LIT(KColor4K,								"EColor4K");
+_LIT(KColor16MU,							"EColor16MU");
+_LIT(KColor16MA,							"EColor16MA");
+_LIT(KColorLast,							"EColorLast");
+/*@}*/
+
+const CDataWrapperBase::TEnumEntryTable	CT_CMMFDevVideoPlay::iDisplayModes[] =
+	{
+	KNone,		ENone,
+	KGray2,		EGray2,
+	KGray4,		EGray4,
+	KGray16,	EGray16,
+	KGray256,	EGray256,
+	KColor16,	EColor16,
+	KColor256,	EColor256,
+	KColor64K,	EColor64K,
+	KColor16M,	EColor16M,
+	KRgb,		ERgb,
+	KColor4K,	EColor4K,
+	KColor16MU,	EColor16MU,
+	KColor16MA,	EColor16MA,
+	KColorLast,	EColorLast,
+	KColor64K,	EColor64K,
+	};
+
+/*@{*/
+//LIT's for rotation
+_LIT(KRotateNone,							"ERotateNone");
+_LIT(KRotate90Clockwise,					"ERotate90Clockwise");
+_LIT(KRotate90Anticlockwise,				"ERotate90Anticlockwise");
+_LIT(KRotate180,							"ERotate180");
+/*@}*/
+const CDataWrapperBase::TEnumEntryTable	CT_CMMFDevVideoPlay::iRotations[] =
+	{
+	KRotateNone,			ERotateNone,
+	KRotate90Clockwise,		ERotate90Clockwise,
+	KRotate90Anticlockwise,	ERotate90Anticlockwise,
+	KRotate180,				ERotate180
+	};
+
+/*@{*/
+//LIT's for Video Data Unit Type
+_LIT(KEDuCodedPicture,						"EDuCodedPicture");
+_LIT(KEDuVideoSegment,						"EDuVideoSegment");
+_LIT(KEDuSeveralSegments,					"EDuSeveralSegments");
+_LIT(KEDuArbitraryStreamSection,			"EDuArbitraryStreamSection");
+/*@}*/
+
+const CDataWrapperBase::TEnumEntryTable	CT_CMMFDevVideoPlay::iTVideoDataUnitType[] =
+	{
+	KEDuCodedPicture,				EDuCodedPicture,
+	KEDuVideoSegment,				EDuVideoSegment,
+	KEDuSeveralSegments,			EDuSeveralSegments,
+	KEDuArbitraryStreamSection,		EDuArbitraryStreamSection 
+	};
+
+/*@{*/
+//LIT's for video data unit encapsulation
+_LIT(KEDuElementaryStream,					"EDuElementaryStream");
+_LIT(KEDuGenericPayload,					"EDuGenericPayload");
+_LIT(KEDuRtpPayload,						"EDuRtpPayload");
+/*@}*/
+const CDataWrapperBase::TEnumEntryTable	CT_CMMFDevVideoPlay::iTVideoDataUnitEncapsulation[] =
+	{
+	KEDuElementaryStream,	EDuElementaryStream,
+	KEDuGenericPayload,		EDuGenericPayload,
+	KEDuRtpPayload,			EDuRtpPayload
+	};
+
+//H264
+// -----------------------------------------------------------------------------
+// class CEngineObserver
+// -----------------------------------------------------------------------------
+//
+CEngineObserver::CEngineObserver(CT_CMMFDevVideoPlay& aTestClass) :
+  iTestClass(aTestClass)
+    {
+    
+    }
+void CEngineObserver::MvdeStreamEndReached()
+    {
+    iTestClass.DecOutstanding();
+    }
+void CEngineObserver::MvdeSetError(TInt aError)
+    {
+    iTestClass.SetError(aError);
+    }
+
+/**
+ * Public destructor
+ */
+CT_CMMFDevVideoPlay::~CT_CMMFDevVideoPlay()
+	{
+	INFO_PRINTF1(_L("CT_CMMFDevVideoPlay Destructor In"));
+	if(!iUse264)
+	    {
+	    if(iDsaStarted)
+	        {
+	        iDevvp->AbortDirectScreenAccess();      
+	        iDsaStarted = EFalse;
+	        }
+	    DestroyData();
+	    }
+
+    iUse264 = EFalse;
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay Destructor Out"));
+	}
+
+/**
+ * Return a pointer to the object that the data wraps
+ * @return	pointer to the object that the data wraps
+ */
+TAny* CT_CMMFDevVideoPlay::GetObject()
+	{
+	return iDevvp;
+	}
+
+/**
+ * Command that destroy the wrapped object and helper objects
+ */ 
+void CT_CMMFDevVideoPlay::DoCmdDestructor()
+	{
+	DestroyData();	
+	if ( iFileOpen )
+		{
+		CloseFile();
+		iFileOpen = EFalse;
+		}
+	if ( iDsaStarted )
+		{
+		iDevvp->AbortDirectScreenAccess();      
+		iDsaStarted = EFalse;
+		}      		
+	//Postproc input buffer
+	if ( !iCIBuffMgmtOn && iRawInBuffer)
+		{ 
+		delete (TUint8*)iRawInBuffer->iData.iRawData->Ptr();
+		delete iRawInBuffer->iData.iRawData;
+		delete iRawInBuffer;
+		iRawInBuffer = NULL;
+		}    	
+	if(iScreenDevice)
+		{
+		delete iScreenDevice;
+		iScreenDevice = NULL;
+		RFbsSession::Disconnect();
+		}		
+	if(iClock)
+		{
+		delete iClock;
+		iClock = NULL;
+		}		
+	iFrameSizeList.Close();
+	iFs.Close();
+	REComSession::FinalClose(); 	
+	if(iInfo)
+		{
+		delete iInfo;
+		iInfo=NULL;
+		}	
+	while(Outstanding())
+		{
+		INFO_PRINTF1(_L("DoCmdDestructor DecOutstanding()"));
+		DecOutstanding();
+		}
+	}
+
+/**
+ * Helper method tha destroy the wrapped object
+ */
+void CT_CMMFDevVideoPlay::DestroyData()
+{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DestroyData")); 
+	// Delete Devvideo play 
+	delete iDevvp;
+	iDevvp = NULL;
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DestroyData"));
+}
+
+/**
+ * Two phase constructor
+ *
+ * @leave	system wide error
+ */
+CT_CMMFDevVideoPlay* CT_CMMFDevVideoPlay::NewL()
+	{	
+	CT_CMMFDevVideoPlay*	ret=new (ELeave) CT_CMMFDevVideoPlay();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;		
+	}
+
+/**
+ * Protected constructor. First phase construction
+ */
+CT_CMMFDevVideoPlay::CT_CMMFDevVideoPlay()
+	:
+	iDevvp(NULL),
+	iDecHWDevId(0),
+	iPostProcId(0),
+	iInBuffSize(0),
+	iInputEnd(EFalse),
+	iDsaStarted(EFalse),
+	iSynchronized(EFalse),
+	iFrameListed(EFalse),
+	iPictureSize(0,0),
+	iAsyncErrorIndex(0),
+	iFileOpen(EFalse),
+	iCodedInBuffer(NULL),
+	iOutBuffer(NULL),
+	iRawInBuffer(NULL),
+	iTimeStamp(0),
+	iFrameTimeInterval(0),
+	iSentBuffCount(0),
+	iReturnedBuffCount(0),
+	iPictureLoss(0),
+	iStreamEnd(EFalse),
+	iCodecType(EH263),
+	iClock(NULL),
+	iDirectScreenAccess(EFalse),
+	iCIBuffMgmtOn(EFalse),
+	iFrameMeasurement(EFalse),
+	iCommonFormatFound(EFalse),
+	iErrorInputBuffer(EFalse),
+	iEngine(NULL),
+	iObserver(NULL),
+	iUse264(EFalse),
+	iFrameRate(15)
+	{
+	}
+
+/**
+ * Second phase construction
+ * @internalComponent
+ * @return	N/A
+ * @pre		None
+ * @post	None * @leave	system wide error
+ */
+void CT_CMMFDevVideoPlay::ConstructL()
+	{		
+    iClock = CSystemClockSource::NewL();
+	}
+
+/**
+ * Process a command read from the ini file
+ * @param aCommand			The command to process
+ * @param aSection			The section in the ini containing data for the command
+ * @param aAsyncErrorIndex	Command index for async calls to return errors to 
+ * @return					ETrue if the command is processed *
+ * @leave					System wide error
+ */
+TBool CT_CMMFDevVideoPlay::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection,
+											 const TInt aAsyncErrorIndex)
+	{	
+	TBool	ret=ETrue;
+
+	if ( aCommand==KCmdDestructor )
+		{
+		DoCmdDestructor();
+		}
+	else if ( aCommand==KCmdNewL )
+		{
+		DoCmdNewL(aSection);
+		}
+	else if ( aCommand==KCmdInitialize )
+		{
+		DoCmdInitialize(aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdStart )
+		{
+		DoCmdStart(aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdStop )
+		{
+		DoCmdStop();
+		}
+	else if ( aCommand==KCmdSetPosition )
+		{
+		DoCmdSetPosition(aSection);
+		}
+	else if ( aCommand==KCmdPause )
+		{
+		DoCmdPause();
+		}
+	else if ( aCommand==KCmdResume )
+		{
+		DoCmdResume();
+		}
+	else if ( aCommand==KCmdSetRotateOptionsL )
+		{
+		DoCmdSetRotateOptionsL(aSection);
+		}
+	else if ( aCommand==KCmdSetScaleOptionsL )
+		{
+		DoCmdSetScaleOptionsL(aSection);
+		}
+	else if ( aCommand==KCmdSetClockSource )
+		{
+		DoCmdSetClockSource(aSection);
+		}
+	else if ( aCommand==KCmdSelectDecoderL )
+		{
+		DoCmdSelectDecoderL(aSection);
+		}
+	else if ( aCommand==KCmdSelectPostProcessorL )
+		{
+		DoCmdSelectPostProcessorL(aSection);
+		}
+	else if ( aCommand==KCmdPostProcessorInfoLC )
+		{
+		DoCmdPostProcessorInfoLC();
+		}
+	else if ( aCommand==KCmdGetOutputFormatListL )
+		{
+		DoCmdGetOutputFormatListL(aSection);
+		}	
+	else if ( aCommand==KCmdFindCommonFormat )
+		{
+		DoCmdFindCommonFormat();
+		}
+	else if ( aCommand==KCmdSetOutputFormatL )
+		{
+		DoCmdSetOutputFormatL(aSection);
+		}
+	else if ( aCommand==KCmdGetHeaderInformationL )
+		{
+		DoCmdGetHeaderInformationL(aSection);
+		}	
+	else if ( aCommand==KCmdReturnHeader )
+		{
+		DoCmdReturnHeader();
+		}	
+	else if ( aCommand==KCmdSetVideoDestScreenL )
+		{
+		DoCmdSetVideoDestScreenL();
+		}
+	else if ( aCommand==KCmdGetBufferOptions )
+		{
+		DoCmdGetBufferOptions();
+		}
+	else if ( aCommand==KCmdSetBufferOptionsL )
+		{
+		DoCmdSetBufferOptionsL();
+		}	
+	else if ( aCommand==KCmdSetPostProcessTypesL )
+		{
+		DoCmdSetPostProcessTypesL(aSection);
+		}
+	else if ( aCommand==KCmdSetInputFormat )
+		{
+		DoCmdSetInputFormatL(aSection);
+		}
+	else if ( aCommand==KCmdStartDirectScreenAccess )
+		{
+		DoCmdStartDirectScreenAccessL(aSection);
+		}
+	else if ( aCommand==KCmdAbortDirectScreenAccess )
+		{
+		DoCmdAbortDirectScreenAccess();
+		}
+	else if ( aCommand==KCmdUtilityGetEnvironment )
+		{
+		DoCmdUtilityGetEnvironmentL();
+		}
+	else if ( aCommand==KCmdH264CreateDecTest)
+		{
+		DoCmdH264CreateDecTest(aSection);
+		}
+	else if (aCommand==KCmdH264SelectPostProcessor)
+	    {
+	    DoCmdH264SelectPostProcessor(aSection);
+	    }
+	else if (aCommand==KCmdH264SetPostProcessTypes)
+	    {
+	    DoCmdH264SetPostProcessTypes(aSection);
+	    }
+	else if (aCommand==KCmdH264SetInputFormatCompr)
+		{
+		DoCmdH264SetInputFormatCompr(aSection);
+		}
+	else if (aCommand==KCmdH264SetOutputFormat)
+		{
+		DoCmdH264SetOutputFormat(aSection);
+		}
+	else if (aCommand==KCmdH264SetBufferOptions)
+		{
+		DoCmdH264SetBufferOptions(aSection);
+		}
+	else if (aCommand==KCmdH264ListFrameSize)
+	    {
+	    DoCmdH264ListFrameSize();
+	    }
+	else if (aCommand==KCmdH264SetVideoDestScreen)
+	    {
+	    DoCmdH264SetVideoDestScreen(aSection);
+	    }
+	else if (aCommand==KCmdH264SetWindowRect)
+	    {
+	    DoCmdH264SetWindowRect(aSection);
+	    }
+	else if (aCommand==KCmdH264Initialize)
+		{
+		DoCmdH264Initialize();
+		}
+	else if (aCommand==KCmdH264Start)
+		{
+		DoCmdH264Start(aSection);
+		}
+	else if (aCommand==KCmdH264IOFrameMatch)
+		{
+		DoCmdH264IOFrameNumMatch();
+		}
+	else if (aCommand==KCmdH264Stop)
+		{
+		DoCmdH264Stop();
+		}
+	else if (aCommand==KCmdH264GetHeaderInformation)
+	    {
+	    DoCmdH264GetHeaderInformation(aSection);
+	    }
+	else if (aCommand==KCmdH264FindCommonFormats)
+	    {
+	    DoCmdH264FindCommonFormats();
+	    }
+	else if (aCommand==KCmdH264EnableSynchronization)
+	    {
+	    DoCmdH264EnableSynchronization(aSection);
+	    }
+	else if (aCommand==KCmdH264SetScaleOptions)
+	    {
+	    DoCmdH264SetScaleOptions(aSection);
+	    }
+	else if (aCommand==KCmdH264SetRotateOptions)
+	    {
+	    DoCmdH264SetRotateOptions(aSection);
+	    }
+	else if (aCommand==KCmdH264SynchronizeDecoding)
+	    {
+	    DoCmdH264SynchronizeDecoding(aSection);
+	    }
+	else if (aCommand==KCmdH264Delete)
+	    {
+	    DoCmdH264Delete();
+	    }
+    else if (aCommand==KCmdH264Pause)
+        {
+        DoCmdH264Pause();
+        }
+    else if (aCommand==KCmdH264Resume)
+        {
+        DoCmdH264Resume();
+        }
+    else if (aCommand==KCmdH264SetPosition)
+        {
+        DoCmdH264SetPosition(aSection);
+        }
+	else if (aCommand==KCmdH264AbortDirectScreenAccess)
+		{
+		DoCmdH264AbortDirectScreenAccess();
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Unknown command"));
+		ret = EFalse;
+		}
+	return ret;
+	}
+
+/**
+ * Constructs CMMFDevVideoPlay instance and initialize params.
+ * @param	aSection	- The section to read from the ini file
+ * @return	none
+ */
+void CT_CMMFDevVideoPlay::DoCmdNewL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdNewL"));
+	TBool dataOk = ETrue;
+	DestroyData();	
+	TRAPD(err, iDevvp = CMMFDevVideoPlay::NewL(*this));
+	if ( err!=KErrNone)
+		{
+		ERR_PRINTF2(_L("CT_CMMFDevVideoPlay::DoCmdNewL failed with error %d"), err);
+		SetError (err);
+		dataOk = EFalse;
+		}	
+	if(dataOk)
+		{
+		TRAP(err, InitializeParamsL(aSection));	
+		if (err != KErrNone)
+			{
+			ERR_PRINTF2(_L("CT_CMMFDevVideoPlay::DoCmdNewL failed in InitializeParamsL. Error: %d"), err);
+			SetError (err);
+			}
+		CreateFiles(aSection);	
+		}	
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdNewL"));
+	}  
+
+/**
+ * Open File session
+ */ 
+void CT_CMMFDevVideoPlay::CreateFiles(const TTEFSectionName& aSection)
+	{     
+	TPtrC inputPath;
+	TPtrC outputPath;
+	TPtrC inputfile;
+	TPtrC outputfile;
+	TBool screenout = EFalse;
+	TInt error = KErrNone;
+	TBool dataOk = ETrue;
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::CreateFiles"));
+	
+	if ( !(GetBoolFromConfig(aSection, KScreenout(), screenout)))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KScreenout());
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if ( !(GetStringFromConfig(aSection, KInputfile(),inputfile)))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KInputfile());
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if ( !screenout)
+		{
+		if ( !(GetStringFromConfig(aSection, KOutputfile(),outputfile)))
+			{
+			ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KOutputfile());
+			SetBlockResult(EFail);
+			dataOk = EFalse;
+			}
+		} 
+	if ( !(GetStringFromConfig(aSection, KInputPath(),inputPath)))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KInputPath());
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}			
+	if(dataOk)
+		{		
+		error = iFs.Connect ();
+		if ( error!=KErrNone)
+			{
+			ERR_PRINTF2(_L("CT_CMMFDevVideoPlay::DoCmdNewL failed with error %d"), error);
+			SetError (error);
+			}
+		else
+			{
+			TFileName inFileName(inputPath);
+			inFileName.Append (inputfile);
+			//Open File
+			if ( screenout)
+				{
+				TRAPD(err, OpenFileL(inFileName));
+				if ( err != KErrNone)
+					{
+					ERR_PRINTF2(_L("CT_CMMFDevVideoPlay::DoCmdNewL failed with error %d"), err);
+					SetError (err);
+					}
+				iFileOpen = ETrue;
+				INFO_PRINTF1(_L("File Opened!"));
+				}
+			else
+				{
+				if ( ! (GetStringFromConfig(aSection, KOutputPath(),outputPath)))
+					{
+					ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KOutputPath());
+					SetBlockResult(EFail);
+					}
+				TFileName outFileName(outputPath);
+				outFileName.Append (outputfile);
+				TRAPD(err, OpenFileL(outFileName, inFileName));
+				if ( err != KErrNone)
+					{
+					ERR_PRINTF2(_L("CT_CMMFDevVideoPlay::OpenFileL failed with error %d"), err);
+					SetError (err);
+					}
+				iFileOpen = ETrue;
+				}
+			}												
+		}	
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::CreateFiles"));
+	}
+
+/**
+ * Initilize Engine parameters 
+ * @param	aSection	-	The section to read from the ini file
+ * @return	none
+ */
+void CT_CMMFDevVideoPlay::InitializeParamsL(const TTEFSectionName& aSection)
+	{
+	TInt codec = 0;
+	TBool dataOk = ETrue;
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::InitializeParamsL"));
+	if ( !(GetEnumFromConfig(aSection, KCodec(), iCodecs, codec)))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KCodec());
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}	
+	if ( !(GetBoolFromConfig(aSection, KScreenout(), iDirectScreenAccess)))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KScreenout());
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	
+	if(dataOk)
+		{
+		iCodecType=(TVideoCodec)codec;
+		if (iDirectScreenAccess)
+			{
+			User::LeaveIfError(FbsStartup());
+			}
+		}	
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::InitializeParamsL"));
+	}
+
+/**
+ * Sets the clock source in case the sync parameter is true
+ * @param	aSection	- The section to read from the ini file
+ * @return	none
+ */
+void CT_CMMFDevVideoPlay::DoCmdSetClockSource(const TTEFSectionName& aSection)
+	{
+	TInt framerate = 0;
+	TInt synch = 0;
+	TBool dataOk = ETrue;
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdSetClockSource"));	
+	if ( !( GetIntFromConfig(aSection, KFramerate(), framerate)) )
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFramerate());
+        SetBlockResult(EFail);
+        dataOk = EFalse;
+        }
+	if ( !( GetIntFromConfig(aSection,KSynch(), synch)) )
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KSynch());
+        SetBlockResult(EFail);
+        dataOk = EFalse;
+        }
+	if(dataOk)
+		{
+		if (synch) //Set Clock and frame rate for syncronization    
+	       	{    
+	       	TRAPD(err, ListFrameSizeL(iCodecType));
+	    	if ( err != KErrNone)
+	    		{
+	    		ERR_PRINTF2(_L("CT_CMMFDevVideoPlay::ListFrameSizeL failed with error %d"), err);
+	    		SetError (err);
+	    		}
+	    	else
+	    		{
+	    		INFO_PRINTF1(_L("List Frame done!"));    	
+		       	iDevvp->SetClockSource(iClock);  
+		        iSynchronized = ETrue;
+		        iFrameTimeInterval = (TInt64)(1000000/framerate);
+		        iFramerate = framerate;
+	    		}	    	
+	       	}
+		}		
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdSetClockSource"));
+	}
+
+/**
+ * Gets the decoders list and Select a Decoder
+ * @param	aSection	-	Section to read from the ini file
+ * @return none
+ */
+void CT_CMMFDevVideoPlay::DoCmdSelectDecoderL(const TTEFSectionName& aSection)
+	{
+	TInt decoder;
+	TBool dataOk = ETrue;
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdSelectDecoder"));
+	if ( !(GetHexFromConfig(aSection, KDecoder(), decoder)))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDecoder());
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		iSelectDecoder=TUid::Uid(decoder);
+		TRAPD(err, iDecHWDevId = iDevvp->SelectDecoderL(iSelectDecoder));
+		if (err != KErrNone)
+			{
+			ERR_PRINTF2(_L("SelectDecoderL left with error: %d"), err);
+			SetError(err);
+			}
+		}	
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdSelectDecoder"));
+	}
+
+/**
+ * Gets the postprocessores list and Select a PostProcessor
+ * @param	aSection	-	Section to read from the ini file
+ * @return	none
+ */
+void CT_CMMFDevVideoPlay::DoCmdSelectPostProcessorL(const TTEFSectionName& aSection)
+	{
+	TInt postPro;
+	TBool dataOk = ETrue;
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdSelectPostProcessor"));
+	if ( !(GetHexFromConfig(aSection, KPostPro(), postPro)))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDecoder());
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		iSelectPostProcessor=TUid::Uid(postPro);
+		TRAPD(err, iPostProcId = iDevvp->SelectPostProcessorL(iSelectPostProcessor));
+		if (err != KErrNone)
+			{
+			ERR_PRINTF2(_L("SelectPostProcessorL left with error %d"), err);
+	        SetError(err);
+			}
+		}	
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdSelectPostProcessor"));
+	}
+
+/**
+ * Sets the input format for the decoder and the postprocessor
+ * @param	aSection	-	Section to read from the ini file
+ * @return	none
+ */
+void CT_CMMFDevVideoPlay::DoCmdSetInputFormatL(const TTEFSectionName& aSection)
+	{
+	TBuf8<50> mimetype;
+	TBool useDecoder = ETrue;
+	TInt tVideoDataUnitType = EDuCodedPicture;
+	TInt tVideoDataUnitEncapsulation = EDuElementaryStream;
+	TBool dataInOrder=ETrue;	
+	TPtrC mimeType;
+	TBool dataOk = ETrue;
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdSetInputFormat"));
+	if(!GetStringFromConfig(aSection, KMimeType(), mimeType))
+		{
+		ERR_PRINTF1(_L("Mime type not retrieved, command will not be executed"));
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if ( !(GetBoolFromConfig(aSection, KUseDecoder(), useDecoder)))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KUseDecoder());
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+		
+	if( !(GetBoolFromConfig(aSection, KDataInOrder(), dataInOrder)))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file, using default value"),&KDataInOrder());
+		}			
+	if(! (GetEnumFromConfig(aSection, KTVideoDataUnitType(), iTVideoDataUnitType,tVideoDataUnitType)))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file, using default value"),&KTVideoDataUnitType());
+		}
+	if( !(GetEnumFromConfig(aSection, KTVideoDataUnitEncapsulation(), iTVideoDataUnitEncapsulation,tVideoDataUnitEncapsulation)))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file, using default value"),&KTVideoDataUnitEncapsulation());
+		}	
+	if(dataOk)
+		{
+		mimetype.Append(mimeType);
+		if ( useDecoder) //Decoder
+			{
+			CCompressedVideoFormat* compressedFormat=NULL;
+			TRAPD(error, compressedFormat = CCompressedVideoFormat::NewL (mimetype));
+			if (error != KErrNone)
+				{
+				ERR_PRINTF2(_L("Error in CCompressedVideoFormat::NewL: %d"), error);
+				SetError (error);
+				}
+			else
+				{
+				CleanupStack::PushL (compressedFormat);
+				TRAP(error,
+						iDevvp->SetInputFormatL(iDecHWDevId, *compressedFormat, 
+									(TVideoDataUnitType)tVideoDataUnitType, 
+									(TVideoDataUnitEncapsulation)tVideoDataUnitEncapsulation,
+									dataInOrder));
+				CleanupStack::PopAndDestroy (compressedFormat);
+				if ( error != KErrNone)
+					{
+					ERR_PRINTF2(_L("Error in SetInputFormatL for decoder: %d"), error);
+					SetError (error);
+					}
+				else
+					{
+					INFO_PRINTF1(_L("SetInputFormatL done!"));			
+					}
+				}
+			
+			}
+		else // PostProcessor
+			{
+			TRAPD(err, iDevvp->SetInputFormatL(iPostProcId, iCommonFormat));
+			if ( err != KErrNone)
+				{
+				ERR_PRINTF2(_L("Error in SetInputFormatL for PostProcessor: %d"), err);
+				SetError (err);
+				}
+			}
+		}	
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdSetInputFormat"));
+	}
+
+/**
+ * Gets the output format list from the decoder and the postprocessor
+ * @param	aSection	-	The section to read from the ini file
+ * @return	none
+ */
+void CT_CMMFDevVideoPlay::DoCmdGetOutputFormatListL(const TTEFSectionName& aSection)
+	{
+	TBool useDecoder = ETrue; //ETrue - Decoder , EFalse - PostProcessor
+	TBool dataOk = ETrue;
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdGetOutputFormatListL"));
+	if ( !(GetBoolFromConfig(aSection, KUseDecoder(), useDecoder)))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KUseDecoder());
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		if ( useDecoder) //Decoder
+			{
+			TRAPD(err, iDevvp->GetOutputFormatListL(iDecHWDevId, iDecFormats));
+			if ( err != KErrNone)
+				{
+				ERR_PRINTF2(_L("CT_CMMFDevVideoPlay::DoCmdGetOutputFormatListL failed with error %d"), err);
+				SetError (err);
+				}
+			}
+		else //PostProcessor
+			{
+			TRAPD(err1, iDevvp->GetOutputFormatListL(iPostProcId, iPPFormats));
+			if ( err1 != KErrNone)
+				{
+				ERR_PRINTF2(_L("CT_CMMFDevVideoPlay::DoCmdGetOutputFormatListL left with error %d"), err1);
+				SetError (err1);
+				}
+			}
+		}	
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdGetOutputFormatListL"));
+	}
+
+/**
+ * Gets the postprocessor info.
+ */
+void CT_CMMFDevVideoPlay::DoCmdPostProcessorInfoLC()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdPostProcessorInfo"));
+	delete iInfo;
+	iInfo=NULL;
+	TRAPD(err, {iInfo = iDevvp->PostProcessorInfoLC(iSelectPostProcessor); CleanupStack::Pop(iInfo);} );
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("PostProcessorInfoLC failed with error %i"),err);
+		}
+	else
+		{
+		iPPFormats = iInfo->SupportedFormats();
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdPostProcessorInfo"));
+	}
+
+/**
+ * Find common format for dec output and postproc input. 
+ * Precondition: The command GetOutputList has to be called before, for the Decoder and the postprocessor,
+ * because in this method we use both list to find the common format.
+ */
+void CT_CMMFDevVideoPlay::DoCmdFindCommonFormat()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdFindCommonFormat"));
+	if ( iDevvp->FindCommonFormat (iDecFormats.Array (), iPPFormats.Array (), iCommonFormat) )
+		{
+		INFO_PRINTF1(_L("DoCmdFindCommonFormat found common Format!"));
+		}
+	else
+		{
+		iCommonFormat = iDecFormats[0];
+		ERR_PRINTF1(_L("Error in CT_CMMFDevVideoPlay::DoCmdFindCommonFormat: Common Format not found."));
+		SetBlockResult(EFail);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdFindCommonFormat"));
+	}
+
+/**
+ * Sets the output format for both the decoder and the postprocessor.
+ * @param	aSection	-	The section to read from the ini file
+ * @return	none
+ */
+void CT_CMMFDevVideoPlay::DoCmdSetOutputFormatL(const TTEFSectionName& aSection)
+	{
+	TBool useDecoder = ETrue;
+	TBool dataOk = ETrue;
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdSetOutputFormat"));
+	if ( !(GetBoolFromConfig(aSection, KUseDecoder(), useDecoder)))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KUseDecoder());
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		if ( useDecoder)
+			{ //Decoder			
+			TRAPD(error, iDevvp->SetOutputFormatL (iDecHWDevId, iCommonFormat));
+			if(error != KErrNone)
+				{
+				ERR_PRINTF2(_L("SetOutputFormatL left with error %d"), error);
+				SetError(error);
+				}
+			}
+		else
+			{ //PostProcessor
+			if ( iDirectScreenAccess)
+				{
+				//Set Output Fomat
+				TUncompressedVideoFormat outFormat;
+				outFormat.iDataFormat = ERgbRawData;
+				outFormat.iRgbFormat = ERgb32bit888; //RGB format for display         
+				TRAPD(error, iDevvp->SetOutputFormatL (iPostProcId, outFormat));
+				if(error != KErrNone)
+					{
+					ERR_PRINTF2(_L("SetOutputFormatL left with error %d"), error);
+					SetError(error);
+					}
+
+				}
+			else // Memory buffer output
+				{
+				TRAPD(error, iDevvp->SetOutputFormatL (iPostProcId, iCommonFormat));
+				if(error != KErrNone)
+					{
+					ERR_PRINTF2(_L("SetOutputFormatL left with error %d"), error);
+					SetError(error);
+					}
+				}
+			}
+		}	
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdSetOutputFormat"));
+	}
+
+
+/**
+ * Gets the header information.
+ * @param	aSection	-	The section to read from the ini file
+ * @return	none
+ */
+void CT_CMMFDevVideoPlay::DoCmdGetHeaderInformationL(const TTEFSectionName& aSection)
+	{
+	TInt bufSize = 0;
+	TBool dataOk = ETrue;
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdGetHeaderInformationL"));
+	if ( !(GetIntFromConfig(aSection, KBuf(), bufSize)))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KBuf());
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}		
+	if(dataOk)
+		{
+		INFO_PRINTF1(_L("GetHeaderInformationL init..!"));
+		TInt err = KErrNone;
+		iHeaderInfo = NULL;
+		HBufC8* tempBuff=  NULL;
+		//Read Picture header : Size is not known
+		TVideoInputBuffer* codedBuffer = new(ELeave) TVideoInputBuffer;
+		CleanupStack::PushL ( codedBuffer);
+		if ( iFrameListed) //frame size known 
+			{
+			tempBuff = HBufC8::NewLC(iInBuffSize);
+			codedBuffer->iData.Set (tempBuff->Des ());
+			if(iFrameSizeList.Count() > 0)
+				{
+				err = ReadOneCodedPicture (codedBuffer, iFrameSizeList[0]);
+				}
+			else
+				{
+				err = KErrGeneral;
+				}
+			
+			TInt pos =0;
+			if ( iInFile.Seek (ESeekStart, pos))
+				{
+				err = KErrGeneral;
+				}
+			if ( err < 0)
+				{
+				CleanupStack::PopAndDestroy (tempBuff);
+				}
+			}
+		else //frame size not known 
+			{
+			iInBuffSize = KH263MaxCodedSizeQCIF;
+			err = KErrOverflow;
+			while ( (err == KErrOverflow) && (iInBuffSize <= KMP4MaxCodedSizeVGA))
+				{
+				tempBuff = HBufC8::NewLC(iInBuffSize);
+				codedBuffer->iData.Set (tempBuff->Des ());
+				err = ReadOneCodedPicture (codedBuffer);
+				TInt pos =0;
+				if ( iInFile.Seek (ESeekStart, pos))
+					{
+					err = KErrGeneral;
+					}
+				if ( iInputEnd)
+					{
+					err = KErrNotFound;
+					}
+				if ( err < 0)
+					{
+					CleanupStack::PopAndDestroy (tempBuff);
+					iInBuffSize = 4*iInBuffSize;
+					}
+				}
+			}
+		// Reitrieve header information from bitstream 
+		if ( err < 0)
+			{
+			CleanupStack::PopAndDestroy (codedBuffer);
+			}
+		else
+			{
+			TRAPD(error, iHeaderInfo = iDevvp->GetHeaderInformationL(EDuCodedPicture, EDuElementaryStream,codedBuffer));
+			CleanupStack::PopAndDestroy (tempBuff);
+			CleanupStack::PopAndDestroy (codedBuffer);		
+			if ( error != KErrNone)
+				{
+				ERR_PRINTF2(_L("Error in DoCmdGetHeaderInformationL: %d"), error);
+				SetError(error);				
+				}
+			else
+				{
+				//Check Header info 
+				if ( iHeaderInfo)
+					{
+					//Size in Memory
+					iPictureSize = iHeaderInfo->iDisplayedRect.Size ();
+					// Display rect  
+					TSize dispsize = iHeaderInfo->iDisplayedRect.Size ();
+					iDispRect.SetSize (dispsize);
+					INFO_PRINTF3(_L("Size from Header, Height: %d Width: %d"),dispsize.iHeight,
+							dispsize.iWidth);
+					INFO_PRINTF3(_L("Size from iPictureSize, Height: %d Width: %d"),iPictureSize.iHeight,
+							iPictureSize.iWidth);
+					}
+				// Set size of decoder input buffer
+				if ( !iFrameListed)
+					{
+					iInBuffSize = bufSize;
+					}
+				}				
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdGetHeaderInformationL"));
+	}
+
+/**
+ * Returns  the HeaderInformation of the video
+ */
+void CT_CMMFDevVideoPlay::DoCmdReturnHeader()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdReturnHeader"));
+	if (iHeaderInfo)
+		{
+		iDevvp->ReturnHeader(iHeaderInfo);
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Error in DoCmdReturnHeader!"));
+  		SetBlockResult(EFail);
+		}
+		INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdReturnHeader"));
+	}
+
+/**
+ * Sets output on screen or memory buffer
+ */
+void CT_CMMFDevVideoPlay::DoCmdSetVideoDestScreenL()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdSetVideoDestScreenL"));
+	TRAPD(err, iDevvp->SetVideoDestScreenL(iDirectScreenAccess));
+	if (err != KErrNone)
+  		{
+  		ERR_PRINTF2(_L("Error in DoCmdSetVideoDestScreenL: %d"), err);
+  		SetError(err);
+  		}	
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdSetVideoDestScreenL"));
+	}
+    
+/**
+ * Gets the buffer options.
+ */
+void CT_CMMFDevVideoPlay::DoCmdGetBufferOptions()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdGetBufferOptions"));
+	iDevvp->GetBufferOptions(iBufferOptions);	
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdGetBufferOptions"));
+	}
+
+/**
+ * Sets the buffer options for the DevVideoPlay
+ */
+void CT_CMMFDevVideoPlay::DoCmdSetBufferOptionsL()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdSetBufferOptionsL"));
+	iBufferOptions.iMaxInputBufferSize = iInBuffSize;
+	//iBufferOptions.iMaxPostDecodeBufferSize = 0;	
+	iBufferOptions.iPreDecodeBufferSize = 0;
+	iBufferOptions.iMinNumInputBuffers = KNumOfInputBuffers;
+	TRAPD(err, iDevvp->SetBufferOptionsL(iBufferOptions));
+	if ( err != KErrNone)
+		{
+		ERR_PRINTF2(_L("Error in DoCmdSetBufferOptionsL: %d"), err);
+		SetError (err);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdSetBufferOptionsL"));
+	}
+
+/**
+ * Sets the options for the postprocessor
+ */
+void CT_CMMFDevVideoPlay::DoCmdSetPostProcessTypesL(const TTEFSectionName& aSection)
+	{
+	TInt combination = 0;
+	TBool dataOk = ETrue;
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdSetPostProcessTypesL"));
+	if ( ! (GetHexFromConfig(aSection, KCombination(), combination)) )
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KCombination());
+        SetBlockResult(EFail);
+        dataOk = EFalse;
+        }
+	if(dataOk)
+		{
+		TRAPD(err,iDevvp->SetPostProcessTypesL(iPostProcId, combination));
+		if( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("CT_CMMFDevVideoPlay::DoCmdSetPostProcessTypesL left with error %d"), err);
+			SetError(err);		
+			} 
+		}	
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdSetPostProcessTypesL"));
+	}
+
+/**
+ * Initialize the decoder with the specified parameters.
+ * @return - KErrNone if no error
+ */ 
+void CT_CMMFDevVideoPlay::DoCmdInitialize(const TInt aAsyncErrorIndex)
+    {  
+    INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdInitialize"));
+    iAsyncErrorIndex = aAsyncErrorIndex;    
+    iDevvp->Initialize();
+    IncOutstanding();	
+    INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdInitialize"));
+    }
+
+/**
+ * Starts video decoding directly to the display frame buffer using Direct Screen Access. Playback to the display can start immediately.
+ * 
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::DoCmdStart(const TInt aAsyncErrorIndex)
+    {
+    INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdStart"));
+    iAsyncErrorIndex = aAsyncErrorIndex;
+    // Start DevVideoPlay
+    INFO_PRINTF1(_L("Start Decoding Engine.."));
+   	iDevvp->Start();    	
+   	//Reset Clock at Stream Start
+   	if ( iSynchronized ) 
+   	    { 	
+   	    TTimeIntervalMicroSeconds offset(KStartOffset);
+   	    iClock->Reset(offset);  
+   	    }
+   	INFO_PRINTF1(_L("Start Data transfer."));
+   	TRAPD(err, HandleNewBufferL()); 
+   	if (err != KErrNone)
+   	    {
+   	    ERR_PRINTF2(_L("HandleNewBufferL()left with error %d"),err);
+   	    SetError(err);
+   	    }
+   	else
+   	   {
+   	    if(!iErrorInputBuffer)
+   	    	{
+   	    	IncOutstanding();
+   		    INFO_PRINTF1(_L("Start..done!"));     
+   		    INFO_PRINTF2(_L("iFrameSizeList.Count %d"),iFrameSizeList.Count());  
+   	    	} 	       
+   	   }         	   
+    INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdStart"));
+    }
+
+/**
+ * Stops the playback
+ * @param	aSection	-	The section to read from the ini file
+ * @return	none
+ */
+void CT_CMMFDevVideoPlay::DoCmdStartDirectScreenAccessL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdStartDirectScreenAccessL"));	
+	if ( !iScreenDevice)
+		{
+		delete iScreenDevice;
+		iScreenDevice = NULL;
+		RFbsSession::Disconnect();
+		TDisplayMode displayMode; //0 - Decoder , 1 - PostProcessor
+		TInt value = 0;
+		if ( !(GetEnumFromConfig(aSection, KDisplayMode(), iDisplayModes, value)))
+			{
+			ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDisplayMode());
+			SetBlockResult(EFail);
+			}
+		displayMode = (TDisplayMode)value;
+		User::LeaveIfError (RFbsSession::Connect());
+		
+		TRAPD(error, iScreenDevice = CFbsScreenDevice::NewL (KScreenNumber, displayMode));
+		if(error != KErrNone)
+			{
+			ERR_PRINTF2(_L("Error creating screen device"),error);
+			SetError(error);
+			}
+		}
+	
+	if ( iDispRect.iBr.iY > KQVGAHeight)
+		{
+		iDispRect.iTl.iY = 0;
+		iDispRect.SetHeight (KQVGAHeight);
+		}
+	if ( iDispRect.iBr.iX > KQVGAWidth)
+		{
+		iDispRect.iTl.iX = 0;
+		iDispRect.SetWidth (KQVGAWidth);
+		}
+	
+	TRegionFix<1> region(iDispRect);
+	//Start DSA
+
+	INFO_PRINTF2(_L("Size window Y: %d"),iDispRect.Height());
+	INFO_PRINTF2(_L("Size window X: %d"),iDispRect.Width());
+
+	TRAPD(error,iDevvp->StartDirectScreenAccessL(iDispRect, *iScreenDevice, region));
+	if ( error != KErrNone)
+		{
+		ERR_PRINTF2(_L("StartDirectScreenAccessL error: %d"),error);
+		SetError(error);
+		}
+	else
+		{
+		iDsaStarted = ETrue;
+		}
+	
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdStartDirectScreenAccessL"));
+	}
+
+/** 
+ * Stop Devvideoplay 
+ */
+void CT_CMMFDevVideoPlay::DoCmdStop()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdStop"));
+	iDevvp->Stop ();
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdStop"));
+	}
+
+/**
+ * Aborts Direct Screen Access completely
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::DoCmdAbortDirectScreenAccess()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdAbortDirectScreenAccess"));
+	if ( iDirectScreenAccess && iDsaStarted)
+		{
+		iDevvp->AbortDirectScreenAccess ();
+		INFO_PRINTF1(_L("Abort Direct Screen Access Done"));
+		iDsaStarted = EFalse;
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdAbortDirectScreenAccess"));
+	}
+
+/**
+ * Pause the decoding process
+ */
+void CT_CMMFDevVideoPlay::DoCmdPause()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdPause"));
+	if ( iSynchronized)
+		{
+		iClock->Suspend (); //Stop Clock source
+		}
+	iDevvp->Pause();
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdPause"));
+	}
+
+/**
+ * Resume the decodind process
+ */
+void CT_CMMFDevVideoPlay::DoCmdResume()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdResume"));
+	if ( iSynchronized)
+		{
+		iClock->Resume (); //Restart Clock source
+		}
+	iDevvp->Resume ();	
+	if ( iDecHWDevId)
+		{		
+		if ( iDevvp->NumFreeBuffers () > 0 )
+			{
+			INFO_PRINTF1(_L("Restart data transfer."));
+	    	TRAPD(err1, HandleNewBufferL()); 
+	        if (err1 != KErrNone)
+	        	{
+	        	ERR_PRINTF2(_L("HandleNewBufferL()left with error %d"),err1);
+	        	SetError(err1);
+	        	return;
+	        	}
+			}
+		}
+
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdResume"));
+	}
+
+/**
+ * Rotating the display
+ * @param	aSection	-	The section to read from the ini file
+ * @return	none
+ */
+void CT_CMMFDevVideoPlay::DoCmdSetRotateOptionsL(const TTEFSectionName& aSection)
+	{
+	TRotationType rotation;
+	TInt rotItem;
+	TBool dataOk = ETrue;
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdSetRotateOptionsL"));
+	if ( !( GetEnumFromConfig(aSection, KRotation(), iRotations, rotItem)))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRotation());
+        SetBlockResult(EFail);
+        dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		rotation = (TRotationType)rotItem;		
+		TRAPD(error,iDevvp->SetRotateOptionsL(iPostProcId, rotation));
+		if ( error != KErrNone)
+			{
+			ERR_PRINTF2(_L("DoCmdSetRotateOptionsL! Error = %d"),error);
+			SetError (error);
+			}
+		}	
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdSetRotateOptionsL"));
+	}
+
+/**
+ * Setting the screen options
+ * @param	aSection	-	The section to read from the ini file
+ * @return	none
+ */
+void CT_CMMFDevVideoPlay::DoCmdSetScaleOptionsL(const TTEFSectionName& aSection)
+    {
+	TInt width;
+	TInt height;
+  	TInt x,y;
+  	TBool antiAliasFiltering = ETrue;
+  	TBool dataOk = ETrue;
+  	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdSetScaleOptionsL"));
+	if ( !(GetIntFromConfig(aSection, Kx(), x)) )
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &Kx());
+        SetBlockResult(EFail);
+        dataOk = EFalse;
+        }
+	if ( !(GetIntFromConfig(aSection, Ky(), y)) )
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &Ky());
+        SetBlockResult(EFail);
+        dataOk = EFalse;
+        } 
+	if ( !(GetIntFromConfig(aSection, KWidth(), width)) )
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KWidth());
+        SetBlockResult(EFail);
+        dataOk = EFalse;
+        }
+	if ( !(GetIntFromConfig(aSection, KHeight(), height)) )
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KHeight());
+        SetBlockResult(EFail);
+        dataOk = EFalse;
+        }	
+	GetBoolFromConfig(aSection, KAntiAliasFiltering(),antiAliasFiltering);
+ 	if(dataOk)
+ 		{
+ 		TSize size(width, height);	  
+ 		TRAPD(error, SetWindowRect(x, y,size));
+ 		if ( error != KErrNone)
+ 			{
+ 			ERR_PRINTF2(_L("SetWindowRect! left with Error = %d"),error);
+ 			SetBlockResult (EFail);
+ 			}
+
+ 		TRAP(error, iDevvp->SetScaleOptionsL(iPostProcId, size, antiAliasFiltering));
+ 		if ( error != KErrNone)
+ 			{
+ 			ERR_PRINTF2(_L("SetScaleOptionsL! left with Error = %d"),error);
+ 			SetError (error);
+ 			}
+ 		}	
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdSetScaleOptionsL"));
+    }
+
+/**
+ * Sets the new position for playback and decoding. It is use for forward and backward
+ */
+void CT_CMMFDevVideoPlay::DoCmdSetPosition(const TTEFSectionName& aSection)
+	{
+	TInt pos;
+	Int64 time = 0;
+	TBool dataOk = ETrue;
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdSetPosition"));
+	if ( !(GetIntFromConfig(aSection, KPos(), pos)) ) //This parameter indicates seconds to move forward/backward from the current position
+		{
+	    ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KPos());
+	    SetBlockResult(EFail);
+	    dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		pos = pos*iFramerate;	
+		INFO_PRINTF2(_L("pos %i"),pos);
+		if((pos > iFrameSizeList.Count()) || ((pos+iSentBuffCount) < 0))
+			{
+			ERR_PRINTF2(_L("Invalid value, check %S from INI file"), &KPos());
+			//SetBlockResult(EFail);
+			}
+		else
+			{
+			iSentBuffCount +=pos;
+			TTimeIntervalMicroSeconds timeStamp;	
+			if ( iSynchronized )
+				{
+				timeStamp = (TTimeIntervalMicroSeconds)(iSentBuffCount*iFrameTimeInterval);
+				time = timeStamp.Int64();
+				iClock->Reset(timeStamp);  
+				iTimeStamp = time; 		 
+				}
+			else
+				{
+				timeStamp = (TTimeIntervalMicroSeconds)(iSentBuffCount);    
+				}
+			 
+			iDevvp->SetPosition(timeStamp);
+			 
+			TInt temp=0;
+			for(TInt i=0; i < iSentBuffCount; i++)
+				{
+				temp += iFrameSizeList[i];
+				}			 
+			TInt error = KErrNone;
+			error = iInFile.Seek(ESeekStart,temp);
+			if (error != KErrNone)
+				{
+				ERR_PRINTF2(_L("Error Seeking in file, check ini for parameter POS: %d"),error);
+				SetBlockResult(EFail);
+				}
+			}		
+		}	
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdSetPosition"));
+	}
+
+/**
+ * Utility command to get the initial parameters
+ */
+void CT_CMMFDevVideoPlay::DoCmdUtilityGetEnvironmentL()
+	{	
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::DoCmdUtilityGetEnvironmentL"));
+			
+	CPostProcessorInfo *infoPost = NULL;
+	RArray< TUid > postProcessors;
+	iDevvp->GetPostProcessorListL(postProcessors);
+	for(TInt i = 0; i< postProcessors.Count(); i++)
+		{
+		INFO_PRINTF3(_L("PostProcessors %d = 0x%x"),i,postProcessors[i]);
+		TRAPD(err,infoPost = iDevvp->PostProcessorInfoLC(postProcessors[i]);CleanupStack::Pop(infoPost));
+		if(err != KErrNone)
+			{
+			ERR_PRINTF1(_L("Error in getting Devvp->PostProcessorInfoLC(postProcessors[i])"));
+			}
+		else
+			{
+			TBool supported = infoPost->SupportsDirectDisplay();
+			if (supported)
+				{
+				INFO_PRINTF1(_L("Direct Display Supported"));
+				}
+			else
+				{
+				INFO_PRINTF1(_L("Direct Display Not Supported"));
+				}	
+			const RArray<TUint32> combinations = infoPost->SupportedCombinations();	  
+			for (i = 0; i < combinations.Count(); i++)
+				{
+				INFO_PRINTF2(_L("Supported Combination : %d"),combinations[i]);
+				}
+			TUint32 test = 0x3040;	
+			if (infoPost->SupportsCombination(test))
+				{
+				INFO_PRINTF2(_L("Combination %x is Supported"),test);
+				}
+			else
+				{
+				INFO_PRINTF2(_L("Combination %x is NOT Supported"),test);
+				}
+			test = 0x40;//play	
+			if (infoPost->SupportsCombination(test))
+				{
+				INFO_PRINTF2(_L("Combination %x is Supported"),test);
+				}
+			else
+				{
+				INFO_PRINTF2(_L("Combination %x is NOT Supported"),test);
+				}
+			test = 0x44;//rotation
+			if (infoPost->SupportsCombination(test))
+				{
+				INFO_PRINTF2(_L("Combination %x is Supported"),test);
+				}
+			else
+				{
+				INFO_PRINTF2(_L("Combination %x is NOT Supported"),test);
+				}
+			test = 0x48;//scale
+			if (infoPost->SupportsCombination(test))
+				{
+				INFO_PRINTF2(_L("Combination %x is Supported"),test);
+				}
+			else
+				{
+				INFO_PRINTF2(_L("Combination %x is NOT Supported"),test);
+				}
+			TUint32 rotations = infoPost->SupportedRotations();
+			if (rotations == 0)
+				{
+				INFO_PRINTF1(_L("Rotation is Not Supported"));
+				}
+			else
+				{
+				INFO_PRINTF2(_L("Supported rotation : %d"),rotations);
+				}
+			supported = infoPost->SupportsArbitraryScaling();
+			if (supported)
+				{
+				INFO_PRINTF1(_L("Arbitrary Scaling is Supported"));
+				}
+			else
+				{
+				RArray<TScaleFactor> scaleFactors = infoPost->SupportedScaleFactors();
+				TScaleFactor factor;
+				for (i = 0; i < scaleFactors.Count(); i++)
+					{
+					factor = scaleFactors[i];
+					INFO_PRINTF3(_L("Scale factor: scale num - %d scale denom - %d"),factor.iScaleNum,factor.iScaleDenom);
+					}		
+				}
+			}
+		
+		}
+	
+  			
+	RArray<TUid> decoders;
+	iDevvp->GetDecoderListL(decoders);
+	CVideoDecoderInfo *infDec =NULL;
+	INFO_PRINTF1(_L("INFORMATION ABOUT DECODERS:"));
+	for(TInt i = 0; i< decoders.Count(); i++)
+		{		
+		TRAPD(err, infDec = iDevvp->VideoDecoderInfoLC(decoders[i]);CleanupStack::Pop(infDec));		
+		if(err != KErrNone )
+			{
+			 ERR_PRINTF1(_L("Error in iDevvp->VideoDecoderInfoLC(decoders[i])"));
+			}
+		else
+			{
+			INFO_PRINTF6(_L("\nDecoder =0x%x\n Identifier = %S\n Accelerated = %i\n Supports Direct Display: %i\n Manufacturer%S"), 
+					decoders[i].iUid,
+					&infDec->Identifier(),
+					infDec->Accelerated(),
+					infDec->SupportsDirectDisplay(),
+					&infDec->Manufacturer());				
+			INFO_PRINTF1(_L("SUPPORTED FORMATS:"));
+			TBuf<255> mime;
+			const RPointerArray<CCompressedVideoFormat>& outputFormats =infDec->SupportedFormats();
+			for (TInt j = 0; j < outputFormats.Count(); j++)
+				{
+				mime.Copy(outputFormats[j]->MimeType());		
+				INFO_PRINTF3(_L("Supported type %d MIMETYPE: %S"),j,&mime);					
+				}	
+			INFO_PRINTF1(_L("\n\n"));	
+			}						
+		}
+		    
+	TInt colors = 0;
+	HAL::Get(HALData::EDisplayColors, colors);
+	INFO_PRINTF2(_L("Display colors : %d"),colors);
+	INFO_PRINTF1(_L("Display mode!"));
+	switch(colors)
+		{
+		case 0:
+	 		INFO_PRINTF1(_L("None"));
+	 	break;		
+		case 16777216:
+			INFO_PRINTF1(_L("EColor16MU"));
+		break;
+		case 65536:
+			INFO_PRINTF1(_L("EColor64K"));
+		break;
+		case 4096:
+			INFO_PRINTF1(_L("EColor4K"));
+		break;
+		default:
+			INFO_PRINTF1(_L("Default mode EColor4K"));
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::DoCmdUtilityGetEnvironmentL"));
+	}
+
+/**
+ * Sets the original window for display
+ */
+void CT_CMMFDevVideoPlay::SetWindowRect(TInt aX, TInt aY, TSize aSize)
+    {
+    INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::SetWindowRect"));
+    iDispRect.SetRect(TPoint(aX,aY),aSize);
+    INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::SetWindowRect"));
+    }
+
+/**
+ * Read one coded picture into decoder input buffer
+ * 
+ * @param aCodedInBuffer
+ * 
+ * @return err
+ */
+TInt CT_CMMFDevVideoPlay::ReadOneCodedPicture(TVideoInputBuffer* aCodedInBuffer)
+	{
+	TInt buffLength = iInBuffSize;
+	TBool found = EFalse;
+	TInt pos =0;
+	TUint8* testData= NULL;
+	TInt err = KErrNone;	
+	if ( aCodedInBuffer->iData.MaxLength ()< buffLength)
+		{
+		err = KErrOverflow;
+		return err;
+		}
+	aCodedInBuffer->iData.SetLength (0);
+	//Read data from Input File  
+	err = iInFile.Read (aCodedInBuffer->iData, buffLength);
+	if ( err != KErrNone)
+		{
+		return err;
+		}
+	//Buffer is not full,  reset size of buffer   
+	if ( aCodedInBuffer->iData.Length ()< buffLength)
+		{
+		buffLength = aCodedInBuffer->iData.Length ();
+		}
+	testData = const_cast<TUint8*>(aCodedInBuffer->iData.Ptr());
+	//Check the length of one coded picture
+	if ( (iCodecType == EH263) || ((testData[0] == 0x00) && (testData[1] == 0x00) & ((testData[2] & 0xFC) == 0x80)))
+		{
+		if ( (aCodedInBuffer->iData.Length() > 0))
+			{
+			pos = KScLength; //skip first 3 byte (PSC)   
+			// Find next PSC
+			while ( pos < (buffLength - KScLength) && !found)
+				{
+				if ( (testData[pos+1] == 0x00) && (testData[pos+2] == 0x00) & ((testData[pos+3] & 0xFC) == 0x80))
+					{
+					found = ETrue;
+					}
+				pos++;
+				}
+			}
+		else
+			{
+			iInputEnd = ETrue;
+			return err;
+			}
+		}
+	else
+		if ( iCodecType == EMPEG4)
+			{
+			if ( (aCodedInBuffer->iData.Length() > 0))
+				{
+				// Check if start code of Visual Object Sequence              
+				pos = 0;
+				while ( pos < (buffLength - KScLength) && !found)
+					{ // Find 1st VOP start code in the buffer              
+					if ( (testData[pos] == 0x00) && (testData[pos+1] == 0x00)&& (testData[pos+2] == 0x01) && (testData[pos+3] == 0xB6))
+						{
+						while (pos < (buffLength - KScLength-1) && !found)
+							{
+							pos++;
+							// Find 2nd start code in the buffer >> End of a Picture
+							if ( (testData[pos+1] == 0x00) && (testData[pos+2] == 0x00)&& (testData[pos+3] == 0x01) && (testData[pos+4] != 0xB1))
+								{
+								found = ETrue;
+								}
+							}
+						}
+					pos++;
+					}
+				}
+			else
+				{
+				iInputEnd = ETrue;
+				return err;
+				}
+			}
+		else
+			{
+			err = KErrNotSupported;
+			}
+	// Start and End of a picure are found 
+	if ( found)
+		{
+		//Set Size to length of the header + one picure, and reset position to be read next time
+		aCodedInBuffer->iData.SetLength (pos);
+		TInt tempLength = pos - buffLength;
+		err = iInFile.Seek (ESeekCurrent, tempLength);
+		}
+	// All data in Buffer are checked and end of data not found 
+	else
+		{
+		if ( pos >= (iInBuffSize-3))
+			{
+			err = KErrOverflow;
+			}
+		}
+	if ( err == KErrNone)
+		{
+		err = pos;
+		}	
+	return err;	
+	}          
+    
+/**
+ * Read one coded picture into decoder input buffer, frame size is known 
+ * 
+ * @param aCodedInBuffer
+ * @param aSize				- frame size
+ * @return err				- The error
+ */
+TInt CT_CMMFDevVideoPlay::ReadOneCodedPicture(TVideoInputBuffer* aCodedInBuffer, TInt aSize)
+    {
+    TInt err = KErrNone;        
+    if(aCodedInBuffer !=NULL)
+    	{
+    	err = iInFile.Read(aCodedInBuffer->iData, aSize);                
+    	}
+    else
+    	{
+    	INFO_PRINTF1(_L("aCodedInBuffer is NULL"));
+    	err = KErrNotFound;
+    	}
+    if (aSize == 0)
+    	{
+    	iInputEnd = ETrue;
+    	}
+    return err;
+    }
+
+
+/**
+ * Notifies the client that one or more new empty input buffers are available
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::MdvpoNewBuffers()
+    {
+	TRAPD(err, HandleNewBufferL()); 
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("HandleNewBufferL()left with error %d"),err);
+		SetBlockResult(EFail);    	
+		}
+    }
+
+/**
+ * Returns a used input video picture back to the caller. The picture memory can be re-used or freed. 
+ * 
+ * @param aPicture	the picture to return
+ */
+void CT_CMMFDevVideoPlay::MdvpoReturnPicture(TVideoPicture* aPicture)
+    {   
+    if ( iRawInBuffer == aPicture )
+        {        
+    	TRAPD(err1, HandleNewBufferL()); 
+        if (err1 != KErrNone)
+        	{
+        	ERR_PRINTF2(_L("HandleNewBufferL()left with error %d"),err1);
+        	SetBlockResult(EFail);
+        	}
+        }    
+    }
+
+/**
+ * Delivers supplemental information from a coded data unit.
+ * 
+ * @param aData			The supplemental data. The reference is only valid until the method returns, and thus the data must be processed or copied immediately
+ * @param aTimestamp	The presentation timestamp for the picture that the supplemental data is part of
+ * @param aPictureId	Picture identifier for the picture. If a picture ID is not available, aPictureId.iIdType is set to ENone
+ * 
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::MdvpoSupplementalInformation(const TDesC8& /*aData*/, const TTimeIntervalMicroSeconds& /*aTimestamp*/, const TPictureId& /*aPictureId*/)
+    {	  
+    }
+
+/**
+ * Back channel information from the decoder, indicating a picture loss without specifying the lost picture.
+ * 
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::MdvpoPictureLoss()
+    {
+    iPictureLoss++;      
+    }
+
+/**
+ * Back channel information from the decoder, indicating a picture loss without specifying the lost picture.
+ * 
+ * @param aPictures	Picture identifiers for the lost pictures.
+ * 
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::MdvpoPictureLoss(const TArray<TPictureId>& aPictures)
+    {         
+    iPictureLoss += aPictures.Count();     
+    }
+
+/**
+ * Back channel information from the decoder, indicating the loss of consecutive macroblocks in raster scan order.
+ * 
+ * @param aFirstMacroblock	The first lost macroblock
+ * @param aNumMacroblocks	The number of lost macroblocks that are consecutive in raster-scan order
+ * @param aPicture			The picture identifier for the picture where the macroblocks were lost
+ * 
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::MdvpoSliceLoss(TUint /*aFirstMacroblock*/, TUint /*aNumMacroblocks*/, const TPictureId& /*aPicture*/)
+    {  
+    }
+
+/**
+ * Back channel information from the decoder, indicating a reference picture selection request. 
+ * 
+ * @param aSelectionData	The	reference picture selection request message. 
+ * 
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::MdvpoReferencePictureSelection(const TDesC8& /*aSelectionData*/)
+    {
+    }
+
+/**
+ * Called when a timed snapshot request has been completed. When this method is called, the snapshot has been taken, and the memory reserved for the picture can be re-used or freed. 
+ * 
+ * @param aError					An error code, KErrNone if no errors occurred.
+ * @param aPictureData				The snapshot picture data
+ * @param aPresentationTimestamp	The presentation timestamp for the snapshot picture
+ * @param aPictureId				Picture identifier for the picture. If a picture ID is not available, aPictureId.iIdType is set to ENone
+ * 
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::MdvpoTimedSnapshotComplete(TInt aError, TPictureData* /*aPictureData*/, 
+														const TTimeIntervalMicroSeconds& /*aPresentationTimestamp*/,
+														const TPictureId& /*aPictureId*/)
+    {
+    if(aError!= KErrNone)
+    	{
+    	INFO_PRINTF2(_L("An error has ocurred: %i in CT_CMMFDevVideoPlay::MdvpoTimedSnapshotComplete"),aError);
+    	}    
+    }    
+
+/**
+ * Notifies the client that one or more new output pictures are available. 
+ * 
+ * @return None
+ */    
+void CT_CMMFDevVideoPlay::MdvpoNewPictures()
+    {    
+    GetReturnedPicture();
+    }
+
+/**
+ * Reports a fatal decoding or playback error to the client.
+ * 
+ * @param aError	The error code
+ * 
+ * @return None
+ */       
+void CT_CMMFDevVideoPlay::MdvpoFatalError(TInt aError)
+    {
+    INFO_PRINTF1(_L("MdvpoFatalError DecOutstanding"));
+    DecOutstanding();
+    ERR_PRINTF2(_L("A Fatal error has ocurred: %i"),aError);
+    HandleRuntimeError(aError);  
+    }
+
+/**
+ * Reports that DevVideoPlay initialization has completed. The interface can now be used for video playback. 
+ * 
+ * @param aError	Initialization error code, KErrNone if no error occurred
+ * 
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::MdvpoInitComplete(TInt aError)
+	{
+
+	if ( aError == KErrNone)
+		{
+		INFO_PRINTF1(_L("MdvpoInitComplete OK"));
+		//Initilize parameters for Decoding/Playback
+		iCodedInBuffer = NULL;
+		iOutBuffer =NULL;
+		iSentBuffCount = 0;
+		iReturnedBuffCount = 0;
+		iPictureLoss =0;
+		iInputEnd = EFalse;
+		iStreamEnd = EFalse;
+		iTimeStamp = 0;
+		}
+	else
+		{		
+		ERR_PRINTF2(_L("MdvpoInitComplete Error %d"), aError);
+		SetAsyncError (iAsyncErrorIndex, aError);
+		}
+	INFO_PRINTF1(_L("MdvpoInitComplete DecOutstanding"));	
+	DecOutstanding ();
+	}
+
+/**
+ * Reports that the input video stream end has been reached and all pictures have been processed.
+ * This method is only called after the client has called InputEnd(). No more output pictures will be available.
+ * 
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::MdvpoStreamEnd()
+    {
+	iStreamEnd = ETrue;     
+    INFO_PRINTF1(_L("Stream End!"));
+    INFO_PRINTF2(_L("iSentBuffCount: %d"),iSentBuffCount);
+    INFO_PRINTF2(_L("iReturnedBuffCount: %d"),iReturnedBuffCount);
+    INFO_PRINTF2(_L("iPictureLoss: %d"),iPictureLoss);
+    INFO_PRINTF1(_L("MdvpoStreamEnd DecOutStanding"));
+   	DecOutstanding();
+    }
+
+
+/**
+ * Get Next input data 
+ * 
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::HandleNewBufferL()
+    {
+	if ( !iInputEnd )
+		{
+		if ( iDecHWDevId || iCIBuffMgmtOn ) //Retrieve buffer from Hwdevice
+			{
+			GetInputBuffer();     
+			}
+		else
+			{
+			FillAndSendBufferL();   // Postproc input
+			}
+		}	
+    }
+
+/**
+ * Retrieve decoder input buffer
+ * 
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::GetInputBuffer()
+    {
+    //TBool buffer = EFalse; 	 	 
+    if ( iDecHWDevId )
+    	{	
+    	TRAPD(error, iCodedInBuffer = iDevvp->GetBufferL(iInBuffSize));
+    	if (error != KErrNone)
+    		{	
+    		ERR_PRINTF2(_L("Error GetInputBufferL!. Error %d"),error);
+    		iErrorInputBuffer = ETrue;
+    		SetError(error);    		
+    		}
+    	else
+    		{
+    		if ( iCodedInBuffer )
+    	    	{    	    	    	       	    	
+    	        TRAPD(error, FillAndSendBufferL());
+    	        if (error != KErrNone)
+    	     	   {
+    	     	   ERR_PRINTF2(_L("Error GetInputBufferL->FillAndSendBufferL!. Error %d"),error);
+    	     	   SetBlockResult(EFail);        	   
+    	     	   }
+    	    	}
+    		}    
+    	} 
+    }
+    
+    
+    
+/**
+ * Fill data into input buffer and send to devvideoplay 
+ * 
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::FillAndSendBufferL()
+	{
+	TInt err = KErrNone;	
+	if ( iDecHWDevId)
+		{
+		if ( iSynchronized)
+			{
+			TInt size = 0;
+			if((iSentBuffCount>=0) && (iSentBuffCount < iFrameSizeList.Count()))
+				{
+				size = iFrameSizeList[iSentBuffCount];
+				}
+			else
+				{
+				ERR_PRINTF2(_L("error %i"),iSentBuffCount);
+				}
+			
+			err = ReadOneCodedPicture (iCodedInBuffer, size); // Read compressed data of one picture from file 
+			}
+		else
+			{
+			err = ReadOneCodedPicture (iCodedInBuffer); // Read compressed data of one picture from file 
+			}
+		}
+	else // Postproc input case
+		{
+		err = ReadRawPicture (); // Read raw data for one picture      
+		}
+	if ( iInputEnd)
+		{
+		iDevvp->InputEnd (); // All input Data sent        
+		return;
+		}
+	if ( err >= 0)
+		{
+		if ( iDecHWDevId)
+			{
+			iCodedInBuffer->iOptions = TVideoInputBuffer::EDecodingTimestamp;
+			if ( iPostProcId)
+				{
+				iCodedInBuffer->iOptions |= TVideoInputBuffer::EPresentationTimestamp;
+				}
+			if ( iSynchronized)
+				{
+				iCodedInBuffer->iDecodingTimestamp = iTimeStamp;
+				if ( iPostProcId)
+					{
+					iCodedInBuffer->iPresentationTimestamp = iTimeStamp;
+					}
+				iTimeStamp += iFrameTimeInterval;
+				}
+			else // Clock source is not set
+				{
+				iCodedInBuffer->iDecodingTimestamp = iSentBuffCount;
+				if ( iPostProcId)
+					{
+					iCodedInBuffer->iPresentationTimestamp = iSentBuffCount;
+					}
+				}
+			if ( iFrameMeasurement)
+				{
+				iClock->Reset (); // Reset Timer 
+				}
+			TRAPD(error,iDevvp->WriteCodedDataL(iCodedInBuffer)); // Input Data Sent to Decoder 
+			if ( error != KErrNone)
+				{
+				ERR_PRINTF2(_L("Error Writing data!. Error %d"),error);
+				SetError(error);
+				return;
+				}
+			}
+		else
+			{
+			iRawInBuffer->iData.iDataSize.SetSize (iPictureSize.iWidth,
+					iPictureSize.iHeight);
+			iRawInBuffer->iOptions |= (TVideoPicture::ETimestamp);
+			if ( iSynchronized)
+				{
+				iRawInBuffer->iTimestamp = iTimeStamp;
+				iTimeStamp += iFrameTimeInterval;
+				}
+			else
+				{
+				iRawInBuffer->iTimestamp = iSentBuffCount;
+				}
+			TRAPD(error, iDevvp->WritePictureL (iRawInBuffer)); // Input Data Sent to PostProcessor 
+			if (error != KErrNone)
+				{
+				ERR_PRINTF2(_L("Error Writing Picture!. Error %d"),error);
+				SetError(error);
+				return;
+				}
+			}
+		iSentBuffCount++;
+		}
+	else
+		{
+		iInputEnd = ETrue;
+		iDevvp->InputEnd ();
+		return;
+		}	
+	} 
+   
+
+/**
+ * Retrieve output picture
+ * 
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::GetReturnedPicture()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::GetReturnedPicture"));
+	TRAPD(err, iOutBuffer = iDevvp->NextPictureL());
+	if ( err != KErrNone)
+		{
+        HandleRuntimeError(err);
+        ERR_PRINTF1(_L("Error en GetReturnedPicture!!"));
+        }        
+    if ( iOutBuffer )
+        {       
+        iReturnedBuffCount++;
+        SaveAndReturnPicture();
+        }
+    INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::GetReturnedPicture"));
+    }
+
+/**
+ * This function finishes the async call depending on the error occured while handling the picture
+ * 
+ * @param aError Error Value passed
+ * @return none
+ */
+void CT_CMMFDevVideoPlay::HandleRuntimeError(TInt aError)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::HandleRuntimeError"));
+	ERR_PRINTF2(_L("HandleRuntimeError! Error = %d"),aError);
+	SetError (aError);
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::HandleRuntimeError"));
+	}    
+
+/**
+ * Store output data into a file
+ * 
+ * @return None
+ */
+void CT_CMMFDevVideoPlay::SaveAndReturnPicture()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::SaveAndReturnPicture"));
+	TInt err = iOutFile.Write (*(iOutBuffer->iData.iRawData), iOutBuffer->iData.iRawData->Size ());
+	iDevvp->ReturnPicture (iOutBuffer);
+	iOutBuffer = NULL;
+	if ( err != KErrNone)
+		{
+		HandleRuntimeError (err);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::SaveAndReturnPicture"));
+	}
+
+/**
+ * List size of each frame of coded bitstream 
+ * 
+ * @param  aCodec picture 
+ * @return none
+ */
+void CT_CMMFDevVideoPlay::ListFrameSizeL(TVideoCodec aCodec)
+	{
+	TInt framesize = 0;
+	TInt readpos = 0;
+	TInt buffsize = KH263MaxCodedSizeQCIF; //buffer size for listing frame size
+	iCodecType = aCodec; // this is for ReadOneCodedPicture
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::ListFrameSizeL"));
+	//Initial buffer size
+	// Allocate buffer 
+	TVideoInputBuffer* videoBuffer = new(ELeave) TVideoInputBuffer;
+	CleanupStack::PushL (videoBuffer);
+	HBufC8* tempBuff = HBufC8::NewLC( buffsize);
+	videoBuffer->iData.Set (tempBuff->Des ());
+	while (!iInputEnd)
+		{
+		iInBuffSize = buffsize;
+		videoBuffer->iData.SetLength (0);
+		framesize = ReadOneCodedPicture (videoBuffer);//        
+		if ( framesize >= 0) // Frame size is added to list
+			{
+			iFrameSizeList.AppendL (framesize);
+			readpos += framesize;
+			}
+		else // resize buffer to bigger one
+			{
+			if ( buffsize < KMP4MaxCodedSizeVGA)
+				{
+				CleanupStack::PopAndDestroy(tempBuff);
+				buffsize = buffsize + KH263MaxCodedSizeQCIF;
+				tempBuff = HBufC8::NewLC( buffsize);
+				videoBuffer->iData.Set (tempBuff->Des ());
+				iInFile.Seek (ESeekStart, readpos);
+				}
+			else
+				{
+				framesize = KErrNotFound;
+				break;
+				}
+			}
+		}
+	//Reset file postion to start
+	TInt pos =0;
+	iInFile.Seek (ESeekStart, pos);
+	iInputEnd = EFalse;
+	// cleanup    
+	CleanupStack::PopAndDestroy(2, videoBuffer);
+	//Error case
+	if ( framesize < 0)
+		{
+		User::Leave (framesize);
+		}
+	//Set frame size listed   
+	iFrameListed = ETrue;
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::ListFrameSizeL"));
+	}
+
+/**
+ * Closes the opened files
+ */
+void CT_CMMFDevVideoPlay::CloseFile()
+	{	
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::CloseFile"));
+	iInFile.Close ();
+	if ( !iDirectScreenAccess)
+		{
+		iOutFile.Close ();
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::CloseFile"));
+	}
+
+/**
+ * Opens the input and output file
+ * @param	aInFileName		-	The name of input file
+ * @param	aOutFileName	-	The name of output file
+ * @return	none
+ */
+void CT_CMMFDevVideoPlay::OpenFileL(TFileName& aOutFileName, TFileName& aInFileName)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::OpenFileL"));
+	TInt err = iInFile.Open (iFs, aInFileName, EFileRead | EFileShareReadersOnly);
+	User::LeaveIfError (err);
+	err = iOutFile.Replace (iFs, aOutFileName,
+			EFileShareExclusive|EFileWrite);
+	if ( err!= KErrNone)
+		{
+		iInFile.Close ();
+		User::Leave(err);
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::OpenFileL"));
+	}
+
+/**
+ * Opens the input File
+ * @param	aInFileName	-The name of input file
+ * @return	none 
+ */
+void CT_CMMFDevVideoPlay::OpenFileL(TFileName& aInFileName)
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::OpenFileL"));
+	User::LeaveIfError(iInFile.Open (iFs, aInFileName, EFileRead | EFileShareReadersOnly));
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::OpenFileL"));
+	}
+
+/**
+ * Read one raw picture into postprocessor input buffer
+ */
+TInt CT_CMMFDevVideoPlay::ReadRawPicture()
+	{
+	INFO_PRINTF1(_L("*START*CT_CMMFDevVideoPlay::ReadRawPicture"));
+	iRawInBuffer->iData.iRawData->Set ((TUint8*)iRawInBuffer->iData.iRawData->Ptr(), 0, iInBuffSize);
+	TInt err = iInFile.Read (*(iRawInBuffer->iData.iRawData), iInBuffSize);
+	if ( !err)
+		{
+		if ( (iRawInBuffer->iData.iRawData->Length()) == 0)
+			{
+			iInputEnd = ETrue;
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_CMMFDevVideoPlay::ReadRawPicture"));
+	return err;
+	}
+
+void CT_CMMFDevVideoPlay::DoCmdH264CreateDecTest(const TTEFSectionName& aSection)
+    {
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::CreateDecTest, In"));
+    iUse264 = ETrue;
+    TInt uidInt = 0;
+    TInt output = 0;
+    TInt width = 0;
+    TInt height = 0;
+    TInt buffMgmt = 0;
+    TInt codec = 0;
+    TPtrC inputfile;
+    TPtrC inputDirectory;
+    
+    iObserver = new (ELeave) CEngineObserver(*this);
+    //Create Decoder test engine     
+    iEngine = CVDecTestEngine::NewL(*iObserver);    
+
+    //Read from test case file 
+	if(!GetHexFromConfig(aSection, KUid(), uidInt))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KUid());
+		SetBlockResult(EFail);
+		}
+	if(!GetIntFromConfig(aSection, KBuffMgmt(), buffMgmt))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KBuffMgmt());
+		SetBlockResult(EFail);
+		}
+	if(!GetIntFromConfig(aSection, KOutput(), output))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KOutput());
+		SetBlockResult(EFail);
+		}
+	if(!GetIntFromConfig(aSection, KWidth(), width))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KWidth());
+		SetBlockResult(EFail);
+		}
+	if(!GetIntFromConfig(aSection, KHeight(), height))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KHeight());
+		SetBlockResult(EFail);
+		}
+	if(!GetIntFromConfig(aSection, KCodec(), codec))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KCodec());
+		SetBlockResult(EFail);
+		}
+	if(!GetStringFromConfig(aSection, KInputPath(), inputDirectory))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KInputPath());
+		SetBlockResult(EFail);
+		}
+	if(!GetStringFromConfig(aSection, KInputfile(), inputfile))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KInputfile());
+		SetBlockResult(EFail);
+		}
+  
+	//Open File
+    TFileName inFileName(inputDirectory);
+    inFileName.Append(inputfile);
+
+	TUid decoderUid;
+    decoderUid.iUid = uidInt;
+    INFO_PRINTF2(_L("Decoder uid is [%x]"), decoderUid.iUid);
+
+	TSize size;
+	size.SetSize(width, height);
+        
+    if (output == EDecodedFile) 
+    	{
+    	TPtrC outputfile;
+    	TPtrC outputDirectory;
+		if ( ! (GetStringFromConfig(aSection, KOutputPath(),outputDirectory)))
+			{
+			ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KOutputPath());
+			SetBlockResult(EFail);
+			}
+		if ( !(GetStringFromConfig(aSection, KOutputfile(),outputfile)))
+			{
+			ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KOutputfile());
+			SetBlockResult(EFail);
+			}
+    		
+    	//Start sequence    
+    	iEngine->SetUpL(size, EFalse, buffMgmt);
+    	TFileName outFileName(outputDirectory);
+    	outFileName.Append(outputfile);   
+    	iEngine->OpenFileL(outFileName, inFileName);
+    	}
+    else if (output == EScreenOutput) 
+    	{
+   		iEngine->SetUpL(size, ETrue, buffMgmt);    	   
+    	iEngine->OpenFileL(inFileName);    	
+    	}               
+    
+    TRAPD(result, iEngine->SelectDecoderL(decoderUid));
+    if(result != KErrNone)
+        {
+        ERR_PRINTF2(_L("SelectDecoderL left with error %d"), result);
+        SetError(result);
+        }
+    
+    TVideoCodec videoCodec;
+    if (codec == 1) 
+    	{
+    	videoCodec = EH263;	
+    	}
+    else if (codec == 2) 
+    	{
+    	videoCodec = EMPEG4;	
+    	}
+    else if (codec == 3) 
+    	{
+    	videoCodec = EAVC;	
+    	}
+    else if (codec == 4) 
+    	{
+    	videoCodec = EVC1;	
+    	}	
+    else if (codec == 5) 
+    	{
+    	videoCodec = EFLV;	
+    	}	
+		else if (codec == 6) 
+    	{
+    	videoCodec = EVP6;	
+    	}
+    else 
+    	{
+    	videoCodec = EMPEG4;	
+    	}
+    iEngine->SetCodecType(videoCodec);
+    
+    iFileOpen = ETrue;
+   
+	INFO_PRINTF1(_L("CT_MMFDevVideoPlayData::CreateDecTest, Out"));
+    }
+
+void CT_CMMFDevVideoPlay::DoCmdH264SetInputFormatCompr(const TTEFSectionName& aSection)
+    {
+    INFO_PRINTF1(_L("CT_MMFDevVideoPlayData::SetInputFormatCompr, In"));
+  
+    TInt hwdev = 0;
+    TInt dataUnitTypeInt = 0;
+    TInt encapsulation = 0;
+    TInt dataInOrder = 0;
+    TPtrC format;
+	if(!GetIntFromConfig(aSection, KHwdev(), hwdev))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KHwdev());
+		SetBlockResult(EFail);
+		}
+	if(!GetIntFromConfig(aSection, KDataUnitTypeInt(), dataUnitTypeInt))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDataUnitTypeInt());
+		SetBlockResult(EFail);
+		}
+	if(!GetIntFromConfig(aSection, KEncapsulation(), encapsulation))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KEncapsulation());
+		SetBlockResult(EFail);
+		}
+	if(!GetBoolFromConfig(aSection, KDataInOrder(), dataInOrder))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDataInOrder());
+		SetBlockResult(EFail);
+		}
+	if(!GetStringFromConfig(aSection, KFormat(), format))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFormat());
+		SetBlockResult(EFail);
+		}
+	
+	TVideoDataUnitType dataUnitType;
+	switch (dataUnitTypeInt)
+		{
+		case 1: dataUnitType = EDuCodedPicture;
+				break;
+		case 2: dataUnitType = EDuVideoSegment;
+				break;
+		case 3: dataUnitType = EDuSeveralSegments;
+				break;			
+		case 4: dataUnitType = EDuArbitraryStreamSection;
+				break;				
+		default:dataUnitType = EDuCodedPicture;			
+		}
+			
+	TVideoDataUnitEncapsulation dataEncapsulation;
+	
+	switch (encapsulation) 
+		{
+		case 1: dataEncapsulation = EDuElementaryStream;
+				break;
+		case 2: dataEncapsulation = EDuGenericPayload;
+				break;
+		case 3: dataEncapsulation = EDuRtpPayload;
+				break;
+		default:dataEncapsulation = EDuElementaryStream;				
+		}
+	
+	TBuf8<128> buf;
+	buf.Copy(format);
+	CCompressedVideoFormat* compressedFormat = CCompressedVideoFormat::NewL(buf);    
+			     	
+	TRAPD(result, iEngine->SetInputFormatL(hwdev,*compressedFormat, dataUnitType, dataEncapsulation, dataInOrder));
+    if(result != KErrNone)
+        {
+        ERR_PRINTF2(_L("SetInputFormatL left with error %d"), result);
+        SetError(result);
+        }    
+    delete compressedFormat;
+    
+    INFO_PRINTF1(_L("CT_MMFDevVideoPlayData::SetInputFormatCompr, Out"));
+    }
+
+void CT_CMMFDevVideoPlay::DoCmdH264SetOutputFormat(const TTEFSectionName& aSection)
+	{
+	TInt hwdev = 0;
+	TInt dataFormat = 0;
+    TInt dataLayout = 0;
+    TInt pattern = 0;
+    TInt aspectRatioNum = 1;
+    TInt aspectRatioDenom = 1;
+    TInt coefficients = 0;
+        
+    //Read from test case file 
+    if ( !(GetIntFromConfig(aSection, KHwdev(), hwdev)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KHwdev());
+        SetBlockResult(EFail);
+        }
+    if ( !(GetIntFromConfig(aSection, KDataFormat(), dataFormat)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDataFormat());
+        SetBlockResult(EFail);
+        }
+    
+    if ( !(GetIntFromConfig(aSection, KDataLayout(), dataLayout)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDataLayout());
+        SetBlockResult(EFail);
+        }   
+    
+    TUncompressedVideoFormat unCompressedFormat;
+    
+    switch (dataFormat)
+    	{
+    	case 1: 
+    	    unCompressedFormat.iDataFormat = ERgbRawData;    				
+    		unCompressedFormat.iRgbFormat = ERgb32bit888;
+    		break;    				
+    	case 2: unCompressedFormat.iDataFormat = ERgbFbsBitmap;
+    			switch (dataLayout) 
+    				{
+    				case 1: unCompressedFormat.iRgbFormat = ERgb16bit444;
+    						break;
+    				case 2: unCompressedFormat.iRgbFormat = ERgb16bit565;
+    						break;
+					case 3: unCompressedFormat.iRgbFormat = ERgb32bit888;
+    						break;
+    				case 4: unCompressedFormat.iRgbFormat = EFbsBitmapColor4K;
+    						break;
+    				case 5: unCompressedFormat.iRgbFormat = EFbsBitmapColor16M;
+    						break;				    							
+    				case 6: unCompressedFormat.iRgbFormat = EFbsBitmapColor16MU;
+    						break;		
+    				default: unCompressedFormat.iRgbFormat = ERgb16bit444;
+    				}
+    			break;
+    	case 3: unCompressedFormat.iDataFormat = EYuvRawData;
+                if ( !(GetIntFromConfig(aSection, KPattern(), pattern)))
+                    {
+                    ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KPattern());
+                    SetBlockResult(EFail);
+                    }
+                if ( !(GetIntFromConfig(aSection, KAspectRatioNum(), aspectRatioNum)))
+                    {
+                    ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KAspectRatioNum());
+                    SetBlockResult(EFail);
+                    }
+                if ( !(GetIntFromConfig(aSection, KAspectRatioDenom(), aspectRatioDenom)))
+                    {
+                    ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KAspectRatioDenom());
+                    SetBlockResult(EFail);
+                    }
+                if(!GetHexFromConfig(aSection, KCoefficients(), coefficients))
+                    {
+                    ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KCoefficients());
+                    SetBlockResult(EFail);
+                    }
+    			switch (dataLayout) 
+    				{
+    				case 1: unCompressedFormat.iYuvFormat.iDataLayout = EYuvDataPlanar;
+    						break;
+    				case 2: unCompressedFormat.iYuvFormat.iDataLayout = EYuvDataInterleavedLE;
+    						break;
+					case 3: unCompressedFormat.iYuvFormat.iDataLayout = EYuvDataInterleavedBE;
+    						break;
+    				case 4: unCompressedFormat.iYuvFormat.iDataLayout = EYuvDataSemiPlanar;
+    						break;
+    				default:unCompressedFormat.iYuvFormat.iDataLayout = EYuvDataPlanar;    							    					 
+    				}
+    			switch (pattern) 
+    				{
+    				case 1: unCompressedFormat.iYuvFormat.iPattern = EYuv420Chroma1;
+    						break;
+    				case 2: unCompressedFormat.iYuvFormat.iPattern = EYuv420Chroma2;
+    						break;
+					case 3: unCompressedFormat.iYuvFormat.iPattern = EYuv420Chroma3;
+    						break;
+    				case 4: unCompressedFormat.iYuvFormat.iPattern = EYuv422Chroma1;
+    						break;
+    				case 5: unCompressedFormat.iYuvFormat.iPattern = EYuv422Chroma2;
+    						break;    							
+    				default:unCompressedFormat.iYuvFormat.iPattern = EYuv420Chroma2; 
+    				}
+    			switch (coefficients) 
+    				{
+    				case 1: unCompressedFormat.iYuvFormat.iCoefficients = EYuvRange0;
+    						break;
+    				case 2: unCompressedFormat.iYuvFormat.iCoefficients = EYuvRange1;
+    						break;
+					case 3: unCompressedFormat.iYuvFormat.iCoefficients = EYuvBt709;
+    						break;
+    				case 4: unCompressedFormat.iYuvFormat.iCoefficients = EYuvBt709Range0;
+    						break;
+    				case 5: unCompressedFormat.iYuvFormat.iCoefficients = EYuvBt709Range1;
+    						break;    							
+    				case 6: unCompressedFormat.iYuvFormat.iCoefficients = EYuvBt601;
+    						break;    							
+    				case 7: unCompressedFormat.iYuvFormat.iCoefficients = EYuvBt601Range0;
+    						break;    							
+    				case 8: unCompressedFormat.iYuvFormat.iCoefficients = EYuvBt601Range1;
+    						break;    									
+    				case 9: unCompressedFormat.iYuvFormat.iCoefficients = ECustomYuvMatrix;
+    						break;    							
+    				default:unCompressedFormat.iYuvFormat.iCoefficients = EYuvBt709Range0; 
+    				}	
+    			unCompressedFormat.iYuvFormat.iAspectRatioNum = aspectRatioNum;
+    			unCompressedFormat.iYuvFormat.iAspectRatioDenom = aspectRatioDenom;
+    			// We don't use conversion
+				unCompressedFormat.iYuvFormat.iYuv2RgbMatrix = NULL;
+				unCompressedFormat.iYuvFormat.iRgb2YuvMatrix = NULL;
+
+    			break;
+    		default:	    unCompressedFormat.iDataFormat = EYuvRawData;
+						    unCompressedFormat.iYuvFormat.iDataLayout = EYuvDataPlanar; 
+						    unCompressedFormat.iYuvFormat.iPattern = EYuv420Chroma1;
+						    unCompressedFormat.iYuvFormat.iAspectRatioNum = 1;
+						    unCompressedFormat.iYuvFormat.iAspectRatioDenom = 1;
+						    unCompressedFormat.iYuvFormat.iCoefficients = EYuvBt601Range1;
+						    
+						    // We don't use conversion
+						    unCompressedFormat.iYuvFormat.iYuv2RgbMatrix = NULL;
+						    unCompressedFormat.iYuvFormat.iRgb2YuvMatrix = NULL;
+    	}            
+    
+    TRAPD(result, iEngine->SetOutputFormatL(hwdev, unCompressedFormat));
+    if(result != KErrNone)
+        {
+        ERR_PRINTF2(_L("SetOutputFormatL left with error %d"), result);
+        SetError(result);
+        }
+	}
+
+void CT_CMMFDevVideoPlay::DoCmdH264SetBufferOptions(const TTEFSectionName& aSection)
+	{
+    TInt preDecodeBufferSize = 0;
+	TInt maxPostDecodeBufferSize = 0;
+	TInt preDecoderBufferPeriodInt = 0;
+	TInt postDecoderBufferPeriodInt = 0;
+	TInt maxInputBufferSize = 0;
+	TInt minNumInputBuffers = 0;
+
+    if ( !(GetIntFromConfig(aSection, KPreDecodeBufferSize(), preDecodeBufferSize)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KPreDecodeBufferSize());
+        SetBlockResult(EFail);
+        }
+    if ( !(GetIntFromConfig(aSection, KMaxPostDecodeBufferSize(), maxPostDecodeBufferSize)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KMaxPostDecodeBufferSize());
+        SetBlockResult(EFail);
+        }
+    if ( !(GetIntFromConfig(aSection, KPreDecoderBufferPeriodInt(), preDecoderBufferPeriodInt)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KPreDecoderBufferPeriodInt());
+        SetBlockResult(EFail);
+        }
+    if ( !(GetIntFromConfig(aSection, KPostDecoderBufferPeriodInt(), postDecoderBufferPeriodInt)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KPostDecoderBufferPeriodInt());
+        SetBlockResult(EFail);
+        }
+    if ( !(GetIntFromConfig(aSection, KMaxInputBufferSize(), maxInputBufferSize)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KMaxInputBufferSize());
+        SetBlockResult(EFail);
+        }
+    if ( !(GetIntFromConfig(aSection, KMinNumInputBuffers(), minNumInputBuffers)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KMinNumInputBuffers());
+        SetBlockResult(EFail);
+        }    
+
+    CMMFDevVideoPlay::TBufferOptions bufferOptions;
+	bufferOptions.iPreDecodeBufferSize = preDecodeBufferSize;
+	bufferOptions.iMaxPostDecodeBufferSize = maxPostDecodeBufferSize;
+	bufferOptions.iPreDecoderBufferPeriod = preDecoderBufferPeriodInt;
+	bufferOptions.iPostDecoderBufferPeriod = postDecoderBufferPeriodInt;
+	bufferOptions.iMaxInputBufferSize = maxInputBufferSize;
+	bufferOptions.iMinNumInputBuffers = minNumInputBuffers;
+
+	TRAPD(result, iEngine->SetBufferOptionsL(bufferOptions));
+    if(result != KErrNone)
+        {
+        ERR_PRINTF2(_L("SetBufferOptionsL left with error %d"), result);
+        SetError(result);
+        }
+	}
+
+void CT_CMMFDevVideoPlay::DoCmdH264Initialize()
+	{
+	INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264Initialize, In"));
+	iEngine->Initialize();
+	IncOutstanding();
+	INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264Initialize, Out"));
+	}
+
+void  CT_CMMFDevVideoPlay::DoCmdH264Start(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264Start, In"));
+    TInt inputEnd = 0;
+    if ( !(GetIntFromConfig(aSection, KInputEnd(), inputEnd)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KInputEnd());
+        SetBlockResult(EFail);
+        }
+    if (inputEnd != 0)  
+    	{
+    	iEngine->Start(ETrue);
+    	}
+    else 
+    	{
+    	iEngine->Start(EFalse);
+    	}
+    IncOutstanding();
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264Start, Out"));
+	}
+
+void CT_CMMFDevVideoPlay::DoCmdH264Stop()
+    {
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264Stop, In"));
+    TRAPD(result, iEngine->Stop());
+    if(result != KErrNone)
+        {
+        ERR_PRINTF2(_L("Stop left with error %d"), result);
+        SetError(result);
+        }
+    INFO_PRINTF2(_L("CT_CMMFDevVideoPlay::DoCmdH264Stop, Out result=%d"),result);
+    }
+
+void CT_CMMFDevVideoPlay::DoCmdH264Pause()
+    {
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264Pause, In"));
+    TInt result = KErrNone;
+    result = iEngine->Pause();
+    INFO_PRINTF2(_L("CT_CMMFDevVideoPlay::DoCmdH264Pause, Out result=%d"),result);    
+    }
+
+void CT_CMMFDevVideoPlay::DoCmdH264Resume()
+    {
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264Resume, In"));
+    TInt result = KErrNone;
+    result = iEngine->Resume();
+    INFO_PRINTF2(_L("CT_CMMFDevVideoPlay::DoCmdH264Resume, Out result=%d"),result);    
+    }
+
+void CT_CMMFDevVideoPlay::DoCmdH264IOFrameNumMatch()
+	{
+    iEngine->SetFrameMatch( ETrue );
+	}
+
+void CT_CMMFDevVideoPlay::DoCmdH264ListFrameSize()
+    {
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264ListFrameSize, In"));
+    RArray<TInt> framesizes;
+    TRAPD(result, iEngine->ListFrameSizeL(framesizes));
+    if(result != KErrNone)
+        {
+        ERR_PRINTF2(_L("ListFrameSizeL left with error %d"), result);
+        SetError(result);
+        }
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264ListFrameSize, Out"));
+    }
+
+void CT_CMMFDevVideoPlay::DoCmdH264SetVideoDestScreen(const TTEFSectionName& aSection)
+    {
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::SetVideoDestScreen, In"));
+   
+    TBool dest = 0;
+    if(!GetBoolFromConfig(aSection, KDest(), dest))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KDest());
+        SetBlockResult(EFail);
+        }
+
+    TRAPD(result, iEngine->SetVideoDestScreenL(dest));
+    if(result != KErrNone)
+        {
+        ERR_PRINTF2(_L("SetVideoDestScreenL left with error %d"), result);
+        SetError(result);
+        }    
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264SetVideoDestScreen, Out"));
+    } 
+
+void CT_CMMFDevVideoPlay::DoCmdH264SetWindowRect(const TTEFSectionName& aSection)
+    {
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264SetWindowRect, In"));
+    
+    TInt x;
+    TInt y;
+    TInt width;
+    TInt height;
+
+    if ( !(GetIntFromConfig(aSection, KX(), x)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KX());
+        SetBlockResult(EFail);
+        }
+    if ( !(GetIntFromConfig(aSection, KY(), y)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KY());
+        SetBlockResult(EFail);
+        }
+    if ( !(GetIntFromConfig(aSection, KWidth(), width)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KWidth());
+        SetBlockResult(EFail);
+        }
+    if ( !(GetIntFromConfig(aSection, KHeight(), height)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KHeight());
+        SetBlockResult(EFail);
+        }
+
+    TSize size(width, height);
+    
+    iEngine->SetWindowRect(x, y, size);
+    
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264SetWindowRect, Out"));  
+    }
+
+void CT_CMMFDevVideoPlay::DoCmdH264SelectPostProcessor(const TTEFSectionName& aSection)
+    {
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264SelectPostProcessor, In"));
+    
+    TInt uidInt = 0;
+    if(!GetHexFromConfig(aSection, KUid(), uidInt))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KUid());
+        SetBlockResult(EFail);
+        }
+    
+    TUid postproUid;
+    postproUid.iUid = uidInt;
+    INFO_PRINTF2(_L("PostProcessor uid is [%x]"), postproUid.iUid);
+                
+    TRAPD(result, iEngine->SelectPostProcessorL(postproUid));
+    if(result != KErrNone)
+        {
+        ERR_PRINTF2(_L("SelectPostProcessorL left with error %d"), result);
+        SetError(result);
+        }     
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264SelectPostProcessor, Out"));
+    }
+
+void CT_CMMFDevVideoPlay::DoCmdH264SetPostProcessTypes(const TTEFSectionName& aSection)
+    {
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264SetPostProcessTypes, In"));
+    
+    TInt combination = 0;
+    TInt hwdev = 0;
+
+    if(!GetIntFromConfig(aSection, KHwdev(), hwdev))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KHwdev());
+        SetBlockResult(EFail);
+        }
+    if(!GetHexFromConfig(aSection, KCombination(), combination))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KCombination());
+        SetBlockResult(EFail);
+        }
+    
+    TRAPD(result, iEngine->SetPostProcessTypesL(hwdev, combination));
+    if(result != KErrNone)
+        {
+        ERR_PRINTF2(_L("SetPostProcessTypesL left with error %d"), result);
+        SetError(result);
+        }    
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264SetPostProcessTypes, In"));
+    }
+
+void CT_CMMFDevVideoPlay::DoCmdH264FindCommonFormats()
+    {
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264FindCommonFormats, In") );
+      
+    TRAPD(result, iEngine->FindCommonFormatsL());
+    if(result != KErrNone)
+        {
+        ERR_PRINTF2(_L("FindCommonFormatsL left with error %d"), result);
+        SetError(result);
+        }     
+    INFO_PRINTF2(_L("CT_CMMFDevVideoPlay::DoCmdH264FindCommonFormats, Out [%d]"), result);
+    }
+
+
+void CT_CMMFDevVideoPlay::DoCmdH264GetHeaderInformation(const TTEFSectionName& aSection)
+    {
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::GetHeaderInformation, In") );
+    TInt result = KErrNone; 
+    TInt dataUnitTypeInt = 0;
+    TBool getDataUnitTypeInt = ETrue;
+    if(!GetIntFromConfig(aSection, KDataUnitTypeInt(), dataUnitTypeInt))
+        {
+        getDataUnitTypeInt = EFalse;
+        }
+    TInt encapsulation = 0;
+    TBool getEncapsulation = ETrue;
+    if(!GetIntFromConfig(aSection, KEncapsulation(), encapsulation))
+        {
+        getEncapsulation = EFalse;
+        }
+    if(getDataUnitTypeInt && getEncapsulation)
+        {
+        TVideoDataUnitType dataUnitType;
+        switch (dataUnitTypeInt)
+            {
+            case 1: dataUnitType = EDuCodedPicture;
+                    break;
+            case 2: dataUnitType = EDuVideoSegment;
+                    break;
+            case 3: dataUnitType = EDuSeveralSegments;
+                    break;          
+            case 4: dataUnitType = EDuArbitraryStreamSection;
+                    break;              
+            default:dataUnitType = EDuCodedPicture;         
+            }
+                
+        TVideoDataUnitEncapsulation dataEncapsulation;      
+        switch (encapsulation) 
+            {
+            case 1: dataEncapsulation = EDuElementaryStream;
+                    break;
+            case 2: dataEncapsulation = EDuGenericPayload;
+                    break;
+            case 3: dataEncapsulation = EDuRtpPayload;
+                    break;
+            default:dataEncapsulation = EDuElementaryStream;                
+            }
+        
+        TRAP(result, iEngine->GetHeaderInformationL(dataUnitType, dataEncapsulation));
+        }
+    else 
+        {
+        TRAP(result, iEngine->GetHeaderInformationL());
+        }           
+    if(result != KErrNone)
+        {
+        ERR_PRINTF2(_L("GetHeaderInformationL left with error %d"), result);
+        SetError(result);
+        }     
+    INFO_PRINTF2(_L("CT_CMMFDevVideoPlay::GetHeaderInformation, Out [%d]"), result);
+    }
+
+void CT_CMMFDevVideoPlay::DoCmdH264EnableSynchronization(const TTEFSectionName& aSection)
+    {
+    if(!GetIntFromConfig(aSection, KFramerate(), iFrameRate))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFramerate());
+        SetBlockResult(EFail);
+        }
+    
+    iEngine->EnableSynchronization(iFrameRate);
+    }
+
+void CT_CMMFDevVideoPlay::DoCmdH264SetScaleOptions(const TTEFSectionName& aSection)
+    {
+    TInt width = 0;
+    TInt height = 0;
+    TInt antiAliasing = 0;
+    TInt hwdev = 0;
+
+    if ( !(GetIntFromConfig(aSection, KHwdev(), hwdev)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KHwdev());
+        SetBlockResult(EFail);
+        }   
+    if ( !(GetIntFromConfig(aSection, KWidth(), width)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KWidth());
+        SetBlockResult(EFail);
+        }
+    if ( !(GetIntFromConfig(aSection, KHeight(), height)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KHeight());
+        SetBlockResult(EFail);
+        }
+    if ( !(GetIntFromConfig(aSection, KY(), antiAliasing)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KY());
+        SetBlockResult(EFail);
+        }
+ 
+    TSize size(width, height);
+      
+    TRAPD(result, iEngine->SetScaleOptionsL(hwdev, size, antiAliasing));
+    if(result != KErrNone)
+        {
+        ERR_PRINTF2(_L("FindCommonFormatsL left with error %d"), result);
+        SetError(result);
+        } 
+    }
+
+void CT_CMMFDevVideoPlay::DoCmdH264SetRotateOptions(const TTEFSectionName& aSection)
+{
+    TInt rotItem = 0;       
+    TInt hwdev = 0;
+    if ( !(GetIntFromConfig(aSection, KHwdev(), hwdev)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KHwdev());
+        SetBlockResult(EFail);
+        }   
+    if ( !(GetIntFromConfig(aSection, KRotation(), rotItem)))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRotation());
+        SetBlockResult(EFail);
+        }
+    TRotationType rotation;   
+    switch(rotItem)
+    {
+        case 0:
+            rotation = ERotateNone;
+            break;
+        case 90:
+            rotation = ERotate90Clockwise;
+            break;              
+        case 180:        
+            rotation = ERotate180;
+            break;        
+        case 270:
+            rotation = ERotate90Anticlockwise;
+            break;              
+        default:               
+            rotation = ERotateNone;                             
+    }
+    TRAPD(result, iEngine->SetRotateOptionsL(hwdev, rotation));
+    if(result != KErrNone)
+        {
+        ERR_PRINTF2(_L("SetRotateOptionsL left with error %d"), result);
+        SetError(result);
+        } 
+}
+
+void CT_CMMFDevVideoPlay::DoCmdH264SynchronizeDecoding(const TTEFSectionName& aSection)
+    {
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264SynchronizeDecoding, In"));
+    TBool sync = 0;
+    if(!GetBoolFromConfig(aSection, KSync(), sync))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KSync());
+        SetBlockResult(EFail);
+        }
+    iEngine->SynchronizeDecoding(sync);
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264SynchronizeDecoding, Out"));
+    }
+
+void CT_CMMFDevVideoPlay::DoCmdH264Delete()
+    {
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264Delete, In"));
+    if (iFileOpen && iUse264)
+        {
+        iEngine->CloseFile();
+        }
+    iEngine->TearDown();
+    if(iEngine)
+        {
+        delete iEngine;
+        iEngine = NULL;
+        }
+    if(iObserver)
+        {
+        delete iObserver;
+        iObserver = NULL;
+        }
+    if(iClock)
+        {
+        delete iClock;
+        iClock = NULL;
+        }
+    while(Outstanding())
+        {
+        INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264Delete DecOutstanding()"));
+        DecOutstanding();
+        }
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264Delete, Out"));
+    }
+
+void CT_CMMFDevVideoPlay::DoCmdH264SetPosition(const TTEFSectionName& aSection)
+    {
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264SetPosition, In"));
+    TInt pos;
+    TBool dataOk = ETrue;
+    if ( !(GetIntFromConfig(aSection, KPos(), pos)) ) //This parameter indicates seconds to move forward/backward from the current position
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KPos());
+        SetBlockResult(EFail);
+        dataOk = EFalse;
+        }
+    if(dataOk)
+        {
+        TInt frameTimeInterval = (TInt64)(1000000/iFrameRate);
+        TInt newPosition = (iEngine->PlaybackPosition()).Int64()/frameTimeInterval + pos;
+        INFO_PRINTF2(_L("set to position %d"),newPosition);
+        TInt maxPosition = iEngine->GetFrameSizeCount();
+        INFO_PRINTF2(_L("total framesize count %d"),maxPosition);
+        if(newPosition >= maxPosition)
+            {
+            INFO_PRINTF3(_L("Invalid forward position %d, auto set to maximum framesize count %d"),newPosition,maxPosition-1);
+            newPosition = maxPosition - 1;
+            }
+        if(newPosition <= 0)
+            {
+            INFO_PRINTF2(_L("Invalid backward position %d, auto set to starting position."),newPosition);
+            newPosition = 1;
+            }
+        TTimeIntervalMicroSeconds timestamp = newPosition*frameTimeInterval;  
+        iEngine->SetPosition(timestamp);
+        }
+    INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264SetPosition, Out"));
+    }
+
+void CT_CMMFDevVideoPlay::DoCmdH264AbortDirectScreenAccess()
+	{
+	INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264AbortDirectScreenAccess In"));
+	iEngine->AbortDirectScreenAccess();
+	INFO_PRINTF1(_L("CT_CMMFDevVideoPlay::DoCmdH264AbortDirectScreenAccess, Out"));
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/src/T_CMMFDevVideoRecordData.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1111 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "t_cmmfdevvideorecorddata.h"
+
+/*@{*/
+//LIT's to identify commands
+_LIT(KCmdNewL,						"NewL");
+_LIT(KCmdDestructor,				"~");
+_LIT(KCmdSelectEncoderL,			"SelectEncoderL");
+_LIT(KCmdSetInputFormatL,			"SetInputFormatL");
+_LIT(KCmdSetOutputFormatL,			"SetOutputFormatL");
+_LIT(KCmdSetBufferOptionsL,			"SetBufferOptionsL");
+_LIT(KCmdSetSourceMemoryL,			"SetSourceMemoryL");
+_LIT(KCmdSetMinRandomAccessRate,	"SetMinRandomAccessRate");
+_LIT(KCmdInitialize,				"Initialize");
+_LIT(KCmdSetComplexityLevel,		"SetComplexityLevel");
+_LIT(KCmdStart,						"Start");
+_LIT(KCmdPause,						"Pause");
+_LIT(KCmdResume,					"Resume");
+_LIT(KCmdStop,						"Stop");
+_LIT(KCmdUtilityGetEnvironment,  	"UtilityGetEnvironment");
+_LIT(KCmdSetRateControlOptions,  	"SetRateControlOptions");
+
+
+/*@}*/
+
+/*@{*/
+//LIT's to get params from ini files
+_LIT(KInputFile,			"inputfile");
+_LIT(KOutputFile,			"outputfile");
+_LIT(KInputPath,			"inputPath");
+_LIT(KOutputPath,			"outputPath");
+_LIT(KFrameRate,			"framerate");
+_LIT(KUid,					"uid");
+_LIT(KMimeType,				"mimeType");
+_LIT(KDataUnitType,			"DataUnitType");
+_LIT(KDataEncapsulation,	"DataEncapsulation");
+_LIT(KHrdVbvSpecification,	"HrdVbvSpecification");
+_LIT(KMaxPictureSize,		"maxPictureSize");
+_LIT(KRandomAccessRate, 	"randomAccessRate");
+_LIT(KComplexityLevel,		"complexityLevel");
+_LIT(KRawPicLength , 		"rawPicLength");
+_LIT(KPicWidth,				"picWidth");
+_LIT(KPicHeight,			"picHeight");
+_LIT(KHrdVbvNone, 			"EHrdVbvNone");
+_LIT(KHrdVbvCodingStandard, "EHrdVbvCodingStandard");
+_LIT(KHrdVbv3GPP, 			"EHrdVbv3GPP");
+_LIT(KLayer, 			    "layer");
+_LIT(KBitrateControlType, 	"bitrateControlType");
+_LIT(KBitrate, 			    "bitrate");
+_LIT(KPictureQuality, 		"pictureQuality");
+_LIT(KPicRate, 			    "picRate");
+_LIT(KQualityTempTradeOff, 	"qualityTempTradeOff");
+_LIT(KLatencyQuality, 		"latencyQuality");
+/*@{*/
+
+const CDataWrapperBase::TEnumEntryTable	CT_MMFDevVideoRecordData::iHrdVbvSpecification[] =
+	{
+	KHrdVbvNone, 			EHrdVbvNone,
+	KHrdVbvCodingStandard, 	EHrdVbvCodingStandard,
+	KHrdVbv3GPP, 			EHrdVbv3GPP
+	};
+
+/**
+ * Two phase constructor
+ *
+ * @leave	system wide error
+ */
+CT_MMFDevVideoRecordData* CT_MMFDevVideoRecordData::NewL()
+	{
+	CT_MMFDevVideoRecordData* self = new(ELeave)CT_MMFDevVideoRecordData();
+	CleanupStack::PushL (self);
+	self->ConstructL ();
+	CleanupStack::Pop (self);
+	return self;
+	}
+
+/**
+ * Public destructor
+ */
+CT_MMFDevVideoRecordData::~CT_MMFDevVideoRecordData()
+	{
+	INFO_PRINTF1(_L("Destroying data..."));
+	DestroyData();
+	INFO_PRINTF1(_L("Data destroyed"));
+	}
+
+/**
+ * Protected constructor. First phase construction
+ */
+CT_MMFDevVideoRecordData::CT_MMFDevVideoRecordData()
+	:	
+	iBufferCount(0),	
+	iTimeStamp(0), 	
+	iWrittenPictures(0), 	
+	iReturnedPictures(0), 	
+	iCompressedBuffers(0), 	
+	iBufferedPictures(0),	
+	iStopAfterAllFramesReturned(EFalse), 	
+	iInputEnd(EFalse),	
+	iDatabuf(),	
+	iRequests(0),	
+	iOutputRequests(0)
+	{
+	}
+
+
+void CT_MMFDevVideoRecordData::ConstructL()
+	{
+	iFs.Connect();
+	}
+
+/**
+ * Returns a pointer to the object that the data wraps
+ * @return wrapped object
+ */
+TAny* CT_MMFDevVideoRecordData::GetObject()
+	{
+	return iDevvr;
+	}
+
+
+/*
+ * COMMANDS
+ */
+
+/**
+ * Process a command read from the ini file
+ *
+ * @param aCommand			The command to process
+ * @param aSection			The section in the ini containing data for the command
+ * @param aAsyncErrorIndex	Command index for async calls to return errors to 
+ * @return					ETrue if the command is processed *
+ * @leave					System wide error
+ */
+TBool CT_MMFDevVideoRecordData::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+	{
+	TBool cmdProcessed = ETrue;
+	if(aCommand == KCmdNewL())
+		{
+		DoCmdNewL(aSection);
+		}
+	else if(aCommand == KCmdDestructor())
+		{
+		DoCmdDestructor();
+		}
+	else if(aCommand == KCmdSelectEncoderL())
+		{
+		DoCmdSelectEncoderL(aSection);
+		}
+	else if(aCommand == KCmdSetInputFormatL())
+		{
+		DoCmdSetInputFormatL();
+		}
+	else if(aCommand == KCmdSetOutputFormatL())
+		{
+		DoCmdSetOutputFormatL(aSection);
+		}
+	else if(aCommand == KCmdSetBufferOptionsL())
+		{
+		DoCmdSetBufferOptionsL(aSection);
+		}
+	else if(aCommand == KCmdSetSourceMemoryL())
+		{
+		DoCmdSetSourceMemoryL();
+		}
+	else if(aCommand == KCmdSetMinRandomAccessRate())
+		{
+		DoCmdSetMinRandomAccessRate(aSection);
+		}
+	else if(aCommand == KCmdInitialize())
+		{
+		DoCmdInitialize(aAsyncErrorIndex);
+		}
+	else if(aCommand == KCmdSetComplexityLevel())
+		{
+		DoCmdSetComplexityLevel(aSection);
+		}
+	else if(aCommand == KCmdStart())
+		{
+		DoCmdStart(aAsyncErrorIndex);
+		}
+	else if(aCommand == KCmdPause())
+		{
+		DoCmdPause();
+		}
+	else if(aCommand == KCmdResume())
+		{
+		DoCmdResume();
+		}
+	else if(aCommand == KCmdStop())
+		{
+		DoCmdStop();
+		}
+	else if ( aCommand==KCmdUtilityGetEnvironment )
+		{
+		DoCmdUtilityGetEnvironmentL();
+		}
+	else if ( aCommand==KCmdSetRateControlOptions )
+		{
+		DoCmdSetRateControlOptions(aSection);
+		}
+	else
+		{
+		cmdProcessed = EFalse;
+		}
+
+	return cmdProcessed;
+	}
+
+/**
+ * DoCmdNewL
+ * @param aSection			The section in the ini containing data for the command
+ */
+void CT_MMFDevVideoRecordData::DoCmdNewL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DoCmdNewL"));
+	DestroyData();
+	TRAPD(error,iDevvr = CMMFDevVideoRecord::NewL( *this ));
+	if(error!=KErrNone)
+		{
+		ERR_PRINTF2(_L("Error creating CMMFDevVideoRecord %i"), error);
+		SetError(error);
+		}
+	else
+		{
+		CreateBuffers();
+	
+		if(CreateFiles(aSection)!= KErrNone)
+			{
+			ERR_PRINTF1(_L("Error creating input/output files"));
+			SetBlockResult(EFail);
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DoCmdNewL"));
+	}
+
+/**
+ * DoCmdDestructor
+ */
+void CT_MMFDevVideoRecordData::DoCmdDestructor()
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DoCmdDestructor"));
+	iInFile.Close();   
+	iOutFile.Close();
+	iFs.Close();
+	REComSession::FinalClose();	
+	DestroyData();
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DoCmdDestructor"));
+	}
+
+/**
+ *	DoCmdSelectEncoderL
+ *  Selects the video encoder to be used. This method must be called before any other video encoder related 
+ *  methods are used. The encoder can be changed by calling this method again before the system has been 
+ *  initialized with Initialize().
+ *  All video encoder settings are reset to their default values. By default no pre-processing is performed.
+ *  @param aSection			The section in the ini containing data for the command
+ */
+void CT_MMFDevVideoRecordData::DoCmdSelectEncoderL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DoCmdSelectEncoderL"));
+	TInt hUid = 0;
+
+	if(!GetHexFromConfig(aSection, KUid(), hUid))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KUid());
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		TUid Uid = TUid::Uid(hUid);
+		SetPictureTypeL(aSection);
+		TRAPD(error,iEncHWDevId = iDevvr->SelectEncoderL(Uid));
+		if(error!=KErrNone)
+			{
+			iEncHWDevId = NULL;		
+			ERR_PRINTF2(_L("Error Selecting encoder: %i"), error);
+			SetError(error);
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DoCmdSelectEncoderL"));
+	}
+
+/*
+ *	Sets the input format for a hardware device. If both a pre-processor and an encoder are used, the 
+ *	pre-processor output format and the encoder input format must be the same. The input format for the 
+ *	first device in the system is the input format for video input data.
+*/
+void CT_MMFDevVideoRecordData::DoCmdSetInputFormatL()
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DoCmdSetInputFormatL"));
+	TUncompressedVideoFormat unCompressedFormat;	
+
+	unCompressedFormat.iDataFormat = EYuvRawData; 
+	unCompressedFormat.iYuvFormat.iDataLayout = EYuvDataPlanar;
+	unCompressedFormat.iYuvFormat.iPattern = EYuv420Chroma1;
+	unCompressedFormat.iYuvFormat.iYuv2RgbMatrix = NULL;
+	unCompressedFormat.iYuvFormat.iRgb2YuvMatrix = NULL;
+	unCompressedFormat.iYuvFormat.iAspectRatioNum = 1;
+	unCompressedFormat.iYuvFormat.iAspectRatioDenom = 1;
+	unCompressedFormat.iYuvFormat.iCoefficients = EYuvBt601Range0;
+
+	TRAPD(error,iDevvr->SetInputFormatL( iEncHWDevId, unCompressedFormat, iPictSize ));
+	if(error!=KErrNone)
+		{
+		ERR_PRINTF2(_L("Error Setting input format: %i"), error);
+		SetError(error);
+		}
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DoCmdSetInputFormatL"));
+	}
+
+/*
+ *	Sets the output format for a hardware device to a compressed video format. Only applicable for encoder 
+ *	devices. The picture size depends on the input data format and possible scaling performed.
+ *  	@param aSection			The section in the ini containing data for the command
+ */
+void CT_MMFDevVideoRecordData::DoCmdSetOutputFormatL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DoCmdSetOutputFormatL"));
+	TBuf8<50> mimetype;		
+	TVideoDataUnitType dataUnitType;
+	TVideoDataUnitEncapsulation dataEncapsulation;
+	TBool dataOk = ETrue;
+	TInt iDataUnitType = 0;
+	TInt iDataEncapsulation = 0;
+		
+	TPtrC mimeType;
+	if(!GetStringFromConfig(aSection, KMimeType(), mimeType))
+		{
+		ERR_PRINTF1(_L("Mime type not retrieved, command will not be executed"));
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(!GetHexFromConfig(aSection, KDataUnitType(), iDataUnitType))
+		{
+		ERR_PRINTF2(_L("check parameter: %S"), &KDataUnitType());
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(!GetHexFromConfig(aSection, KDataEncapsulation(), iDataEncapsulation))
+		{
+		ERR_PRINTF2(_L("check parameter: %S"), &KDataEncapsulation());
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(dataOk)
+		{
+		mimetype.Append(mimeType);
+		CCompressedVideoFormat* compressedFormat=NULL;
+		TRAPD(cfError, compressedFormat = CCompressedVideoFormat::NewL(mimetype));
+		CleanupStack::PushL(compressedFormat);
+		if(cfError != KErrNone)
+			{
+			ERR_PRINTF2(_L("Error selecting compressed video format, check selected mimeType: %i"), cfError);
+			SetError(cfError);
+			}
+		else
+			{
+			dataUnitType = static_cast<TVideoDataUnitType>(iDataUnitType);
+			dataEncapsulation = static_cast<TVideoDataUnitEncapsulation>(iDataEncapsulation);
+			
+			TRAPD(error,iDevvr->SetOutputFormatL(iEncHWDevId, *compressedFormat, dataUnitType, dataEncapsulation, EFalse));  	
+			if(error != KErrNone)
+				{
+				ERR_PRINTF2(_L("Couldn't set OutputFormat %i"), error);	
+				delete iDevvr;
+				iDevvr = NULL;
+				SetError(error);
+				}
+			}
+		CleanupStack::PopAndDestroy(compressedFormat);
+		}
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DoCmdSetOutputFormatL"));
+	}
+
+/*
+ *	Sets encoder buffering options.
+ *	@param aSection			The section in the ini containing data for the command
+*/
+void CT_MMFDevVideoRecordData::DoCmdSetBufferOptionsL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DoCmdSetBufferOptionsL"));
+	TEncoderBufferOptions bufferOptions;
+	TInt HrdVbvSpecification = 0;
+	TInt maxPictureSize = 0;
+	TBool dataOk = ETrue;
+	if(!GetEnumFromConfig(aSection, KHrdVbvSpecification(), iHrdVbvSpecification, HrdVbvSpecification))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KHrdVbvSpecification());
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}
+	if(!GetIntFromConfig(aSection, KMaxPictureSize(), maxPictureSize))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KMaxPictureSize());
+		SetBlockResult(EFail);
+		dataOk = EFalse;
+		}	
+	if(dataOk)
+		{
+		bufferOptions.iHrdVbvParams.Set(NULL, 0);
+		bufferOptions.iHrdVbvSpec = (THrdVbvSpecification)HrdVbvSpecification;
+		bufferOptions.iMaxPreEncoderBufferPictures = KNumPictures;
+		bufferOptions.iMaxCodedPictureSize = maxPictureSize;
+		bufferOptions.iMaxOutputBufferSize = maxPictureSize;      
+		bufferOptions.iMaxCodedSegmentSize = maxPictureSize;
+	
+		//Not needed more that 4 input buffers for normal fileRead test cases
+		bufferOptions.iMinNumOutputBuffers = KNumPictures - 2;
+		TRAPD(error, iDevvr->SetBufferOptionsL( bufferOptions ));
+		if(error!=KErrNone)
+			{
+			ERR_PRINTF2(_L("Error Setting buffer options: %i"), error);
+			SetError(error);
+			}	
+		}
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DoCmdSetBufferOptionsL"));
+	}
+/*
+ *	Sets the data source to be memory buffers.
+ */
+void CT_MMFDevVideoRecordData::DoCmdSetSourceMemoryL()
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DoCmdSetSourceMemoryL"));
+	
+	TRAPD(error, iDevvr->SetSourceMemoryL(iFrameRate, EFalse, EFalse));	
+	if(error != KErrNone)
+		{
+		ERR_PRINTF2(_L("Error Setting Source Memory: %i"), error);
+		SetError(error);
+		}
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DoCmdSetSourceMemoryL"));
+	}
+
+/*
+ *	Sets the minimum frequency (in time) for instantaneous random access points in the bitstream. 
+ *	An instantaneous random access point is such where the encoder can achieve a full output picture 
+ *	immediately by encoding data starting from the random access point. The random access point frequency
+ *	may be higher than signalled, if the sequence contains scene cuts which typically cause a coding of 
+ *	a random access point.
+ *	@param aSection			The section in the ini containing data for the command
+*/
+void CT_MMFDevVideoRecordData::DoCmdSetMinRandomAccessRate(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DoCmdSetMinRandomAccessRate"));
+	TReal randomAccessRate = 0; 
+	
+	if(!GetRealFromConfig(aSection, KRandomAccessRate(), randomAccessRate))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRandomAccessRate());
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		iDevvr->SetMinRandomAccessRate( randomAccessRate );
+		}
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DoCmdSetMinRandomAccessRate"));
+	}
+
+/*
+ * Initializes the video devices, and reserves hardware resources. This method is asynchronous, 
+ *	DevVideoRecord will call MMMFDevVideoRecordObserver::MdvroInitializeComplete() after initialization has 
+ *	completed. If direct capture is used, this method also prepares the camera API for capture by calling 
+ *	PrepareVideoCaptureL(). No DevVideoRecord method may be called while initialization is in progress, the 
+ *	initialization process can only be cancelled by destroying the DevVideoRecord object. 
+ *	@param a AsyncErrorIndex 	Command index for async calls to return errors to
+*/
+void CT_MMFDevVideoRecordData::DoCmdInitialize(const TInt aAsyncErrorIndex)
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DoCmdInitialize"));
+	iAsyncErrorIndex = aAsyncErrorIndex;
+	IncOutstanding();
+	iDevvr->Initialize();	
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DoCmdInitialize"));
+	}
+
+/*
+ * Sets the complexity level to use for video processing in a hardware device. The level can be changed at 
+ * any time. 
+ * @param a AsyncErrorIndex 	Command index for async calls to return errors to
+*/
+void CT_MMFDevVideoRecordData::DoCmdSetComplexityLevel(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DoCmdSetComplexityLevel"));
+	TInt complexityLevel = 0; 
+	
+	INFO_PRINTF1(_L("SET COMPLEXITY LEVEL begin"));
+	
+	if(!GetIntFromConfig(aSection, KComplexityLevel(), complexityLevel))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KComplexityLevel());
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		iDevvr->SetComplexityLevel( iEncHWDevId, complexityLevel );
+		INFO_PRINTF1(_L("SET COMPLEXITY LEVEL stop"));	
+		}
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DoCmdSetComplexityLevel"));
+	}
+
+/*
+ *	Starts recording video. This includes capturing pictures from the camera (if direct capture is used), 
+ *	pre-processing and encoding. Recording will proceed until it is stopped or paused. Initally recording 
+ *	is stopped.
+ * 	@param a AsyncErrorIndex 	Command index for async calls to return errors to
+ */
+void CT_MMFDevVideoRecordData::DoCmdStart(const TInt aAsyncErrorIndex)
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DoCmdStart"));
+	iAsyncErrorIndex = aAsyncErrorIndex;
+	
+	iDevvr->Start();
+	
+	iRequests++;
+	if ( FillAndSendBuffer() == 0 ) 
+		{
+		iStopAfterAllFramesReturned = ETrue;
+		}
+	IncOutstanding();
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DoCmdStart"));
+	}
+
+/*
+ * 	Pauses video recording. Recording can be resumed using Resume().
+ */
+void CT_MMFDevVideoRecordData::DoCmdPause()
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DoCmdPause"));
+	iDevvr->Pause();
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DoCmdPause"));
+	}
+
+/*
+ * 	Resumes video recording after a pause.
+ */
+void CT_MMFDevVideoRecordData::DoCmdResume()
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DoCmdResume"));
+	iDevvr->Resume();
+	HandleReturnedPicture();
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DoCmdResume"));
+	}
+
+/**
+ * Stops recording video. No new pictures will be captured, pre-processed, or encoded.
+ */
+void CT_MMFDevVideoRecordData::DoCmdStop()
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DoCmdStop"));
+	iDevvr->Stop();
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DoCmdStop"));	
+	}
+
+/*
+ * CALLBACKS
+ */
+
+/**
+ * Returns a used input video picture back to the caller. The picture memory can be re-used or freed. 
+ * 
+ * @param aPicture	the picture to return
+ */
+void CT_MMFDevVideoRecordData::MdvroReturnPicture(TVideoPicture* aPicture)
+	{
+	TInt index = 0;
+
+	iReturnedPictures++;
+	iBufferedPictures--;
+
+	for ( index = 0; index < KBufferInputPictures; index++)
+		{
+		if ( &(iPicture[index]) == aPicture )
+			{//set it free
+			iPicture[index].iOptions = 0;
+			}
+		}	
+	HandleReturnedPicture();
+	}
+
+/**
+ * Callback not used.
+ * 
+ * @return None
+ */
+void CT_MMFDevVideoRecordData::MdvroSupplementalInfoSent()
+	{
+	}
+
+/**
+ * Observer callback in Custom interface Buffer management. 
+ * Client is notified a new buffer(s) is available 
+ * 
+ * @return None
+ */
+void CT_MMFDevVideoRecordData::MdvroNewBuffers()
+	{
+	iCompressedBuffers ++;
+	HandleNewBuffer();
+	}
+
+/**
+ * Reports a fatal decoding or playback error to the client.
+ * 
+ * @param aError	The error code
+ * 
+ * @return None
+ */      
+void CT_MMFDevVideoRecordData::MdvroFatalError(TInt aError)
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::MdvroFatalError"));
+
+	DecOutstanding();
+
+	ERR_PRINTF2(_L("A fatal error ocurred %i"), aError);
+	SetAsyncError (iAsyncErrorIndex, aError);
+	
+	if(iDevvr != NULL)
+		{
+		delete iDevvr;
+		iDevvr = NULL;
+		}
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::MdvroFatalError"));
+	}
+
+/**
+ * Reports that DevVideoRecord initialization has completed. The interface can now be used for video recording. 
+ * 
+ * @param aError	Initialization error code, KErrNone if no error occurred
+ * 
+ * @return None
+ */
+void CT_MMFDevVideoRecordData::MdvroInitializeComplete(TInt aError)
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::MdvroInitializeComplete"));
+	DecOutstanding();
+	if ( aError != KErrNone )
+        {
+        SetAsyncError (iAsyncErrorIndex, aError);
+        ERR_PRINTF2(_L("Error at MdvroInitializeComplete %i"), aError);
+        }
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::MdvroInitializeComplete"));
+	}
+
+/**
+ * Reports that the input video stream end has been reached and all pictures have been processed.
+ * This method is only called after the client has called InputEnd(). No more output pictures will be available.
+ * 
+ * @return None
+ */
+void CT_MMFDevVideoRecordData::MdvroStreamEnd()
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::MdvroStreamEnd"));
+	DecOutstanding();
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::MdvroStreamEnd"));
+	}
+
+/*
+ * HELPERS
+ */
+
+/**
+ * Sets the Picture Type for the test
+ * @param aSection			The section in the ini containing data for the command
+ */
+void CT_MMFDevVideoRecordData::SetPictureTypeL(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::SetPictureTypeL"));
+	TInt rawPicLength=0;
+	TInt picWidth=0;
+	TInt picHeight=0;	
+	
+	if(!GetIntFromConfig(aSection, KFrameRate(), iFrameRate))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KFrameRate());
+		SetBlockResult(EFail);
+		}
+	
+	if(!GetIntFromConfig(aSection, KRawPicLength(), rawPicLength))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRawPicLength());
+		SetBlockResult(EFail);
+		}
+	
+	if(!GetIntFromConfig(aSection, KPicWidth(), picWidth))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRawPicLength());
+		SetBlockResult(EFail);
+		}	
+	
+	if(!GetIntFromConfig(aSection, KPicHeight(), picHeight))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KRawPicLength());
+		SetBlockResult(EFail);
+		}	
+		
+	iPictSize.SetSize(picHeight,picWidth);
+	
+	INFO_PRINTF1(_L("Creating Data buffers"));
+	TUint8* pointer = NULL; 
+	if (!iDatabuf)
+        {
+        //iDatabuf = new (ELeave) TUint8*[KBufferInputPictures];
+        iDatabuf = new RPointerArray<TUint8>[KBufferInputPictures];
+        
+        for ( TInt i = 0; i < KBufferInputPictures; i ++ ) 
+            {              
+            pointer = new (ELeave) TUint8[rawPicLength];
+            iDatabuf[i].Append(pointer);
+            iPicture[i].iData.iRawData = new (ELeave) TPtr8(0, 0, 0);
+            iPicture[i].iData.iRawData->Set(pointer, rawPicLength, rawPicLength );
+            iPicture[i].iData.iDataSize.SetSize(iPictSize.iWidth, iPictSize.iHeight);
+            }
+        }
+	INFO_PRINTF1(_L("Data buffers created"));
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::SetPictureTypeL"));
+	}
+
+/**
+ * create buffers to read data
+ */
+void CT_MMFDevVideoRecordData::CreateBuffers()
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::CreateBuffers"));
+	for (TInt i = 0; i < KBufferInputPictures; i ++)
+		{
+		INFO_PRINTF1(_L("creating buffers"));
+		iPicture[i].iData.iRawData = NULL;
+		INFO_PRINTF1(_L("buffers created"));
+		}
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::CreateBuffers"));
+	}
+	
+
+/**
+ *checks for input file and creates output files
+ * @param aSection			The section in the ini containing data for the command
+ */
+int CT_MMFDevVideoRecordData::CreateFiles(const TTEFSectionName& aSection)
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::CreateFiles"));
+	TInt err = KErrNone;
+	TPtrC inputFile;
+	TPtrC outputFile;
+	TPtrC inputPath;
+	TPtrC outputPath;
+	if(!GetStringFromConfig(aSection, KInputFile(), inputFile))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KInputFile());
+		SetBlockResult(EFail);
+		err = KErrNotFound;
+		}
+	if(!GetStringFromConfig(aSection, KOutputFile(), outputFile))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KOutputFile());
+		SetBlockResult(EFail);
+		err = KErrNotFound;
+		}
+	if(!GetStringFromConfig(aSection, KInputPath(), inputPath))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KInputPath());
+		SetBlockResult(EFail);
+		err = KErrNotFound;
+		}
+	if(!GetStringFromConfig(aSection, KOutputPath(), outputPath))
+		{
+		ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KOutputFile());
+		SetBlockResult(EFail);
+		err = KErrNotFound;
+		}	
+	
+    if(err == KErrNone)
+    	{
+		TFileName inFileName(inputPath);
+	    inFileName.Append(inputFile);
+	    TFileName outFileName(outputPath);
+	    outFileName.Append(outputFile);
+	    
+	    err = OpenFile(outFileName, inFileName);
+    	}
+    INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::CreateFiles"));
+    return err;
+	}
+
+/**
+ * Opens input file.
+ * Creates output file.
+ * @param aOutFileName the output file
+ * @param aInFileName  the input file
+ */
+int CT_MMFDevVideoRecordData::OpenFile(TFileName& aOutFileName, TFileName& aInFileName)
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::OpenFile"));
+	TInt err = KErrNone;
+	if ( (err=iInFile.Open(iFs, aInFileName, EFileRead | EFileShareReadersOnly)) != KErrNone)
+		{  
+		ERR_PRINTF2(_L("Couldn't open input file: %i"),err);
+		}        
+	else
+		{
+		if((err=iOutFile.Replace(iFs, aOutFileName, EFileShareExclusive|EFileWrite))!= KErrNone)
+			{
+			ERR_PRINTF2(_L("Couldn't open output file: %i"),err);
+			}
+		}
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::OpenFile"));
+	return err;
+	}
+
+/**
+ * gets new buffers from buffer array
+ */
+void CT_MMFDevVideoRecordData::HandleNewBuffer()
+	{
+	TVideoOutputBuffer* tmp=NULL;
+	TRAPD(error, tmp = iDevvr->NextBufferL());           
+	if (error != KErrNone)
+		{
+		ERR_PRINTF2(_L("Error in getting NextBufferL, Error: %d"), error);
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		SaveAndReturnBuffer( tmp );
+		}
+	}
+
+/**
+ * handles the returned pictures 
+ */
+void CT_MMFDevVideoRecordData::HandleReturnedPicture()
+	{
+	if ( iStopAfterAllFramesReturned )
+		{
+		}
+	else
+		{
+		//iOutputRequests++;
+		if ( FillAndSendBuffer() == 0 ) 
+			{
+			iStopAfterAllFramesReturned = ETrue;
+			}
+		}
+	}
+
+/**
+ *handles out to file requests 
+ *@param aNumberOfPictures number of pictures to write
+ */
+TInt CT_MMFDevVideoRecordData::HandleOutputRequest()
+	{
+	TInt request = 1;
+	if ( FillAndSendBuffer() == 0 ) 
+		{
+		//all data read => stop
+		iStopAfterAllFramesReturned = ETrue;
+		request = 0;
+		}
+	return request;
+	}
+
+/**
+ *writes buffer to file
+ *@param tmp current buffer
+ */
+void CT_MMFDevVideoRecordData::SaveAndReturnBuffer(TVideoOutputBuffer* tmp)
+    {
+    iOutFile.Write( tmp->iData );
+    iDevvr->ReturnBuffer( tmp );
+    }
+
+/**
+ *fills buffer data buffer and process it
+ */
+TInt CT_MMFDevVideoRecordData::FillAndSendBuffer()
+	{
+	TInt64 tsValue = 0;
+	TInt index = 0;
+	TInt status = KErrNone;
+	TInt error = 1;
+	if (iStopAfterAllFramesReturned)
+		{
+		error = 0;
+		}
+	else
+		{
+		for ( index = 0; index < KBufferInputPictures; index++ )
+			{// find a free buffer
+			if ( iPicture[index].iOptions == 0 )
+				{            
+				break;
+				}
+			} 
+	
+		if ( index == KBufferInputPictures )
+			{// all buffers in use, hold on for now        
+			error = -1;
+			}
+		else
+			{
+			// Reset buffer length
+			iPicture[index].iData.iRawData->SetMax();
+		
+			status = iInFile.Read( *(iPicture[index].iData.iRawData));
+			if ( status != KErrNone )
+				{    
+				iStopAfterAllFramesReturned = ETrue;
+				iDevvr->InputEnd();
+				error = 0;
+				}
+			else
+				{
+				// If the buffer is 0 or incomplete, stop test case
+				if ( iPicture[index].iData.iRawData->Length() == 0 || iPicture[index].iData.iRawData->Length() < iPicture[index].iData.iRawData->MaxLength() )
+					{        
+					iStopAfterAllFramesReturned = ETrue;
+					iDevvr->InputEnd();
+					error = 0;
+					}
+				else
+					{
+					// write data
+					tsValue = TReal(iTimeStamp) * TReal(1000000) / TReal(KVEDSPH263TimerResolution);
+					iPicture[index].iTimestamp = tsValue;
+					iPicture[index].iData.iDataFormat = EYuvRawData;
+					iWrittenPictures++;  
+					iBufferedPictures++;    
+					iPicture[index].iOptions = 1;//mark to be used
+					// send it as usually
+					TRAPD(error, iDevvr->WritePictureL( &(iPicture[index]) ));
+					if(error!=KErrNone)
+						{
+						ERR_PRINTF2(_L("Error int WritePictureL Error: %d"), error);
+						SetError(error);
+						}
+					iTimeStamp ++;
+					}
+				}
+			}
+		}
+	return error;
+	}
+
+void CT_MMFDevVideoRecordData::DoCmdUtilityGetEnvironmentL()
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DoCmdUtilityGetEnvironmentL"));
+	RArray<TUid> decoders;	
+	RArray<TPictureRateAndSize> maxPictureRates;
+	TBuf<255> mime;
+	CleanupClosePushL (decoders);	
+	iDevvr->GetEncoderListL(decoders);
+	CVideoEncoderInfo* info = NULL;
+	for (TInt i = 0; i < decoders.Count ();i++)
+		{
+		info =iDevvr->VideoEncoderInfoLC(decoders[i]);		
+		TSize maxSize = info->MaxPictureSize();
+		INFO_PRINTF6(_L("\n%S\nManufacturer%S\nUid: 0x%x\nAccelerated: %i\nSupports Direct Capture: %i"), 
+				&info->Identifier(),
+				&info->Manufacturer(),
+				decoders[i].iUid,
+				info->Accelerated(),
+				info->SupportsDirectCapture());
+		
+		INFO_PRINTF3(_L("\nMax width %i, Max height %i"),maxSize.iWidth, maxSize.iHeight);
+		
+		maxPictureRates = info->MaxPictureRates(); 
+
+		INFO_PRINTF4(_L("\nData unit types supported:%d\nData unit encapsulations:%d\nMaximum number of bitrate layers supported:%d"),
+				info->SupportedDataUnitTypes(),
+				info->SupportedDataUnitEncapsulations(),
+				info->MaxBitrateLayers()
+				);
+		
+
+		INFO_PRINTF4(_L("\nPicture options supported:%d\nSupportsPictureLoss:%i\nSupportsSliceLoss:%i"),
+				info->SupportedPictureOptions(),
+				info->SupportsPictureLoss(),
+				info->SupportsSliceLoss()
+				);
+		
+		INFO_PRINTF4(_L("\nSupplemental enhancement info:%i\nMaximum unequal error protection level:%d\nMaxBitrate:%d"),
+				info->SupportsSupplementalEnhancementInfo(),
+				info->MaxUnequalErrorProtectionLevels(),
+				info->MaxBitrate()
+				);
+		
+		INFO_PRINTF2(_L("Coding-standard specific information: %S"),&info->CodingStandardSpecificInfo());
+		TInt j = 0;
+		for (j = 0; j < maxPictureRates.Count(); j++)
+			{
+			TSize pictureSize=maxPictureRates[j].iPictureSize;			
+			INFO_PRINTF4(_L("max width: %i, max height %i, max rate %f"),
+					pictureSize.iWidth, pictureSize.iHeight, maxPictureRates[j].iPictureRate);
+			}
+		
+		const RPointerArray<CCompressedVideoFormat>& outputFormats =info->SupportedOutputFormats();
+		for (j = 0; j < outputFormats.Count(); j++)
+			{
+			mime.Copy(outputFormats[j]->MimeType());		
+			INFO_PRINTF3(_L("Supported type %d MIMETYPE: %S"),j,&mime);					
+			}
+		CleanupStack::Pop (info);
+		}
+	CleanupStack::PopAndDestroy(&decoders);
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DoCmdUtilityGetEnvironmentL"));
+	}
+
+void CT_MMFDevVideoRecordData::DoCmdSetRateControlOptions(const TTEFSectionName& aSection)
+    {
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::SetRateControlOptions"));
+
+
+	TInt layer = 0;
+	TInt bitrateControlInt = 0;
+	TInt bitrate = 0;
+	TInt pictureQuality = 0;
+	TReal pictureRate;  
+	TReal qualityTemporalTradeoff;  
+	TReal latencyQualityTradeoff; 	
+	
+    if(!GetIntFromConfig(aSection, KLayer(), layer))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KLayer());
+        SetBlockResult(EFail);
+        }
+    if(!GetIntFromConfig(aSection, KBitrateControlType(), bitrateControlInt))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KBitrateControlType());
+        SetBlockResult(EFail);
+        }	
+    if(!GetIntFromConfig(aSection, KBitrate(), bitrate))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KLayer());
+        SetBlockResult(EFail);
+        }		
+    if(!GetIntFromConfig(aSection, KPictureQuality(), pictureQuality))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KPictureQuality());
+        SetBlockResult(EFail);
+        }	
+    if(!GetRealFromConfig(aSection, KPicRate(), pictureRate))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KPicRate());
+        SetBlockResult(EFail);
+        }	
+    if(!GetRealFromConfig(aSection, KQualityTempTradeOff(), qualityTemporalTradeoff))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KQualityTempTradeOff());
+        SetBlockResult(EFail);
+        }	
+    if(!GetRealFromConfig(aSection, KLatencyQuality(), latencyQualityTradeoff))
+        {
+        ERR_PRINTF2(_L("Error in getting parameter %S from INI file"), &KLatencyQuality());
+        SetBlockResult(EFail);
+        }	
+
+	TBitrateControlType bitrateControlType;
+	switch (bitrateControlInt) 
+		{
+		case 1: bitrateControlType = EBrControlNone;
+				break;
+		case 2: bitrateControlType = EBrControlStream;
+				break;		
+		case 3: bitrateControlType = EBrControlPicture;
+				break;		
+		default:bitrateControlType = EBrControlStream; 
+		}
+
+
+    TRateControlOptions rateControlOptions;
+	rateControlOptions.iControl = bitrateControlType;
+	rateControlOptions.iBitrate = bitrate;
+	rateControlOptions.iPictureQuality = pictureQuality;
+	rateControlOptions.iPictureRate = pictureRate;
+	rateControlOptions.iQualityTemporalTradeoff = qualityTemporalTradeoff;
+	rateControlOptions.iLatencyQualityTradeoff = latencyQualityTradeoff;
+
+	iDevvr->SetRateControlOptions(layer, rateControlOptions);  
+
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::SetRateControlOptions"));
+
+	}
+
+
+
+
+
+void CT_MMFDevVideoRecordData::DestroyData()
+	{
+	INFO_PRINTF1(_L("*START*CT_MMFDevVideoRecordData::DestroyData"));
+	delete iDevvr;
+	iDevvr = NULL;
+	INFO_PRINTF1(_L("*END*CT_MMFDevVideoRecordData::DestroyData"));
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/src/T_DevvideoServer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "t_devvideoserver.h"
+#include "t_cmmfdevvideoplaydata.h"
+#include "t_cmmfdevvideorecorddata.h"
+
+/*@{*/
+_LIT(KT_VideoDriver,	"CMMFDevVideoPlay");
+_LIT(KT_VideoRecording,	"CMMFDevVideoRecord");
+/*@}*/
+
+
+/**
+ * Same code for Secure and non-secure variants
+ * Called inside the MainL() function to create and start the
+ * CTestServer derived server.
+ * @return - Instance of the test server
+ */
+CT_DevVideoServer* CT_DevVideoServer::NewL()
+	{
+    CT_DevVideoServer* server = new (ELeave) CT_DevVideoServer();
+    CleanupStack::PushL(server);
+    server->ConstructL();
+    CleanupStack::Pop(server);
+    return server;
+    }
+
+/**
+ * Secure variant
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+LOCAL_C void MainL()
+	{
+#if (defined __DATA_CAGING__)
+    RProcess().DataCaging(RProcess::EDataCagingOn);
+    RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+    CActiveScheduler*	sched=NULL;
+    sched=new(ELeave) CActiveScheduler;
+    CActiveScheduler::Install(sched);
+    CT_DevVideoServer* server = NULL;
+    // Create the CTestServer derived server
+    TRAPD(err,server = CT_DevVideoServer::NewL());
+    if(!err)
+	    {
+        // Sync with the client and enter the active scheduler
+        RProcess::Rendezvous(KErrNone);
+        sched->Start();
+        }
+    delete server;
+    delete sched;
+    }
+
+/**
+ * @return - Standard Epoc error code on process exit
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ */
+GLDEF_C TInt E32Main()
+	{
+    __UHEAP_MARK;
+    CTrapCleanup* cleanup = CTrapCleanup::New();
+    if(cleanup == NULL)
+	    {
+        return KErrNoMemory;
+        }
+
+#if (defined TRAP_IGNORE)
+	TRAP_IGNORE(MainL());
+#else
+    TRAPD(err,MainL());
+#endif
+
+    delete cleanup;
+    __UHEAP_MARKEND;
+    return KErrNone;
+    }
+
+CDataWrapper* CT_DevVideoServer::CT_DevVideoBlock::CreateDataL(const TDesC& aData)
+	{
+	CDataWrapper*	wrapper=NULL;
+
+	if( KT_VideoDriver() == aData )
+		{
+		wrapper=CT_CMMFDevVideoPlay::NewL();
+		}
+	else if( KT_VideoRecording() == aData )
+		{
+		wrapper=CT_MMFDevVideoRecordData::NewL();
+		}
+
+	return wrapper;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/src/h264dectestengine.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,6881 @@
+/*
+* 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 FILES
+#include "H264DecTestEngine.h"
+#include "T_DevVideoConstants.h"
+
+#ifdef __CI_HEADERS__
+#include <buffermanagementci.h>  // Custom interface buffre management
+
+#endif
+
+
+#ifdef __SECUREOUTPUTCI__
+#include <secureoutputci.h>
+#endif
+
+#include <Devvideoplay.h>
+#include <Devvideobase.h>
+#include <Devvideoconstants.h>
+#include <hal.h>
+#include <hal_data.h>
+//#define __MEM_CHECK_
+
+
+// Ecom
+#include <ecom.h>
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::~CVDecTestEngine()
+* Purpose:    Deconstructor
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+CVDecTestEngine::~CVDecTestEngine ()
+{
+	delete iDecTestAO;
+	delete iClock;
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine:NewL()
+* Purpose:    Create instance of test engine
+* Parameters: MVDecEngineObserver& aTestClass
+* Return:     CVDecTestEngine*
+* --------------------------------------------------------------------------*/
+
+CVDecTestEngine* CVDecTestEngine::NewL(MVDecEngineObserver& aTestClass)
+{
+	CVDecTestEngine* self = new(ELeave) CVDecTestEngine;
+
+	CleanupStack::PushL( self );
+	self->ConstructL(aTestClass);
+	CleanupStack::Pop();
+
+	return self;
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::ConstructL()
+* Purpose:    Symbian second phase constructor, which may leave
+* Parameters: MVDecEngineObserver& aTestClass
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::ConstructL(MVDecEngineObserver& aTestClass)
+{
+	iState = EStateNone;
+	iTestClass = &aTestClass;
+	iScreenDevice = NULL;
+
+	//Create Active object
+	iDecTestAO = new(ELeave) CVDecTestAO(this);
+
+	//clock source from system clock
+	iClock = CSystemClockSource::NewL();
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::AssertTIntEqualL()
+* Purpose:
+*
+* Parameters: TInt aExpected, TInt aActual
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::AssertTIntEqualL(TInt aExpected, TInt aActual)
+{
+	if ( aExpected != aActual )
+	{
+		User::Leave(aActual);
+	}
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetUp()
+* Purpose:    Create DevVideoPlay, Initilize Engine paramters
+* Parameters: TSize aSize, TBool aScreenAccess, TBool aSynchronized, TBool aCIBuffMgmt
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::SetUpL(TSize aSize, TBool aScreenAccess, TBool aCIBuffMgmt)
+{
+
+	iMemAlloc = 0;
+	iMemDelete = 0;
+	//Create DevVideoPlay
+	iDevvp = CMMFDevVideoPlay::NewL(*this);
+	PRINT((_L("CVDecTestEngine::SetUpL, DevVideo Created")))
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::SetUpL, mem alloc, iDevvp") ))
+	#endif
+	iMemAlloc++;
+	iState = ECreated;
+
+	// Initilize Engine parameters
+	iError = KErrNone;
+	iDecHWDevId = 0;
+	iPostProcId = 0;
+	iInBuffSize = 0;
+	iRawDataArea = NULL;
+	iCodecType = ENoCodec;
+	iInputEnd = EFalse;
+	iFrameMatch = EFalse;
+	iFrameJump = 0;
+	iFrameJumpCounter = 0;
+	iCorruptMarker = EFalse;
+	iOutCorruptedFileOpen = EFalse;
+	iFrameCounter = 0;
+	iCorruptCounter = 0;
+	iFlvCounter = 0;
+	iFrameDropCounter = 0;
+	iFrameDropInterval = 0;
+	iFrameDropNum = 0;
+	iFrameDropMarker = EFalse;
+	iCurrentFilePos = 0;
+	iFrameDropNumCounter = 0;
+	iSetPassword = EFalse;
+	iUseSecondScreen = EFalse;
+
+
+	#ifdef __CI_HEADERS__
+	iCIBuffMgmtOn = aCIBuffMgmt;
+	#endif
+
+	iDirectScreenAccess = aScreenAccess;
+	iSynchronized = EFalse;
+	iLandscapeMode =EFalse;
+
+	PRINT((_L("CVDecTestEngine::SetUpL, reserving data chunk")));
+
+
+	if (aSize.iWidth > 720 && aSize.iWidth > 576 )
+	{
+		iDataChunkSize = KMP4MaxCodedSize720P*4;
+		iDataThreshold = KMP4MaxCodedSize720P;
+	}
+	else if (aSize.iWidth > 640 && aSize.iWidth > 480 )
+	{
+		iDataChunkSize = KMP4MaxCodedSizePAL*4;
+		iDataThreshold = KMP4MaxCodedSizePAL;
+	}
+	else if (aSize.iWidth > 352 && aSize.iWidth > 288 )
+	{
+		iDataChunkSize = KMP4MaxCodedSizeVGA*4;
+		iDataThreshold = KMP4MaxCodedSizeVGA;
+	}
+	else if (aSize.iWidth <= 352 && aSize.iWidth > 176)
+	{
+		iDataChunkSize = KMP4MaxCodedSizeCIF*4;
+		iDataThreshold = KMP4MaxCodedSizeCIF;
+	}
+	else
+	{
+		iDataChunkSize = KMP4MaxCodedSizeQCIF*4;
+		iDataThreshold = KMP4MaxCodedSizeQCIF;
+	}
+	PRINT((_L("CVDecTestEngine::SetUpL, Data chunk size is [%d]"), iDataChunkSize));
+	PRINT((_L("CVDecTestEngine::SetUpL, Data threshold [%d]"), iDataThreshold));
+	iDataChunk = new (ELeave) TUint8[iDataChunkSize];
+	iMemAlloc++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::SetUpL, mem alloc, iDataChunk") ));
+	#endif
+	iReadDataChunk = iDataChunk;
+	iWriteDataChunk = iDataChunk;
+
+
+	iPictureSize.SetSize(aSize.iWidth,aSize.iHeight);
+	TRect rect(iPictureSize);
+	iDispRect = rect;
+	iFrameMeasurement = EFalse;
+	iDsaStarted = EFalse;
+
+	if ( aScreenAccess )
+	{
+		User::LeaveIfError( FbsStartup() );
+		PRINT((_L("CVDecTestEngine::SetUpL, Fbs server started:")))
+	}
+
+	//Open File session
+	TInt err;
+
+	if ( (err = iFs.Connect()) != KErrNone )
+	{
+		PRINT((_L("CVDecTestEngine::SetUpL, Open File server session fail ")))
+		User::Leave(err);
+	}
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::EnableFrameMeasurementTest
+* Purpose:    Enable Perforamce test flag
+* Note
+* Parameters: TBool a Enable
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::EnableFrameMeasurementTest(TBool aEnable)
+{
+	iFrameMeasurement = aEnable;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetInputBufferSize
+* Purpose:
+* Note
+* Parameters: TBool a Enable
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::SetInputBufferSize(TInt aSize)
+{
+	iInBuffSize = aSize;
+	if ( iCIBuffMgmtOn )  //Custom interfarce Buffer management is used
+	{
+		PRINT((_L("CVDecTestEngine::SetInputBufferSize, CI Buffer management")))
+		#ifdef __CI_HEADERS__
+		iCIBuffMgmt = (MMmfVideoBufferManagement*)iDevvp->CustomInterface(iPostProcId, KMmfVideoBuffermanagementUid);
+		iCIBuffMgmt->MmvbmSetObserver(this);
+		iCIBuffMgmt->MmvbmEnable(ETrue);
+
+		MMmfVideoBufferManagement::TBufferOptions options;
+		options.iNumInputBuffers = KNumOfInputBuffers;
+		options.iBufferSize = iPictureSize;
+
+		iCIBuffMgmt->MmvbmSetBufferOptionsL(options);
+
+		PRINT((_L("CVDecTestEngine::SetInputBufferSize, CI Buffer management Set, Buff size:[%d],[%d]"),iPictureSize.iWidth,iPictureSize.iHeight))
+		#endif
+	}
+
+	else  //Use default Devvideo API for buffer management
+	{
+
+		iRawInBuffer = new(ELeave) TVideoPicture;
+		iMemAlloc++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::SetInputBufferSize, mem alloc, iRawInBuffer") ));
+		#endif
+		TUint8* ptr = new (ELeave) TUint8[iInBuffSize];
+		iMemAlloc++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::SetInputBufferSize, mem alloc, ptr") ));
+		#endif
+		TPtr8*  temp = new (ELeave) TPtr8(ptr, 0, iInBuffSize);
+		iMemAlloc++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::SetInputBufferSize, mem alloc, temp") ));
+		#endif
+		iRawInBuffer->iData.iRawData = temp;
+
+		iRawInBuffer->iData.iDataSize.SetSize(iPictureSize.iWidth,iPictureSize.iHeight); //set picture size
+
+		iRawInBuffer->iOptions = 0;
+		iRawInBuffer->iTimestamp = 0;
+		delete ptr;
+		iMemDelete++;
+		delete temp;
+		iMemDelete++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::SetInputBufferSize, mem del, ptr & temp") ));
+		#endif
+		PRINT((_L("CVDecTestEngine::SetInputBufferSize, Buffer created: Size[%d]"),iInBuffSize))
+	}
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetHeaderInformationL()
+* Purpose:    Ritrieve header  Information
+* Parameters: TVideoDataUnitType aDataUnitType, TVideoDataUnitEncapsulation aDataUnitEncapsulation
+* Return:     None
+*---------------------------------------------------------------------------*/
+
+void CVDecTestEngine::GetHeaderInformationL(TVideoDataUnitType aDataUnitType, TVideoDataUnitEncapsulation aDataUnitEncapsulation)
+{
+	TInt err = KErrNone;
+	TVideoPictureHeader* headerInfo = NULL;
+	HBufC8* tempBuff = NULL;
+
+	//Read Picture header : Size is not known
+	TVideoInputBuffer* codedBuffer = new(ELeave) TVideoInputBuffer;
+	iMemAlloc++;
+	CleanupStack::PushL( codedBuffer );
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::GetHeaderInformationL, mem alloc, codedBuffer") ))
+	#endif
+	iInBuffSize = KMaxCodedSize;
+	err = KErrOverflow;
+
+	while ( (err == KErrOverflow) && (iInBuffSize <= KMaxCodedSize) )
+	{
+		tempBuff = HBufC8::NewL(iInBuffSize);
+		iMemAlloc++;
+		CleanupStack::PushL( tempBuff );
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::GetHeaderInformationL, mem alloc, codedBuffer") ))
+		#endif
+		codedBuffer->iData.Set(tempBuff->Des());
+		if ( iFrameSizeList.Count() > 0 )
+		{
+			err = ReadOneCodedPicture(codedBuffer, iFrameSizeList[0] );
+		}
+		else
+		{
+			err = ReadOneCodedPicture(codedBuffer);
+		}
+
+		PRINT((_L("CVDecTestEngine::GetHeaderInformationL, return err [%d]"),err))
+		TInt pos =0;
+		if ( iInFile.Seek(ESeekStart,pos) )
+		{
+			err = KErrGeneral;
+			PRINT((_L("CVDecTestEngine::GetHeaderInformationL, err = KErrGeneral")))
+		}
+
+		if ( iInputEnd )
+		{
+			err = KErrNotFound;
+			PRINT((_L("CVDecTestEngine::GetHeaderInformationL, err = KErrNotFound")))
+		}
+
+		if ( err < 0 )
+		{
+			CleanupStack::PopAndDestroy(tempBuff);
+			iMemDelete++;
+			#ifdef __MEM_CHECK_
+			PRINT((_L("CVDecTestEngine::GetHeaderInformationL, mem del, tempBuff") ))
+			#endif
+			iInBuffSize = 4*iInBuffSize;
+		}
+	}
+
+	// Reitrieve header information from bitstream
+	if ( err < 0 )
+	{
+		CleanupStack::PopAndDestroy(codedBuffer);
+		iMemDelete++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::GetHeaderInformationL, mem del, codedBuffer") ))
+		#endif
+		PRINT((_L("CVDecTestEngine::GetHeaderInformationL, Reading input data fail")))
+	}
+	else
+	{
+		err = KErrNone;
+		PRINT((_L("CVDecTestEngine::GetHeaderInformationL, call adaptation layer")))
+		headerInfo = iDevvp->GetHeaderInformationL(aDataUnitType,aDataUnitEncapsulation,codedBuffer);
+
+		CleanupStack::PopAndDestroy(tempBuff);
+		iMemDelete++;
+		CleanupStack::PopAndDestroy(codedBuffer);
+		iMemDelete++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::GetHeaderInformationL, mem del, tempBuff & codedBuffer") ))
+		#endif
+		//Check Header info
+		if ( !err && headerInfo )
+		{
+			//Size in Memory
+			iPictureSize = headerInfo->iDisplayedRect.Size();
+			PRINT((_L("CVDecTestEngine::GetHeaderInformationL, Picture Size :width[%d], height[%d]"),iPictureSize.iWidth,iPictureSize.iHeight))
+
+			// Display rect
+			iDispRect = headerInfo->iDisplayedRect;
+			PRINT((_L("CVDecTestEngine::GetHeaderInformationL, Displayed image portion: Width[%d] to Height[%d]"),headerInfo->iDisplayedRect.Width(),headerInfo->iDisplayedRect.Height()))
+
+			//return headerInfo
+			iDevvp->ReturnHeader(headerInfo);
+
+		}
+		else  //temp modify because MP4HwDevice of Emuzed returns null information in 1st release
+		{
+			PRINT((_L("CVDecTestEngine::GetHeaderInformationL, Get header info fail")))
+			err = KErrGeneral;
+		}
+	}
+
+	AssertTIntEqualL(KErrNone, err);
+
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetHeaderInformationL()
+* Purpose:    Retrieve header Information
+* Parameters: None
+* Return:     None
+*---------------------------------------------------------------------------*/
+
+void CVDecTestEngine::GetHeaderInformationL()
+{
+	PRINT((_L("CVDecTestEngine::GetHeaderInformationL, In")))
+	TInt err = KErrNone;
+	TVideoPictureHeader* headerInfo = NULL;
+	HBufC8* tempBuff = NULL;
+
+	//Read Picture header : Size is not known
+	TVideoInputBuffer* codedBuffer = new(ELeave) TVideoInputBuffer;
+	iMemAlloc++;
+	CleanupStack::PushL( codedBuffer );
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::GetHeaderInformationL, mem alloc, codedBuffer") ))
+	#endif
+	iInBuffSize = KMaxCodedSize;
+	err = KErrOverflow;
+
+	while ( (err == KErrOverflow) && (iInBuffSize <= KMaxCodedSize) )
+	{
+		tempBuff = HBufC8::NewL(iInBuffSize);
+		iMemAlloc++;
+		CleanupStack::PushL( tempBuff );
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::GetHeaderInformationL, mem alloc, tempBuff") ))
+		#endif
+		codedBuffer->iData.Set(tempBuff->Des());
+
+		if ( iFrameSizeList.Count() > 0 )
+		{
+			err = ReadOneCodedPicture(codedBuffer, iFrameSizeList[0] );
+		}
+		else
+		{
+			err = ReadOneCodedPicture(codedBuffer);
+		}
+
+
+		TInt pos =0;
+		if ( iInFile.Seek(ESeekStart,pos) )
+		{
+			err = KErrGeneral;
+		}
+
+		if ( iInputEnd )
+		{
+			err = KErrNotFound;
+		}
+
+		if ( err < 0 )
+		{
+			CleanupStack::PopAndDestroy(tempBuff);
+			iMemDelete++;
+			#ifdef __MEM_CHECK_
+			PRINT((_L("CVDecTestEngine::GetHeaderInformationL, mem del, tempBuff") ))
+			#endif
+			iInBuffSize = 4*iInBuffSize;
+		}
+	}
+
+
+	// Reitrieve header information from bitstream
+	if ( err  < 0 )
+	{
+		CleanupStack::PopAndDestroy(codedBuffer);
+		iMemDelete++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::GetHeaderInformationL, mem del, codedBuffer") ))
+		#endif
+		PRINT((_L("CVDecTestEngine::GetHeaderInformationL, Reading input data fail")))
+	}
+	else
+	{
+		err = KErrNone;
+
+		headerInfo = iDevvp->GetHeaderInformationL(EDuCodedPicture,EDuElementaryStream,codedBuffer);
+
+		CleanupStack::PopAndDestroy(tempBuff);
+		CleanupStack::PopAndDestroy(codedBuffer);
+		iMemDelete++;
+		iMemDelete++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::GetHeaderInformationL, mem del, tempBuff & codedBuffer") ))
+		#endif
+
+		//Check Header info
+		if ( headerInfo )
+		{
+			//Size in Memory
+			iPictureSize = headerInfo->iDisplayedRect.Size();
+			PRINT((_L("CVDecTestEngine::GetHeaderInformationL, Picture Size :width[%d], height[%d]"),iPictureSize.iWidth,iPictureSize.iHeight))
+
+			// Display rect
+			iDispRect = headerInfo->iDisplayedRect;
+			PRINT((_L("CVDecTestEngine::GetHeaderInformationL, Displayed image portion: Width[%d] to Height[%d]"),headerInfo->iDisplayedRect.Width(),headerInfo->iDisplayedRect.Height()))
+
+			iDevvp->ReturnHeader(headerInfo);
+
+		}
+		else
+		{
+			PRINT((_L("CVDecTestEngine::GetHeaderInformationL, Get header info fail")))
+			err = KErrGeneral;
+		}
+
+	}
+
+	// Set size of decoder input buffer
+	if ( iCodecType == EH263 )
+	{
+		if ( (iPictureSize.iWidth <= 176 ) && (iPictureSize.iHeight <= 144) )
+		{
+			iInBuffSize = KH263MaxCodedSizeQCIF;
+		}
+		else
+		{
+			iInBuffSize = KH263MaxCodedSizeCIF;
+		}
+	}
+	else //Mpeg4
+	{
+		if ( (iPictureSize.iWidth <= 176 ) && (iPictureSize.iHeight <= 144) )
+		{
+			iInBuffSize = KMP4MaxCodedSizeQCIF;
+		}
+		else if ( (iPictureSize.iWidth <= 352 ) && (iPictureSize.iHeight <= 288) )
+		{
+			iInBuffSize = KMP4MaxCodedSizeCIF;
+		}
+
+		else
+		{
+			iInBuffSize = KMP4MaxCodedSizeVGA;
+		}
+
+	}
+
+	AssertTIntEqualL(KErrNone, err);
+	PRINT((_L("CVDecTestEngine::GetHeaderInformationL, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetCodecType
+* Purpose:    Set Cotec type
+* Parameters: TVideoCodec aCodec
+*
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::SetCodecType(TVideoCodec aCodec)
+{
+	iCodecType = aCodec;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetBitstreamCountersL()
+* Purpose:
+* Parameters:
+*
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::GetBitstreamCountersL()
+{
+	PRINT((_L("CVDecTestEngine::GetBitstreamCountersL In")))
+
+	CMMFDevVideoPlay::TBitstreamCounters lCounters;
+
+	iDevvp->GetBitstreamCounters(lCounters);
+
+	PRINT((_L("CVDecTestEngine::GetBitstreamCountersL, Lost Packets = %d"),lCounters.iLostPackets))
+	PRINT((_L("CVDecTestEngine::GetBitstreamCountersL, Total Packets = %d"), lCounters.iTotalPackets))
+
+	PRINT((_L("CVDecTestEngine::GetBitstreamCountersL Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::PreDecoderBufferBytes()
+* Purpose:
+* Parameters:
+*
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::PreDecoderBufferBytes()
+{
+	PRINT((_L("CVDecTestEngine::PreDecoderBufferBytes, In")))
+
+	TUint lBufferBytes = iDevvp->PreDecoderBufferBytes();
+	PRINT((_L("CVDecTestEngine::PreDecoderBufferBytes, Number of bytes of data in the pre-decoder buffer = %d"), lBufferBytes))
+
+	PRINT((_L("CVDecTestEngine::PreDecoderBufferBytes, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::PictureBufferBytes()
+* Purpose:
+* Parameters:
+*
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::PictureBufferBytes()
+{
+	PRINT((_L("CVDecTestEngine::PictureBufferBytes, In")))
+
+	TUint buffbyte =  iDevvp->PictureBufferBytes();
+	PRINT((_L("CVDecTestEngine::PictureBufferBytes: total amount of memory allocated [%d]"),buffbyte))
+
+	PRINT((_L("CVDecTestEngine::PictureBufferBytes, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetPostProcessTypesL()
+* Purpose:    Set combination of postprocessor
+*
+* Parameters: TUint32 aCombination
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::SetPostProcessTypesL(TInt aHWDevice, TUint32 aCombination)
+{
+	PRINT((_L("CVDecTestEngine::SetPostProcessTypesL, In")))
+
+	if (aHWDevice == EPostProcessor)
+	{
+		iDevvp->SetPostProcessTypesL(iPostProcId,aCombination);
+	}
+	else
+	{
+		iDevvp->SetPostProcessTypesL(iDecHWDevId,aCombination);
+	}
+
+	PRINT((_L("CVDecTestEngine::SetPostProcessTypesL, Out")))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetInputCropOptionsL()
+* Purpose:    Set input crop
+*
+* Parameters: TRect aCrop
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::SetInputCropOptionsL(TInt aHWDevice, TRect aCrop)
+{
+	PRINT((_L("CVDecTestEngine::SetInputCropOptionsL, In")))
+
+	if (aHWDevice == EPostProcessor)
+	{
+		iDevvp->SetInputCropOptionsL(iPostProcId,aCrop);
+	}
+	else
+	{
+		iDevvp->SetInputCropOptionsL(iDecHWDevId,aCrop);
+	}
+
+	PRINT((_L("CVDecTestEngine::SetInputCropOptionsL, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetYuvToRgbOptionsL()
+* Purpose:    Set Yuv to Rgb options
+*
+* Parameters: TYuvToRgbOptions aOptions
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::SetYuvToRgbOptionsL(TInt aHWDevice, TYuvToRgbOptions aOptions)
+{
+	PRINT((_L("CVDecTestEngine::SetYuvToRgbOptionsL, In")))
+
+	if (aHWDevice == EPostProcessor)
+	{
+		iDevvp->SetYuvToRgbOptionsL(iPostProcId, aOptions);
+	}
+	else
+	{
+		iDevvp->SetYuvToRgbOptionsL(iDecHWDevId, aOptions);
+	}
+
+	PRINT((_L("CVDecTestEngine::SetYuvToRgbOptionsL, Out")))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetRotateOptionsL()
+* Purpose:    Set Rotation
+*
+* Parameters: TRotationType aRotation
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SetRotateOptionsL(TInt aHWDevice, TRotationType aRotation)
+{
+	PRINT((_L("CVDecTestEngine::SetRotateOptionsL, In")))
+
+	if (aHWDevice == EPostProcessor)
+	{
+		iDevvp->SetRotateOptionsL(iPostProcId, aRotation);
+	}
+	else
+	{
+		iDevvp->SetRotateOptionsL(iDecHWDevId, aRotation);
+	}
+
+	PRINT((_L("CVDecTestEngine::SetRotateOptionsL, Out")))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetScaleOptionsL()
+* Purpose:    Set Scale with multiply factor
+*
+* Parameters: TSize aSize, TBool aAntiAliasFiltering
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SetScaleOptionsL(TInt aHWDevice, TSize aSize, TBool aAntiAliasFiltering)
+{
+	PRINT((_L("CVDecTestEngine::SetScaleOptionsL, In")));
+
+	if (aHWDevice == EPostProcessor)
+	{
+		iDevvp->SetScaleOptionsL(iPostProcId, aSize, aAntiAliasFiltering);
+	}
+	else
+	{
+		iDevvp->SetScaleOptionsL(iDecHWDevId, aSize, aAntiAliasFiltering);
+	}
+
+	PRINT((_L("CVDecTestEngine::SetScaleOptionsL, Scale option is set:width[%d],height[%d]"), aSize.iWidth,aSize.iHeight))
+
+	PRINT((_L("CVDecTestEngine::SetScaleOptionsL, Out")));
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetScaleOptionsL()
+* Purpose:    Set Scale with multiply factor
+*
+* Parameters: TInt aNumFactor,TInt aDenoFactor, TBool aAntiAliasFiltering
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SetScaleOptionsL(TInt aNumFactor,TInt aDenoFactor, TBool aAntiAliasFiltering)
+{
+	PRINT((_L("CVDecTestEngine::SetScaleOptionsL, Out")));
+
+	TInt width =  static_cast<TInt>(iPictureSize.iWidth*aNumFactor/aDenoFactor);
+	TInt height = static_cast<TInt>(iPictureSize.iHeight*aNumFactor/aDenoFactor);
+
+	TSize target(width, height);
+
+	iDevvp->SetScaleOptionsL(iPostProcId, target, aAntiAliasFiltering);
+	PRINT((_L("CVDecTestEngine::SetScaleOptionsL, Scale option is set:width[%d],height[%d]"),target.iWidth,target.iHeight))
+
+	PRINT((_L("CVDecTestEngine::SetScaleOptionsL, Out")));
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetOutputCropOptionsL()
+* Purpose:    Set output crop
+*
+* Parameters: TRect aCrop
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SetOutputCropOptionsL(TInt aHWDevice, TRect aCrop)
+{
+	PRINT((_L("CVDecTestEngine::SetOutputCropOptionsL, In")));
+
+	if (aHWDevice == EPostProcessor)
+	{
+		iDevvp->SetOutputCropOptionsL(iPostProcId, aCrop);
+	}
+	else
+	{
+		iDevvp->SetOutputCropOptionsL(iDecHWDevId, aCrop);
+	}
+
+	PRINT((_L("CVDecTestEngine::SetOutputCropOptionsL, Out")));
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::CommitL()
+* Purpose:    commit change of postprocessors after intialization or revert
+*
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::CommitL()
+{
+	PRINT((_L("CVDecTestEngine::CommitL, In")));
+
+	iDevvp->CommitL();
+
+	PRINT((_L("CVDecTestEngine::CommitL, Out")));
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::Revert()
+* Purpose:    Revert any configuration changes that have not yet been committed
+*
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::Revert()
+{
+	PRINT((_L("CVDecTestEngine::Revert, In")));
+
+	iDevvp->Revert();
+
+	PRINT((_L("CVDecTestEngine::Revert, Out")));
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetClockSource()
+* Purpose:    Set SetHrdVbvSpec
+* Note:       This is called before initilaized
+* Parameters: THrdVbvSpecification aHrdVbvSpec
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::SetClockSource()
+{
+	PRINT((_L("CVDecTestEngine::SetClockSource, In")))
+
+	iDevvp->SetClockSource(iClock);
+
+	PRINT((_L("CVDecTestEngine::SetClockSource, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetHrdVbvSpec()
+* Purpose:    Set SetHrdVbvSpec
+* Note:       This is called before initilaized
+* Parameters: THrdVbvSpecification aHrdVbvSpec
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::SetHrdVbvSpec(THrdVbvSpecification aHrdVbvSpec, const TDesC8& aHrdVbvParams)
+{
+	PRINT((_L("CVDecTestEngine::SetHrdVbvSpec, In")))
+
+	iDevvp->SetHrdVbvSpec(aHrdVbvSpec, aHrdVbvParams);
+
+	PRINT((_L("CVDecTestEngine::SetHrdVbvSpec, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetPostProcSpecificOptionsL()
+* Purpose:    Set SetHrdVbvSpec
+* Note:       This is called before initilaized
+* Parameters: THrdVbvSpecification aHrdVbvSpec
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::SetPostProcSpecificOptionsL(TInt aHWDevice, const TDesC8& aOptions)
+{
+	PRINT((_L("CVDecTestEngine::SetPostProcSpecificOptionsL, In")))
+
+	if (aHWDevice == EPostProcessor)
+	{
+		iDevvp->SetPostProcSpecificOptionsL(iPostProcId, aOptions);
+	}
+	else
+	{
+		iDevvp->SetPostProcSpecificOptionsL(iDecHWDevId, aOptions);
+	}
+
+	PRINT((_L("CVDecTestEngine::SetPostProcSpecificOptionsL, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetScreenClipRegion()
+* Purpose:    Set SetHrdVbvSpec
+* Note:       This is called before initilaized
+* Parameters: THrdVbvSpecification aHrdVbvSpec
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::SetScreenClipRegion(TRegion& aRegion)
+{
+	PRINT((_L("CVDecTestEngine::SetScreenClipRegion, In")))
+
+	iDevvp->SetScreenClipRegion(aRegion);
+
+	PRINT((_L("CVDecTestEngine::SetScreenClipRegion, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetPauseOnClipFail()
+* Purpose:    Set SetHrdVbvSpec
+* Note:       This is called before initilaized
+* Parameters: THrdVbvSpecification aHrdVbvSpec
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::SetPauseOnClipFail(TBool aPause)
+{
+	PRINT((_L("CVDecTestEngine::SetPauseOnClipFail, In")))
+
+	iDevvp->SetPauseOnClipFail(aPause);
+
+	PRINT((_L("CVDecTestEngine::SetPauseOnClipFail, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::IsPlaying()
+* Purpose:    Set SetHrdVbvSpec
+* Note:       This is called before initilaized
+* Parameters: THrdVbvSpecification aHrdVbvSpec
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::IsPlaying()
+{
+	PRINT((_L("CVDecTestEngine::IsPlaying, In")))
+
+	TUint playing = iDevvp->IsPlaying();
+	PRINT((_L("CVDecTestEngine::IsPlaying, [%d]"), playing))
+
+	PRINT((_L("CVDecTestEngine::IsPlaying, Out")))
+
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetPictureCounters()
+* Purpose:    Set SetHrdVbvSpec
+* Note:       This is called before initilaized
+* Parameters: THrdVbvSpecification aHrdVbvSpec
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::GetPictureCounters()
+{
+	PRINT((_L("CVDecTestEngine::GetPictureCounters, In")))
+
+	CMMFDevVideoPlay::TPictureCounters counters;
+	iDevvp->GetPictureCounters(counters);
+
+	PRINT((_L("CVDecTestEngine::GetPictureCounters, iPicturesSkipped, [%d]"), counters.iPicturesSkipped))
+	PRINT((_L("CVDecTestEngine::GetPictureCounters, iPicturesDecoded, [%d]"), counters.iPicturesDecoded))
+	PRINT((_L("CVDecTestEngine::GetPictureCounters, iPicturesDisplayed, [%d]"), counters.iPicturesDisplayed))
+	PRINT((_L("CVDecTestEngine::GetPictureCounters, iTotalPictures, [%d]"), counters.iTotalPictures))
+
+	PRINT((_L("CVDecTestEngine::GetPictureCounters, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::NumFreeBuffers()
+* Purpose:    Set SetHrdVbvSpec
+* Note:       This is called before initilaized
+* Parameters: THrdVbvSpecification aHrdVbvSpec
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::NumFreeBuffers()
+{
+	PRINT((_L("CVDecTestEngine::NumFreeBuffers, In")))
+
+	TUint playing = iDevvp->NumFreeBuffers();
+	PRINT((_L("CVDecTestEngine::NumFreeBuffers, [%d]"), playing))
+
+	PRINT((_L("CVDecTestEngine::NumFreeBuffers, Out")))
+
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::NumComplexityLevels()
+* Purpose:    Set SetHrdVbvSpec
+* Note:       This is called before initilaized
+* Parameters: THrdVbvSpecification aHrdVbvSpec
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::NumComplexityLevels(TInt aHWDevice)
+{
+	PRINT((_L("CVDecTestEngine::NumComplexityLevels, In")))
+
+	TUint number = 0;
+	if (aHWDevice == EPostProcessor)
+	{
+		number = iDevvp->NumComplexityLevels(iPostProcId);
+	}
+	else
+	{
+		number = iDevvp->NumComplexityLevels(iDecHWDevId);
+	}
+
+	PRINT((_L("CVDecTestEngine::NumComplexityLevels, [%d]"), number))
+
+	PRINT((_L("CVDecTestEngine::NumComplexityLevels, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::InputEnd()
+* Purpose:    Set SetHrdVbvSpec
+* Note:       This is called before initilaized
+* Parameters: THrdVbvSpecification aHrdVbvSpec
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::InputEnd()
+{
+	PRINT((_L("CVDecTestEngine::InputEnd, In")))
+
+	iDevvp->InputEnd();
+
+	PRINT((_L("CVDecTestEngine::InputEnd, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetNewPictureInfo()
+* Purpose:    Set SetHrdVbvSpec
+* Note:       This is called before initilaized
+* Parameters: THrdVbvSpecification aHrdVbvSpec
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::GetNewPictureInfo(TTimeIntervalMicroSeconds& aEarliestTimestamp,
+TTimeIntervalMicroSeconds& aLatestTimestamp)
+{
+	PRINT((_L("CVDecTestEngine::GetNewPictureInfo, In")))
+
+	TUint numbers = 0;
+	iDevvp->GetNewPictureInfo(numbers, aEarliestTimestamp, aLatestTimestamp);
+	PRINT((_L("CVDecTestEngine::GetNewPictureInfo, [%d]"), numbers))
+
+	PRINT((_L("CVDecTestEngine::GetNewPictureInfo, Out")))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetTimedSnapshotL()
+* Purpose:    Set SetHrdVbvSpec
+* Note:       This is called before initilaized
+* Parameters: THrdVbvSpecification aHrdVbvSpec
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::GetTimedSnapshotL(const TUncompressedVideoFormat& aFormat,
+const TTimeIntervalMicroSeconds& aPresentationTimestamp)
+{
+	PRINT((_L("CVDecTestEngine::GetTimedSnapshotL, In")))
+
+	iPictureDataSnapshot.iDataFormat = aFormat.iDataFormat;
+	iPictureDataSnapshot.iDataSize = iPictureSize;
+
+	PrintUncompressedFormat(aFormat);
+
+	iDevvp->GetTimedSnapshotL(&iPictureDataSnapshot, aFormat, aPresentationTimestamp);
+
+	PRINT((_L("CVDecTestEngine::GetTimedSnapshotL, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetTimedSnapshotL()
+* Purpose:    Set SetHrdVbvSpec
+* Note:       This is called before initilaized
+* Parameters: THrdVbvSpecification aHrdVbvSpec
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::GetTimedSnapshotL(const TUncompressedVideoFormat& aFormat,
+const TPictureId& aPictureId)
+{
+	PRINT((_L("CVDecTestEngine::GetTimedSnapshotL, In")))
+
+	iPictureDataSnapshot.iDataFormat = aFormat.iDataFormat;
+	iPictureDataSnapshot.iDataSize = iPictureSize;
+
+	PrintUncompressedFormat(aFormat);
+
+	iDevvp->GetTimedSnapshotL(&iPictureDataSnapshot, aFormat, aPictureId);
+
+	PRINT((_L("CVDecTestEngine::GetTimedSnapshotL, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::CancelTimedSnapshot()
+* Purpose:    Set SetHrdVbvSpec
+* Note:       This is called before initilaized
+* Parameters: THrdVbvSpecification aHrdVbvSpec
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::CancelTimedSnapshot()
+{
+	PRINT((_L("CVDecTestEngine::CancelTimedSnapshot, In")))
+
+	iDevvp->CancelTimedSnapshot();
+
+	PRINT((_L("CVDecTestEngine::CancelTimedSnapshot, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetSupportedSnapshotFormatsL()
+* Purpose:    Set SetHrdVbvSpec
+* Note:       This is called before initilaized
+* Parameters: THrdVbvSpecification aHrdVbvSpec
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::GetSupportedSnapshotFormatsL()
+{
+	PRINT((_L("CVDecTestEngine::GetSupportedSnapshotFormatsL, In")))
+
+	RArray<TUncompressedVideoFormat> formats;
+	CleanupClosePushL(formats);
+
+	iDevvp->GetSupportedSnapshotFormatsL(formats);
+
+	for (TUint i = 0; i < formats.Count(); i++)
+	{
+		PRINT((_L("CVDecTestEngine::GetSupportedSnapshotFormatsL, Format No.%d"), i))
+		PrintUncompressedFormat(formats[i]);
+	}
+	CleanupStack::PopAndDestroy(&formats);
+
+	PRINT((_L("CVDecTestEngine::GetSupportedSnapshotFormatsL, Out")))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetComplexityLevel()
+* Purpose:    Set Complexity Level of Decode and postprocessor
+* Note:       This is called after initilaized
+* Parameters: TInt aDecLevel, TInt aPostProcLevel
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::SetComplexityLevel(TInt aHWDevice, TInt aLevel)
+{
+	PRINT((_L("CVDecTestEngine::SetComplexityLevel, In")))
+
+	if (aHWDevice == EPostProcessor)
+	{
+		iDevvp->SetComplexityLevel(iPostProcId, aLevel);
+	}
+	else
+	{
+		iDevvp->SetComplexityLevel(iDecHWDevId, aLevel);
+	}
+
+	PRINT((_L("CVDecTestEngine::SetComplexityLevel, Out")))
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetComplexityLevelInfo()
+* Purpose:    Get number and information of Complexity Level of Decode and postprocessor
+* Note:       This is called after initilaized
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::GetComplexityLevelInfo(TInt aHWDevice, TInt aLevel)
+{
+	PRINT((_L("CVDecTestEngine::GetComplexityLevelInfo, In")))
+
+	CMMFDevVideoPlay::TComplexityLevelInfo info;
+
+	if (aHWDevice == EPostProcessor)
+	{
+		iDevvp->GetComplexityLevelInfo(iPostProcId, aLevel, info);
+	}
+	else
+	{
+		iDevvp->GetComplexityLevelInfo(iDecHWDevId, aLevel, info);
+	}
+
+	PRINT((_L("CVDecTestEngine::GetComplexityLevelInfo, dec complexy level info[%x]"),info.iOptions))
+	PRINT((_L("CVDecTestEngine::GetComplexityLevelInfo, iAvgPictureRate [%f]"),info.iAvgPictureRate))
+	PRINT((_L("CVDecTestEngine::GetComplexityLevelInfo, iPictureSize width [%d] height[%d]"),info.iPictureSize.iWidth, info.iPictureSize.iHeight))
+	PRINT((_L("CVDecTestEngine::GetComplexityLevelInfo, iRelativeImageQuality [%f]"),info.iRelativeImageQuality))
+	PRINT((_L("CVDecTestEngine::GetComplexityLevelInfo, iRequiredMIPS [%d]"),info.iRequiredMIPS))
+	PRINT((_L("CVDecTestEngine::GetComplexityLevelInfo, iRelativeProcessTime [%f]"),info.iRelativeProcessTime))
+
+	PRINT((_L("CVDecTestEngine::GetComplexityLevelInfo, Out")))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::Redraw()
+* Purpose:    Redraw latest picture
+* Note:       only applicable when DSA is used and after initilaized
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::Redraw()
+{
+	PRINT((_L("CVDecTestEngine::Redraw, In")))
+
+	iDevvp->Redraw();
+
+	PRINT((_L("CVDecTestEngine::Redraw, Out")))
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetSnapshotL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::GetSnapshotL(TUncompressedVideoFormat& aFormat)
+{
+	PRINT((_L("CVDecTestEngine::GetSnapshotL, In")))
+
+	TInt result;
+	TInt err = KErrNone;
+
+	TPictureData picture;
+
+	picture.iDataFormat = aFormat.iDataFormat;
+	picture.iDataSize = iPictureSize;
+
+	PRINT((_L("CVDecTestEngine::GetSnapshotL, before new []")))
+	TUint8* data = new (ELeave)TUint8[iPictureSize.iWidth*iPictureSize.iHeight*2];
+	PRINT((_L("CVDecTestEngine::GetSnapshotL, after new[]")))
+
+	TPtr8 dataPtr(data, iPictureSize.iWidth*iPictureSize.iHeight*2);
+	picture.iRawData = &dataPtr;
+
+	CleanupStack::PushL(data);
+	iMemAlloc++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::GetSnapshotL, mem alloc, data") ))
+	#endif
+	PRINT((_L("CVDecTestEngine::GetSnapshotL, before snapshot")))
+	result = iDevvp->GetSnapshotL(picture, aFormat);
+
+	PRINT((_L("CVDecTestEngine::GetSnapshotL, snapshot received")))
+	if ( !result )
+	{
+		RFile snapshot;
+
+		TFileName filename;
+		TBuf8<128> newFile;
+		newFile.Append(iInFileName);
+		TBuf16<128> temp2;
+		temp2.Copy(newFile);
+		PRINT((_L("CVDecTestEngine::GetSnapshotL, Opening the file [%S]"), &temp2))
+		newFile.Delete(newFile.Length()-4, 4);
+		newFile.Append(_L8("_snapshot"));
+		newFile.Append(_L8(".yuv"));
+		filename.Copy(newFile);
+
+		TBuf16<128> temp;
+		temp.Copy(newFile);
+
+		PRINT((_L("CVDecTestEngine::GetSnapshotL, Opening the file [%S]"), &temp))
+		err = snapshot.Replace(iFs, filename, EFileShareExclusive|EFileWrite);
+
+		PRINT((_L("CVDecTestEngine::GetSnapshotL, writing the file")))
+
+		if ( err!= KErrNone )
+		{
+			PRINT((_L("CVDecTestEngine::GetSnapshotL, snapshot file open failed")))
+			snapshot.Close();
+			User::Leave(err);
+		}
+		else
+		{
+			PRINT((_L("CVDecTestEngine::GetSnapshotL, Picture size %d"),picture.iRawData->Size()));
+			PRINT((_L("CVDecTestEngine::GetSnapshotL, Picture length %d"),picture.iRawData->Length()));
+			err = snapshot.Write(*(picture.iRawData),picture.iRawData->Size());
+			if ( err!= KErrNone )
+			{
+				PRINT((_L("CVDecTestEngine::GetSnapshotL, snapshot file write failed [%d]"), picture.iRawData->Size()))
+				snapshot.Close();
+				User::Leave(err);
+			}
+		}
+		PRINT((_L("CVDecTestEngine::GetSnapshotL, Picture size %d"),picture.iRawData->Size()));
+		snapshot.Close();
+
+	}
+	else
+	{
+		PRINT((_L("CVDecTestEngine::GetSnapshotL, Error getting snapshot [%d]"), result))
+	}
+	CleanupStack::PopAndDestroy( data );
+	iMemDelete++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::GetSnapShotL, mem del, ") ))
+	#endif
+	PRINT((_L("CVDecTestEngine::GetSnapshotL, Out")))
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::OpenFileL()
+* Purpose:    Open input File
+* Note:       DSA is used, output is display
+* Parameters: TFileName& aInFileName
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::OpenFileL(TFileName& aInFileName)
+{
+	PRINT((_L("CVDecTestEngine::OpenFileL, In")))
+	TInt err;
+	iInFileName.Copy(aInFileName);
+
+	if ( (err = iInFile.Open(iFs, aInFileName, EFileRead | EFileShareReadersOnly)) != KErrNone)
+	{
+		PRINT((_L("CVDecTestEngine::OpenFiles, Input File open Failed")));
+		User::Leave(err);
+	}
+	PRINT((_L("CVDecTestEngine::OpenFileL, Out")))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::OpenFileL()
+* Purpose:    Open input and output File
+* Note:       Memory buffer output is used
+* Parameters: TFileName& aOutFileName, TFileName& aInFileName
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::OpenFileL(TFileName& aOutFileName, TFileName& aInFileName)
+{
+	PRINT((_L("CVDecTestEngine::OpenFileL, In")))
+	TInt err = KErrNone;
+
+	iInFileName.Copy(aInFileName);
+	iOutFileName.Copy(aOutFileName);
+	err = iInFile.Open(iFs, aInFileName, EFileRead | EFileShareReadersOnly);
+
+	if ( err != KErrNone)
+	{
+		PRINT((_L("CVDecTestEngine::OpenFiles, Input File open Failed")));
+	}
+
+	else
+	{
+		iOutFileOpen = ETrue;
+		err = iOutFile.Replace(iFs, aOutFileName, EFileShareExclusive|EFileWrite);
+
+		if ( err!= KErrNone )
+		{
+			PRINT((_L("CVDecTestEngine::OpenFiles, Output File Replace Failed")));
+			iInFile.Close();
+		}
+	}
+
+
+	AssertTIntEqualL(KErrNone,err);
+	PRINT((_L("CVDecTestEngine::OpenFileL, Out")))
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::CloseFile()
+* Purpose:    Close File
+* Note:
+* Parameters:
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::CloseFile()
+{
+
+	iInFile.Close();
+	if ( iOutFileOpen )
+	{
+		iOutFile.Close();
+
+		PRINT((_L("CVDecTestEngine::CloseFile, Output file closed")))
+	}
+
+	PRINT((_L("CVDecTestEngine::CloseFile, File Closed")))
+
+	if( iCorruptMarker )
+	{
+		iFs.Delete( iOutFileName );
+	}
+
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::FrameJump()
+* Purpose:    Jump backward or forward a number of frames
+* Note:
+* Parameters: TInt aNumToJump
+* Return:     TInt
+* --------------------------------------------------------------------------*/
+TInt CVDecTestEngine::FrameJump(TInt aNumToJump )
+{
+	PRINT((_L("CVDecTestEngine::FrameJump, In")))
+	TInt err = KErrNone;
+
+	if ( iState == ERunning )
+	{
+		if ( iSynchronized )
+		{
+			iClock->Suspend();  //Stop Clock source
+		}
+
+
+		iDevvp->Pause();
+		iState = EPaused;
+		PRINT((_L("CVDecTestEngine::Pause(), Paused")))
+
+
+		iFrameJump = aNumToJump;
+
+
+		if( iFrameJump < 0 )
+		{
+			TInt startFrame = iSentBuffCount + iFrameJump;
+			if( startFrame < 0 )
+			{
+				PRINT((_L("CVDecTestEngine::FrameJump, bad argument")))
+				return KErrArgument;
+			}
+			else
+			{
+				iFrameJump = startFrame;
+			}
+		}
+		TInt beginningPos = 0;
+		iInFile.Seek(ESeekStart, beginningPos);
+		RArray<TInt> vFramesizes;
+		ListFrameSizeL( vFramesizes );
+
+		if( iFrameSizeList.Count() > iFrameJump )
+		{
+			TInt startPosition = 0;
+			for( TInt frameCounter = 0; frameCounter < iFrameSizeList.Count();
+			frameCounter++ )
+			{
+				startPosition += iFrameSizeList[ frameCounter ];
+			}
+			iInFile.Seek(ESeekStart,startPosition);
+		}
+		else
+		{
+			err = KErrGeneral;
+			PRINT((_L("CVDecTestEngine::FrameJump, iFrameSizeList.Count value:[%ld]"),iFrameSizeList.Count()))
+		}
+
+	}
+	else
+	{
+		err = KErrGeneral;
+	}
+
+	PRINT((_L("CVDecTestEngine::FrameJump, iFrameJump value:[%ld]"),iFrameJump))
+	PRINT((_L("CVDecTestEngine::FrameJump, Out")))
+
+	return err;
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetFrameMatch()
+* Purpose:    The test case fails if input and output frame number doesn't
+*             match
+* Note:
+* Parameters: TBool aMatch
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SetFrameMatch(TBool aMatch)
+{
+
+	iFrameMatch = aMatch;
+
+	PRINT((_L("CVDecTestEngine::SetFrameMatch, frame match is set")))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::Initialize()
+* Purpose:    Initilize Decoder/Postprocessor
+* Note:
+* Parameters: TBool aSynchronized
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+TInt CVDecTestEngine::Initialize()
+{
+	PRINT((_L("CVDecTestEngine::Initialize, In")))
+
+	iError = KErrNone;
+
+	// Do Initialization
+	iDevvp->Initialize();
+	PRINT((_L("CVDecTestEngine::Initialize, Initialize() returned")))
+	if ( (iState != EInitialized) && (iError == KErrNone ) )
+	{
+		iScheduler = new (ELeave) CActiveSchedulerWait;
+		iMemAlloc++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::Initialize, mem alloc, iScheduler") ))
+		#endif
+		iRunning = ETrue;
+		iScheduler->Start();
+	}
+	PRINT((_L("CVDecTestEngine::Initialize, out: error[%d]"),iError))
+	return iError;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::InitializeAndDelete()
+* Purpose:    Initilize Decoder/Postprocessor
+* Note:
+* Parameters: TBool aSynchronized
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+TInt CVDecTestEngine::InitializeAndDelete()
+{
+	PRINT((_L("CVDecTestEngine::InitializeAndDelete, In")))
+
+	iDeleteDecoderFromInitComp = ETrue;
+
+	TInt err = Initialize();
+
+	PRINT((_L("CVDecTestEngine::InitializeAndDelete, Out")))
+	return err;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::Start()
+* Purpose:    Start Decoding/Postprocessing
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+TInt CVDecTestEngine::Start(TBool aInputEnd)
+{
+
+	TInt err = KErrNone;
+	iDisableInputEnd = aInputEnd;
+	
+	PRINT((_L("CVDecTestEngine::Start, Devvideo play started")))
+
+	// Start DSA
+	if ( iDirectScreenAccess && !iDsaStarted )
+	{
+		TRAPD(err, StartDirectScreenAccessL());
+		if (err != KErrNone)
+		{
+			return err;
+		}
+
+	}
+
+    // Start DevVideoPlay
+    iDevvp->Start();
+    iState = ERunning;
+    
+	//Reset Clock at Stream Start
+	if ( iSynchronized )
+	{
+		TTimeIntervalMicroSeconds offset(KStartOffset);
+		Int64 time = offset.Int64();
+		iClock->Reset(offset);
+	}
+
+
+	// Start Data transfer
+	iDecTestAO->RequestData();
+
+	PRINT((_L("CVDecTestEngine::Start, Start data transfer - start () out")))
+	return err;
+
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::Stop()
+* Purpose:    Stop Decoding/Postprocessing
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+TInt CVDecTestEngine::Stop()
+{
+
+	PRINT((_L("CVDecTestEngine::Stop, In ")))
+
+	if ( (iState == ERunning ) || (iState == EPaused) )
+	{
+		//Stop Devvideoplay
+        iDevvp->Stop();
+		iState = EStopped;
+		PRINT((_L("CVDecTestEngine::Stop, Stopped ")))
+	}
+
+	//Stop DSA
+	if ( iDirectScreenAccess && iDsaStarted )
+	{
+		iDevvp->AbortDirectScreenAccess();
+		iDsaStarted = EFalse;
+		PRINT((_L("CVDecTestEngine::Stop, DSA is aborted ")))
+
+		PRINT((_L("CVDecTestEngine::VDecTestStartL, the number of Pictures sent: [%d]"),iSentBuffCount))
+
+	}
+	else if ( iInputEnd )
+	{
+		if ( iSentBuffCount != (iReturnedBuffCount + iPictureLoss) )
+		{
+			if( iFrameMatch )
+			{
+				PRINT((_L("CVDecTestEngine::VDecTestStopL, the number of Pictures sent and returned does not match: ")))
+				return KErrGeneral;
+			}
+			PRINT((_L("CVDecTestEngine::VDecTestStopL, the number of Pictures sent and returned does not match: ")))
+			PRINT((_L("The number of pictures, sent : [%d], returned:[%d] "),iSentBuffCount, iReturnedBuffCount ))
+		}
+	}
+
+	PRINT((_L("CVDecTestEngine::Stop, Out")))
+	return iError;
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::TearDown()
+* Purpose:    Cleanup resources
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::TearDown()
+{
+	PRINT((_L("CVDecTestEngine::TearDown(),In")))
+
+	if( iInstantFpsEnabled )
+	{
+		iFpsFile.Close();
+		PRINT((_L("CVDecTestEngine::CloseFile, FPS Output file closed")))
+	}
+
+	if ( iDsaStarted )
+	{
+		iDevvp->AbortDirectScreenAccess();
+		PRINT((_L("CVDecTestEngine::TearDown(), Dsa aborted")))
+	}
+
+	// Delete Devvideo play
+	if ( iDevvp )
+	{
+		delete iDevvp;
+		iMemDelete++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::TearDown, mem del, iDevvp") ))
+		#endif
+		iDevvp = NULL;
+		iState = EStateNone;
+		PRINT((_L("CVDecTestEngine::TearDown(),DevVideo deleted")))
+	}
+
+
+	//Postproc input buffer
+	if ( !iCIBuffMgmtOn && iRawInBuffer)
+	{
+		delete (TUint8*)iRawInBuffer->iData.iRawData->Ptr();
+		delete iRawInBuffer->iData.iRawData;
+		delete iRawInBuffer;
+		iMemDelete += 3;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::TearDown, mem del, iRawInBuffer & its 2 pointers") ))
+		#endif
+		iRawInBuffer = NULL;
+	}
+
+	if ( iScreenDevice )
+	{
+		delete iScreenDevice;
+		iScreenDevice = NULL;
+		iMemDelete++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::TearDown, mem del, iScreenDevice") ))
+		#endif
+		RFbsSession::Disconnect();
+	}
+
+	delete iDataChunk;
+	iMemDelete++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::TearDown, mem del, iDataChunk") ))
+	#endif
+
+	iDataChunk = NULL;
+
+	iFrameSizeList.Close();
+
+	iInstantFpsList.Close();
+
+	iFs.Close();
+
+	REComSession::FinalClose();
+	PRINT( (_L("CVDecTestEngine::TearDown(), mem allocated: %d "), iMemAlloc))
+	PRINT( (_L("CVDecTestEngine::TearDown(), mem deleted: %d "), iMemDelete))
+	PRINT((_L("CVDecTestEngine::TearDown(),Out")))
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::FillAndSendBufferL()
+* Purpose:    Fill data into input buffer and send to devvideoplay
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::FillAndSendBufferL()
+{
+	PRINT((_L("CVDecTestEngine::FillAndSendBufferL(), In")))
+	TInt err = KErrNone;
+
+	if ( iInputEnd)
+	{
+		iLastFrame = EFalse;
+		//iCodedInBuffer->iOptions =  TVideoInputBuffer::EDecodingTimestamp;
+		//iCodedInBuffer->iDecodingTimestamp = iSentBuffCount+2;
+		//ReadOneCodedPicture(iCodedInBuffer, 0); // Read compressed data of one picture from file
+		//iDevvp->WriteCodedDataL(iCodedInBuffer);  // Input Data Sent to Decoder
+		if (!iDisableInputEnd)
+		{
+			iDevvp->InputEnd();
+			PRINT((_L("CVDecTestEngine::FillAndSendBufferL, Input End")))
+		}
+		else
+		{
+			MdvpoStreamEnd();
+			PRINT((_L("CVDecTestEngine::FillAndSendBufferL, Stream end")))
+		}
+		return;
+	}
+
+	if ( iDecHWDevId )
+	{
+		PRINT((_L("CVDecTestEngine::FillAndSendBufferL(), iDecHWDevID found")))
+		if (  iFrameSizeList.Count() > 0 )
+		{
+			if (iFrameSizeList.Count() <= iSentBuffCount+1)
+			{
+				iInputEnd = ETrue;
+			}
+			TInt size = iFrameSizeList[iSentBuffCount];
+			err = ReadOneCodedPicture(iCodedInBuffer, size); // Read compressed data of one picture from file
+
+			PRINT((_L("CVDecTestEngine::FillAndSendBufferL(), 1 picture read")))
+
+			if( iFrameDropMarker )
+			{
+				if( iFrameDropCounter >= iFrameDropInterval )
+				{
+					TInt dropNum = 0;
+					for( ; ;)
+					{
+						TInt size = iFrameSizeList[iSentBuffCount++];
+						err = ReadOneCodedPicture(iCodedInBuffer, size); // Read compressed data of one picture from file
+						dropNum++;
+						iFrameDropNumCounter++;
+						if( iFrameDropNumCounter >= iFrameDropNum )
+						{
+							iFrameDropCounter = 0;
+							iFrameDropNumCounter = 0;
+							break;
+						}
+					}
+					PRINT((_L("CVDecTestEngine::FillAndSendBufferL(), [%d] frame(s) dropped"), dropNum))
+				}
+			}
+
+
+		}
+		else
+		{
+			err = ReadOneCodedPicture(iCodedInBuffer); // Read compressed data of one picture from file
+			PRINT((_L("CVDecTestEngine::FillAndSendBufferL(), one picture read, err: [%d]"), err))
+
+			if( iFrameDropMarker )
+			{
+				if( iFrameDropCounter >= iFrameDropInterval )
+				{
+					TInt dropNum  = 0;
+					for( ; ;)
+					{
+						err = ReadOneCodedPicture(iCodedInBuffer);
+						dropNum++;
+						iFrameDropNumCounter++;
+						if( iFrameDropNumCounter >= iFrameDropNum )
+						{
+							iFrameDropCounter = 0;
+							iFrameDropNumCounter = 0;
+							break;
+						}
+					}
+					PRINT((_L("CVDecTestEngine::FillAndSendBufferL(), [%d] frame(s) dropped"), dropNum))
+				}
+			}
+
+
+		}
+	}
+	else  // Postproc input case
+	{
+		PRINT((_L("CVDecTestEngine::FillAndSendBufferL(), iDecHWDevID not found")))
+		err = ReadRawPicture();	// Read raw data for one picture
+		if( iFrameDropMarker )
+		{
+			if( iFrameDropCounter >= iFrameDropInterval )
+			{
+				TInt dropNum = 0;
+				for( ; ;)
+				{
+					err = ReadRawPicture();	// Read raw data for one picture
+					dropNum++;
+					iFrameDropNumCounter++;
+					if( iFrameDropNumCounter >= iFrameDropNum )
+					{
+						iFrameDropCounter = 0;
+						iFrameDropNumCounter = 0;
+						break;
+					}
+				}
+				PRINT((_L("CVDecTestEngine::FillAndSendBufferL(), [%d] raw picture(s) dropped"), dropNum))
+			}
+		}
+	}
+	if(err == 0){
+		PRINT((_L("CVDecTestEngine::FillAndSendBufferL, Empty buffer read skipping")))
+		PRINT((_L("CVDecTestEngine::FillAndSendBufferL, Out")))
+	}
+	else if ( err > 0 )
+	{
+		// Corrupt the input if user requires
+		/*
+		if( iCorruptMarker )
+		{
+
+		CorruptEngineL();
+
+		}
+		*/
+		// End of the corrupting operation
+
+		if ( iDecHWDevId )
+		{
+
+			iCodedInBuffer->iOptions =  TVideoInputBuffer::EDecodingTimestamp;
+
+			if ( iPostProcId )
+			{
+				iCodedInBuffer->iOptions |= TVideoInputBuffer::EPresentationTimestamp;
+			}
+
+
+
+			if ( iSynchronized ) // Clock source is set >> real-time synchronization
+			{
+				iCodedInBuffer->iDecodingTimestamp = iTimeStamp;
+				if ( iPostProcId )
+				{
+					iCodedInBuffer->iPresentationTimestamp = iTimeStamp;
+				}
+
+
+				PRINT((_L("CVDecTestEngine::FillAndSendBufferL, iTimestamp added:[%ld]"),iTimeStamp))
+				iTimeStamp += iFrameTimeInterval;
+			}
+			else // Clock source is not set
+			{
+				iCodedInBuffer->iDecodingTimestamp = iSentBuffCount;
+				if ( iPostProcId )
+				{
+					iCodedInBuffer->iPresentationTimestamp = iSentBuffCount;
+				}
+
+			}
+
+			TInt substreamID = 0;
+			//      	    iCodedInBuffer->iUser = (TAny*)(&substreamID);
+			if(iCodedInBuffer->iUser != NULL ){
+				*((TInt*)iCodedInBuffer->iUser) = substreamID;
+			}
+			#if 0
+			TUint32 msgSize = iCodedInBuffer->iData.Length();
+			TUint8* tmpPtr = const_cast<TUint8 *>(iCodedInBuffer->iData.Ptr());
+			while(msgSize > 0)
+			{
+				if(msgSize >= 16)
+				{
+					PRINT((_L("TX:%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x"),tmpPtr[0],tmpPtr[1],tmpPtr[2],tmpPtr[3],tmpPtr[4],tmpPtr[5],tmpPtr[6],tmpPtr[7],tmpPtr[8],tmpPtr[9],tmpPtr[10],tmpPtr[11],tmpPtr[12],tmpPtr[13],tmpPtr[14],tmpPtr[15]))
+					msgSize -= 16;
+					tmpPtr += 16;
+				}
+				else if(msgSize >= 4)
+				{
+					PRINT((_L("TX:%02x,%02x,%02x,%02x"),tmpPtr[0],tmpPtr[1],tmpPtr[2],tmpPtr[3]))
+					msgSize -= 4;
+					tmpPtr += 4;
+				}
+				else
+				{
+					for(TUint i = 0; i < msgSize; i++)
+					{
+						PRINT((_L("TX: 0x%02x"),*tmpPtr++))
+					}
+					msgSize = 0;
+				}
+			}
+			#endif
+
+			iDevvp->WriteCodedDataL(iCodedInBuffer);  // Input Data Sent to Decoder
+		    iCodedInBuffer = NULL;
+		}
+		else
+		{
+
+			iRawInBuffer->iData.iDataSize.SetSize(iPictureSize.iWidth,iPictureSize.iHeight);
+
+			iRawInBuffer->iOptions |= (TVideoPicture::ETimestamp);
+
+			if ( iSynchronized )
+			{
+				//TTimeIntervalMicroSeconds tsValue(iTimeStamp);
+				iRawInBuffer->iTimestamp = iTimeStamp;
+				iTimeStamp += iFrameTimeInterval;
+				PRINT((_L("CVDecTestEngine::FillAndSendBufferL, iTimestamp added:[%ld]"),iTimeStamp))
+			}
+			else
+			{
+				iRawInBuffer->iTimestamp = iSentBuffCount;
+			}
+
+
+			PRINT((_L("CVDecTestEngine::FillAndSendBufferL, data size: w[%d] ,h[%d]"),iRawInBuffer->iData.iDataSize.iWidth, iRawInBuffer->iData.iDataSize.iHeight))
+			iDevvp->WritePictureL(iRawInBuffer);  // Input Data Sent to PostProcessor
+
+
+			if (iCIBuffMgmtOn)
+			{
+				iRawInBuffer = NULL;
+			}
+
+		}
+
+		iFrameDropCounter++;
+		iSentBuffCount++;
+		PRINT((_L("CVDecTestEngine::FillAndSendBufferL, Sent Frame: [%d] "),iSentBuffCount))
+
+	}
+	else  //Error case
+	{
+		iError = err;
+		PRINT((_L("CVDecTestEngine::FillAndSendBufferL, Error in reading data: [%d] "),iError))
+		iInputEnd = ETrue;
+		iDevvp->InputEnd();
+		return;
+	}
+
+	// if ( iFrameMeasurement )
+	//    return;
+
+	if (iInputEnd)
+	{
+		iLastFrame = ETrue;
+		PRINT((_L("CVDecTestEngine::FillAndSendBufferL, Input end: sending last frame 0 ")))
+		iDecTestAO->RequestData(); // Next Input Data for Decoder / PostProc
+		return;
+	}
+
+	if ( iState == ERunning )
+	{
+		if ( iDecHWDevId )
+		{
+			if (iSetFastClient)
+			{
+				PRINT((_L("CVDecTestEngine::FillAndSendBufferL, Fast client request")))
+				iDecTestAO->RequestData(); // Next Input Data for Decoder / PostProc
+			}
+			else
+			{
+				if ( iDevvp->NumFreeBuffers() )
+				{
+					iDecTestAO->RequestData(); // Next Input Data for Decoder / PostProc
+				}
+				else
+				{
+					PRINT((_L("CVDecTestEngine::FillAndSendBufferL, No input buffer available now")))
+					iNoBuffAvailable++;
+				}
+			}
+		}
+	}
+
+
+	PRINT((_L("CVDecTestEngine::FillAndSendBufferL, Out")))
+
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetInputBufferL()
+* Purpose:    Ritreave decoder input buffer
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::GetInputBufferL()
+{
+	TBool buffer = EFalse;
+
+	if ( iState == ERunning )
+	{
+		if ( iDecHWDevId )
+		{
+			iCodedInBuffer = iDevvp->GetBufferL(iInBuffSize);
+			if ( iCodedInBuffer )
+			{
+				buffer = ETrue;
+			}
+
+		}
+		else if ( iCIBuffMgmtOn )
+		{
+			PRINT((_L("CVDecTestEngine::GetInputBufferL(), Getting Input buffer(CI)...")))
+			#ifdef __CI_HEADERS__
+			TVideoPicture* inputBuff = iCIBuffMgmt->MmvbmGetBufferL(iPictureSize);
+			if ( inputBuff )
+			{
+				buffer = ETrue;
+				iRawInBuffer = inputBuff;
+			}
+			#endif
+		}
+	}
+
+	if ( buffer )
+	{
+		PRINT((_L("CVDecTestEngine::GetInputBufferL(), Got Input buffer")))
+		FillAndSendBufferL();
+	}
+	else
+	{
+		PRINT((_L("CVDecTestEngine::GetInputBufferL(), Couldn't get input buffer ")))
+	}
+
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::ReadOneCodedPicture()
+* Purpose:    Read one coded picture into decoder input buffer
+* Note:
+* Parameters: TVideoInputBuffer* aCodedInBuffer
+* Return:     TInt
+* --------------------------------------------------------------------------*/
+TInt CVDecTestEngine::ReadOneCodedPicture(TVideoInputBuffer* aCodedInBuffer)
+{
+	PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, In")))
+	TInt buffLength = iInBuffSize;
+	TBool found = EFalse;
+	TInt pos =0;
+	TUint8* testData =NULL;
+	TInt err = KErrNone;
+
+	//Reads VC1 frame
+	if ( iCodecType == EVC1 )
+	{
+		PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, VC1")))
+		return LoadNextFrameL(aCodedInBuffer);
+	}
+
+	if ( aCodedInBuffer->iData.MaxLength() < buffLength )
+	{
+		err = KErrOverflow;
+		PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, Buffer is small, [%d]Byte"),aCodedInBuffer->iData.MaxLength()))
+
+		return err;
+	}
+
+	aCodedInBuffer->iData.SetLength(0);
+
+	//Buffer is not full,  reset size of buffer
+	if ( aCodedInBuffer->iData.Length() < buffLength)
+	{
+		buffLength = aCodedInBuffer->iData.Length();
+	}
+
+	testData = const_cast<TUint8*>(aCodedInBuffer->iData.Ptr());
+
+	TUint8* iReadDataChunkTemp = iReadDataChunk;
+
+	TUint8 byte = 0;
+
+	//Check the length of one coded picture
+	if (iCodecType == EH263)
+	{
+		TBool firstStartCode = EFalse;
+		while (!iInputEnd && !found)
+		{
+			TInt zeroCounter = 0;
+			while ((byte = ReadByteFromFile()) == 0x00 && !iInputEnd)
+			{
+				zeroCounter++;
+				pos++;
+			}
+			pos++;
+			if ((zeroCounter >= 2) && ((byte & 0xFC) == 0x80))
+			{
+				if (!firstStartCode)
+				{
+					firstStartCode = ETrue;
+				}
+				else
+				{
+					PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, end of h263 picture found")))
+					found = ETrue;
+				}
+			}
+		}
+		if (iInputEnd)
+		{
+			PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, inputEndFound, %d"), pos))
+			pos--;
+		}
+		else
+		{
+			pos -= KScLength;
+		}
+		iReadDataChunk = iReadDataChunkTemp;
+		ReadDataToBuffer(aCodedInBuffer, pos);
+
+	}
+	else if ( iCodecType == EMPEG4 )
+	{
+		TBool firstStartCode = EFalse;
+		while (!iInputEnd && !found)
+		{
+			TInt zeroCounter = 0;
+			while ((byte = ReadByteFromFile()) == 0x00 && !iInputEnd)
+			{
+				zeroCounter++;
+				pos++;
+			}
+			pos++;
+			if ((zeroCounter >= 2) && (byte == 0x01))
+			{
+				byte = ReadByteFromFile();
+
+				pos++;
+				if (byte == 0xB6 && !firstStartCode)
+				{
+					firstStartCode = ETrue;
+				}
+				else if (byte != 0xB1 && firstStartCode)
+				{
+					PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, end of mpeg-4 picture found [%d]"), pos-4))
+					found = ETrue;
+				}
+			}
+		}
+		if (iInputEnd)
+		{
+			PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, inputEndFound, %d"), pos))
+			pos--;
+		}
+		else
+		{
+			pos -= 4;
+		}
+		iReadDataChunk = iReadDataChunkTemp;
+		ReadDataToBuffer(aCodedInBuffer, pos);
+	}
+	else if ( iCodecType == EVP6 )
+	{
+		TUint dataCount = 0;
+		if (iSentBuffCount == 0)
+		{
+			PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, First VP6 frame")))
+			//Read signature and version
+			for (TUint i=0; i<5; i++)
+			{
+				byte = ReadByteFromFile();
+			}
+			TUint32 offset = (TUint32)(ReadByteFromFile())<< 24 | (TUint32)(ReadByteFromFile())<< 16 |
+			(TUint32)(ReadByteFromFile())<< 8 | (TUint32)(ReadByteFromFile());
+
+			PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, offset %d"), offset))
+			//Jump data after offset
+			for (TUint i=0; i< offset-9; i++ )
+			{
+				byte = ReadByteFromFile();
+			}
+			dataCount += 9+offset-9;
+			//Read previous tag size
+			for (TUint i=0; i< 4; i++ )
+			{
+				byte = ReadByteFromFile();
+			}
+
+		}
+		if (!iInputEnd)
+		{
+
+			TUint8 tagType = ReadByteFromFile();
+
+			if (!iInputEnd)
+			{
+
+				PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, tagType %d"), tagType))
+				dataCount += 5;
+				while (tagType != 9 && !iInputEnd)
+				{
+					TUint32 a = (TUint32)(ReadByteFromFile());
+					TUint32 b = (TUint32)(ReadByteFromFile());
+					TUint32 c = (TUint32)(ReadByteFromFile());
+					TUint32 dataSize =  (a << 16) | (b << 8) | (c);
+					PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, dataSize %d"), dataSize))
+					ReadDataToBuffer(aCodedInBuffer, dataSize+7, ETrue);
+					//Previous offset
+					for (TUint i=0; i< 4; i++ )
+					{
+						byte = ReadByteFromFile();
+					}
+					tagType = ReadByteFromFile();
+					PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, tagType %d"), tagType))
+					dataCount += dataSize+15;
+				}
+				if(!iInputEnd){
+				TUint32 a = (TUint32)(ReadByteFromFile());
+				TUint32 b = (TUint32)(ReadByteFromFile());
+				TUint32 c = (TUint32)(ReadByteFromFile());
+				TUint32 dataSize =  (a << 16) | (b << 8) | (c);
+				//Discard timestamp and streamID
+				for (TUint i=0; i< 7; i++ )
+				{
+					byte = ReadByteFromFile();
+				}
+				//Frametype and codec ID
+				byte = ReadByteFromFile();
+				//Read VP6 frame to buffer
+				ReadDataToBuffer(aCodedInBuffer, dataSize-1);
+				PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, VP6 frame size %d"), dataSize))
+				dataCount += dataSize+10;
+				//Read previous tag size
+				for (TUint i=0; i< 4; i++ )
+				{
+					byte = ReadByteFromFile();
+				}
+				}
+				else{
+				PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, unknown tags at the end of vp6 stream, discard")))
+				dataCount = 0;
+				}
+			}
+		}
+		if (iInputEnd)
+		{
+			PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, inputEndFound")))
+			//aCodedInBuffer.iData->Zero();
+		}
+		return dataCount;
+	}
+	else if ( iCodecType == EFLV )
+	{
+		// FLV fileformat has 3 first bytes 'FLV'. Detect if file has container.
+		PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, find out bitstream type %d == %d."),iFLVFileType,EFLVNotSet));
+
+
+		if(iFLVFileType == EFLVNotSet)
+		{
+			PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, find out bitstream type.")));
+
+			byte = ReadByteFromFile();
+			PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, %02x"),byte));
+			TUint8 byte2 = ReadByteFromFile();
+			PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, %02x"),byte2));
+			TUint8 byte3 = ReadByteFromFile();
+			PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, %02x"),byte3));
+			if ( (byte == 0x46) && (byte2 == 0x4C) && (byte3 == 0x56) )
+			{
+				PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, file with container detected.")));
+				iFLVFileType = EFLVContainer;
+			}
+			else
+			{
+				PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, file raw bitstream detected.")));
+				iFLVFileType = EFLVRaw;
+			}
+			iReadDataChunk = iReadDataChunkTemp;
+		}
+
+		if (iFLVFileType == EFLVContainer)
+		{
+			// FLV frames have 00 00 x2 00 00 8x startcode, parse it.
+			TBool firstStartCode = EFalse;
+			TBool frameHeaderEnd = EFalse;
+			TBool frameHeader = EFalse;
+			while (!iInputEnd && !found)
+			{
+				TInt zeroCounter = 0;
+				while ((byte = ReadByteFromFile()) == 0x00 && !iInputEnd)
+				{
+					zeroCounter++;
+					pos++;
+				}
+				pos++;
+				if ((zeroCounter >= 2) && ((byte & 0xF8) == 0x80) && frameHeaderEnd)
+				{
+					// FLV frames have some bytes in the beginning which needs to be removed
+					if (!frameHeader)
+					{
+						iReadDataChunk = iReadDataChunkTemp;
+						ReadDataToBuffer(aCodedInBuffer, pos-3);
+
+						PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, [%d] bytes of flash video frame header removed."), (iReadDataChunk - iReadDataChunkTemp)));
+						iReadDataChunkTemp = iReadDataChunk;
+						zeroCounter = 0;
+						pos = 0;
+						frameHeader = ETrue;
+					}
+					else if (!firstStartCode)
+					{
+						firstStartCode = ETrue;
+						PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, start of flash video picture found [%d]."), pos-3))
+
+					}
+					else
+					{
+						PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, end of flash video picture found [%d]"), pos-3))
+						found = ETrue;
+					}
+				}
+				else if ((zeroCounter >= 2) && ((byte & 0x03) == 0x02))
+				{
+					PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, found frame end code at [%d]"), pos-3))
+
+					frameHeaderEnd = ETrue;
+				}
+				else
+				{
+					frameHeaderEnd = EFalse;
+				}
+			}
+			if (iInputEnd)
+			{
+				PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, inputEndFound, %d"), pos))
+				pos--;
+
+				// FLV file has four bytes which needs to be removed in the end
+				pos -= 4;
+			}
+			else
+			{
+				// Go back to beginning of start code (3 bytes)
+				pos -= 3;
+				// Go back to beginning of FLV file frame header(16 bytes)
+				pos -= 16;
+			}
+			iReadDataChunk = iReadDataChunkTemp;
+			ReadDataToBuffer(aCodedInBuffer, pos);
+		}
+		// Raw flash bitstream file
+		else
+		{
+			TBool firstStartCode = EFalse;
+			while (!iInputEnd && !found)
+			{
+				TInt zeroCounter = 0;
+				while ((byte = ReadByteFromFile()) == 0x00 && !iInputEnd)
+				{
+					zeroCounter++;
+					pos++;
+				}
+				pos++;
+				if ((zeroCounter >= 2) && ((byte & 0xF8) == 0x80))
+				{
+					if (!firstStartCode)
+					{
+						firstStartCode = ETrue;
+					}
+					else
+					{
+						PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, end of flash video picture found [%d]"), pos-3))
+
+						found = ETrue;
+					}
+				}
+			}
+			if (iInputEnd)
+			{
+				PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, inputEndFound, %d"), pos))
+				pos--;
+			}
+			else
+			{
+				pos -= 3;
+			}
+			iReadDataChunk = iReadDataChunkTemp;
+			ReadDataToBuffer(aCodedInBuffer, pos);
+		}
+	}
+	else if ( iCodecType == EAVC )
+	{
+		if (iSetAUFormat)
+		{
+			PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, AU format case")))
+			TBool auFound = EFalse;
+			TBool firstMB = EFalse;
+			TUint32 nalUnits = 0;
+			TUint32 totalData = 0;
+			iNalOffsetArray = new TUint32[KMaxNumberOfNals];
+			iNalLengthArray = new TUint32[KMaxNumberOfNals];
+			iMemAlloc += 2;
+			TInt previousNal = 0;
+			while (!auFound)
+			{
+				TBool firstStartCode = EFalse;
+				// Check if start code of Visual Object Sequence
+				pos = 0;
+				TInt nalStart = 0;
+				while (!iInputEnd && !found && !auFound)
+				{
+					TInt zeroCounter = 0;
+					while ((byte = ReadByteFromFile()) == 0x00 && !iInputEnd)
+					{
+						zeroCounter++;
+						pos++;
+					}
+					pos++;
+					if ((zeroCounter >= 2) && (byte  == 0x01))
+					{
+						if (!firstStartCode)
+						{
+							firstStartCode = ETrue;
+							nalStart = pos - KScLength;
+							iNalOffsetArray[nalUnits] = pos+totalData;
+
+							byte = ReadByteFromFile();
+							pos++;
+
+							if (((byte & 0x1F) == 7) && ( previousNal == 5 || previousNal == 1 ) )
+							{
+								auFound = ETrue;
+								pos -= 4;
+								GoBackInFile(4);
+							}
+							else if (((byte & 0x1F) == 5) || ((byte & 0x1F) == 1))
+							{
+								byte = ReadByteFromFile();
+								pos++;
+								if (byte >= 128)
+								{
+									if (firstMB)
+									{
+										//NAL that belongs to the next AU
+										PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, Next AU Nal Found")))
+										auFound = ETrue;
+										pos -= 5;
+										GoBackInFile(5);
+									}
+									else
+									{
+										PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, First MB")))
+										firstMB = ETrue;
+									}
+								}
+							}
+							previousNal = byte & 0x1F;
+
+						}
+						else
+						{
+							PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, NAL start: [%d]"), nalStart ))
+							PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, end of h264 NAL found at [%d]"), pos ))
+
+							found = ETrue;
+							pos -= KScLength;
+							GoBackInFile(KScLength); //go back before next start code
+						}
+					}
+				}
+
+				if (!found && iInputEnd)
+				{
+					auFound = ETrue;
+					if ( nalUnits == 0 )
+					{
+						totalData = pos;
+						PRINT((_L("CVDecTestEngine::ReadOneCodedPicture: pos: %d"),pos))
+						iNalLengthArray[nalUnits] = pos;
+						nalUnits++;
+					}
+				}
+				found = EFalse;
+				if (!auFound)
+				{
+					PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, Searching next NAL")))
+					totalData += pos;
+					iNalLengthArray[nalUnits] = pos - 3 - nalStart;
+					nalUnits++;
+				}
+				else
+				{
+					PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, AU Found")))
+					iReadDataChunk = iReadDataChunkTemp;
+					ReadDataToBuffer(aCodedInBuffer, totalData);
+					pos = totalData; //Set amount of data read from a file
+					//Optional filler data to align the header at a 32-bit boundary
+					while ((totalData % 4) != 0)
+					{
+						testData[totalData] = 0;
+						totalData++;
+					}
+					PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, Casting headerpointer")))
+					TUint8* headerData = reinterpret_cast<TUint8*>(const_cast<TUint8*>(aCodedInBuffer->iData.Ptr()));
+					TUint headerStart = totalData; //changing 8bit index to 32bit
+					for (TUint i = 0; i < nalUnits; i++)
+					{
+						*((TUint32*)&headerData[headerStart]) = static_cast<TUint32>(iNalOffsetArray[i]);
+						PRINT((_L("CVDecTestEngine::ReadOneCodedPicture: offset [%d] | [%d] "), iNalOffsetArray[i], headerData[headerStart]))
+						*((TUint32*)&headerData[headerStart+4]) = static_cast<TUint32>(iNalLengthArray[i]);
+						PRINT((_L("CVDecTestEngine::ReadOneCodedPicture: size [%d] | [%d][%d][%d][%d] "), iNalLengthArray[i], headerData[headerStart+4],headerData[headerStart+5],headerData[headerStart+6],headerData[headerStart+7]))
+						headerStart += 8;
+					}
+					*((TUint32*)&headerData[headerStart]) = static_cast<TUint32>(nalUnits);
+					headerStart += 4;
+					PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, deleting arrays")))
+					delete iNalLengthArray;
+					iNalLengthArray = NULL;
+					iMemDelete++;
+					delete iNalOffsetArray;
+					iNalOffsetArray = NULL;
+					iMemDelete++;
+					#ifdef __MEM_CHECK_
+					PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, mem del, iNalLengthArray") ))
+					PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, mem del, iNalOffsetArray") ))
+					#endif
+
+					/*for (TUint i = 0; i < 100; i++)
+					{
+					PRINT((_L("test data End [%d]"), testData[pos-100+i]))
+					} */
+
+					//Set Size to length of the header + one picure, and reset position to be read next time
+					aCodedInBuffer->iData.SetLength(headerStart);
+					PRINT((_L("CVDecTestEngine::ReadOneCodedPicture,length of frame: [%d] "),pos))
+					//TInt tempLength = pos - buffLength;
+					//err = iInFile.Seek(ESeekCurrent,tempLength);
+					return pos;
+				}
+			}
+		}
+		else
+		{
+			PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, Bytestream case")))
+			TBool auFound = EFalse;
+			TBool firstMB = EFalse;
+			TUint32 totalData = 0;
+			TInt previousNal = 0;
+			while (!auFound)
+			{
+				// Check if start code of Visual Object Sequence
+				TBool firstStartCode = EFalse;
+				pos = 0;
+				TInt nalStart = 0;
+				while (!iInputEnd && !found)
+				{
+					TInt zeroCounter = 0;
+					while ((byte = ReadByteFromFile()) == 0x00 && !iInputEnd)
+					{
+						zeroCounter++;
+						pos++;
+					}
+					pos++;
+					if ((zeroCounter >= 2) && (byte  == 0x01))
+					{
+						if (!firstStartCode)
+						{
+							firstStartCode = ETrue;
+							nalStart = pos-KScLength;
+							byte = ReadByteFromFile();
+							pos++;
+
+							if (((byte & 0x1F) == 7) && ( previousNal == 5 || previousNal == 1 ) )
+							{
+								auFound = ETrue;
+								pos -= 4;
+								GoBackInFile(4);
+							}
+							else if (((byte & 0x1F) == 5) || ((byte & 0x1F) == 1))
+							{
+								byte = ReadByteFromFile();
+								pos++;
+								if (byte >= 128)
+								{
+									if (firstMB)
+									{
+										//NAL that belongs to the next AU
+										PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, Next AU Nal Found")))
+										auFound = ETrue;
+										pos -= 5;
+										GoBackInFile(5);
+									}
+									else
+									{
+										PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, First MB")))
+										firstMB = ETrue;
+									}
+								}
+							}
+							previousNal = byte & 0x1F;
+
+						}
+						else
+						{
+							PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, NAL start: [%d]"), nalStart ))
+							PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, end of h264 NAL found at [%d]"), pos ))
+							found = ETrue;
+							pos -= KScLength;
+							GoBackInFile(KScLength); //go back before next start code
+						}
+					}
+				}
+
+				if (!found && iInputEnd)
+				{
+					totalData += pos;
+					auFound = ETrue;
+				}
+				found = EFalse;
+				if (!auFound)
+				{
+					PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, Searching next NAL")))
+					totalData += pos;
+				}
+				else
+				{
+					PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, AU Found")))
+					iReadDataChunk = iReadDataChunkTemp;
+					ReadDataToBuffer(aCodedInBuffer, totalData);
+					pos = totalData; //Set amount of data read from a file
+					PRINT((_L("CVDecTestEngine::ReadOneCodedPicture,length of frame: [%d] "),pos));
+					return pos;
+				}
+			}
+
+		}
+	}
+	else
+	{
+		err = KErrNotSupported;
+		PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, codec type unknown")))
+	}
+
+	if (err == KErrNone)  // wk45 for listing frame size
+	err = pos;
+
+	PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, Out")))
+	return err;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::ReadOneCodedPicture()
+* Purpose:    Read one coded picture into decoder input buffer, frame size is known
+* Note:
+* Parameters: TVideoInputBuffer* aCodedInBuffer TInt Size
+* Return:     TInt
+* --------------------------------------------------------------------------*/
+
+TInt CVDecTestEngine::ReadOneCodedPicture(TVideoInputBuffer* aCodedInBuffer, TInt aSize)
+{
+	TInt err = KErrNone;
+
+	err = iInFile.Read(aCodedInBuffer->iData, aSize);
+	PRINT((_L("CVDecTestEngine::ReadOneCodedPicture, Frame Size"),aSize ))
+
+	if (err == KErrNone)
+	{
+		err = aSize;
+	}
+
+	if (aSize == 0)
+	{
+		iInputEnd = ETrue;
+	}
+
+	return err;
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::ReadRawPicture()
+* Purpose:    Read one raw picture into postprocessor input buffer
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+TInt CVDecTestEngine::ReadRawPicture()
+{
+	TInt err = KErrNone;
+
+	PRINT((_L("CVDecTestEngine::ReadRawPicture, Maximum data length in video picture: [%d]"),iRawInBuffer->iData.iRawData->MaxLength()))
+	iRawInBuffer->iData.iRawData->Set((TUint8*)iRawInBuffer->iData.iRawData->Ptr(), 0, iInBuffSize);
+
+
+	err = iInFile.Read(*(iRawInBuffer->iData.iRawData),iInBuffSize);
+	PRINT((_L("CVDecTestEngine::ReadRawPicture, data length:[%d]"),iRawInBuffer->iData.iRawData->Length()))
+
+	if ( !err )
+	{
+		if ( (iRawInBuffer->iData.iRawData->Length()) == 0)
+		{
+			iInputEnd = ETrue;
+		}
+	}
+
+	PRINT((_L("CVDecTestEngine::ReadRawPicture, Out error:[%d]"),err))
+	return err;
+
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetReturnedPictureL
+* Purpose:    Retrieve output picuture
+* Note:       Memory buffer output is used
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::GetReturnedPictureL()
+{
+	PRINT((_L("CVDecTestEngine::GetReturnedPictureL, In")))
+	iOutBuffer = iDevvp->NextPictureL();
+
+	if ( iOutBuffer )
+	{
+		PRINT((_L("CVDecTestEngine::GetReturnedPictureL, data Size in Byte:[%d]"),iOutBuffer->iData.iRawData->Size() ))
+		iReturnedBuffCount++;
+		SaveAndReturnPicture();
+	}
+	PRINT((_L("CVDecTestEngine::GetReturnedPictureL, Out")))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SaveAndReturnPicture()
+* Purpose:    Store output data into a file
+* Note:       Memory buffer output is used
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::SaveAndReturnPicture()
+{
+	PRINT((_L("CVDecTestEngine::SaveAndReturnPicture, In")))
+	TInt err = KErrNone;
+
+	if (iFrameMeasurement && iReturnedBuffCount == 1)
+	{
+		iClock->Reset(); // Reset Timer
+		PRINT((_L("CVDecTestEngine::SaveAndReturnPicture, clock reset")))
+	}
+	else
+	{
+		if ( iFrameMeasurement )
+		{
+			PRINT((_L("CVDecTestEngine::SaveAndReturnPicture, Frame measurement is on, %d. frame"), iReturnedBuffCount))
+			TTimeIntervalMicroSeconds time;
+			time = iClock->Time();
+			PRINT((_L("CVDecTestEngine::SaveAndReturnPicture, time measured: [%d%d]"), I64HIGH(time.Int64()), I64LOW(time.Int64())))
+			iFrameTime = (TReal)time.Int64()/1000000.0;
+			if(iInstantFpsEnabled)
+			{
+				iInstantFpsList.Append(time);
+			}
+
+		}
+		else
+		{
+			err = iOutFile.Write(*(iOutBuffer->iData.iRawData),iOutBuffer->iData.iRawData->Size() );
+			PRINT((_L("CVDecTestEngine::SaveAndReturnPicture,  Output data stored: count[%d]"),iReturnedBuffCount))
+
+
+		}
+	}
+
+	if (iSetSlowClient)
+	{
+		if (iOutBufferTemp)
+		{
+			PRINT((_L("CVDecTestEngine::SaveAndReturnPicture, returning previous buffer (slow client)")))
+
+			iDevvp->ReturnPicture(iOutBufferTemp);
+		}
+		iOutBufferTemp = iOutBuffer;
+	}
+	else
+	{
+		PRINT((_L("CVDecTestEngine::SaveAndReturnPicture, returning buffer")))
+		iDevvp->ReturnPicture(iOutBuffer);
+	}
+
+
+	iOutBuffer = NULL;
+
+	if ( err != KErrNone )
+	{
+		//iInputEnd = ETrue; Fix for MRII-7HW9R3
+		iError = err;
+		PRINT((_L("CVDecTestEngine::SaveAndReturnPicture, Error in store data: [%d]"),iError))
+	}
+
+	PRINT((_L("CVDecTestEngine::SaveAndReturnPicture, Out")))
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::Pause()
+* Purpose:    Pause decoding/postprocessing
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+TInt CVDecTestEngine::Pause()
+{
+	TInt err = KErrNone;
+
+	if ( iState == ERunning )
+	{
+		if ( iSynchronized )
+		{
+			iClock->Suspend();  //Stop Clock source
+		}
+		iDevvp->Pause();
+		iState = EPaused;
+		PRINT((_L("CVDecTestEngine::Pause(), Paused")))
+	}
+	else
+	{
+		err = KErrGeneral;
+	}
+	return err;
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::Resume()
+* Purpose:    Resume decoding/postprocessing
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+TInt CVDecTestEngine::Resume()
+{
+
+	TInt err = KErrNone;
+
+	if ( iState == EPaused )
+	{
+		if ( iSynchronized )
+		{
+			iClock->Resume();  //Restart Clock source
+		}
+		iDevvp->Resume();
+		iState = ERunning;
+		PRINT((_L("CVDecTestEngine::Resume(), Resumed")))
+
+		/*if ( iDecHWDevId )
+		{
+		if ( iDevvp->NumFreeBuffers() )
+		{
+		iDecTestAO->RequestData();   //Restart data transfer
+		}
+		else
+		{
+		PRINT((_L("CVDecTestEngine::Resume, No input buffer available now")));
+		}
+		}*/
+		iDecTestAO->RequestData();
+	}
+	else
+	{
+		err = KErrGeneral;
+	}
+
+	return err;
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::FreezePicture()
+* Purpose:    Freeze decoding/postprocessing
+* Note:
+* Parameters: TTimeIntervalMicroSeconds aTimeStamp
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::FreezePicture(TTimeIntervalMicroSeconds aTimeStamp)
+{
+	iDevvp->FreezePicture(aTimeStamp);
+	PRINT((_L("CVDecTestEngine::Freeze(), Freezed: timestamp[%ld]"), aTimeStamp.Int64()))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::ReleaseFreeze()
+* Purpose:    Release Freeze
+* Note:
+* Parameters: TTimeIntervalMicroSeconds aTimeStamp
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::ReleaseFreeze(TTimeIntervalMicroSeconds aTimeStamp)
+{
+	iDevvp->ReleaseFreeze(aTimeStamp);
+	PRINT((_L("CVDecTestEngine::ReleaseFreeze(), Freeze released")))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::StartDirectScreenAccessL
+* Purpose:    Start DirectScreenAccess
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::StartDirectScreenAccessL(TRect aVideoRect, TRect aClipRegion)
+{
+	PRINT((_L("CVDecTestEngine::StartDirectScreenAccessL(), In")))
+	if (!iScreenDevice)
+	{
+		User::LeaveIfError (RFbsSession::Connect());
+		PRINT((_L("CVDecTestEngine::StartDirectScreenAccessL, connected to Fbs server :")))
+		TInt err = KErrNone;
+		if( iUseSecondScreen )
+		{
+			TRAP(err, iScreenDevice = CFbsScreenDevice::NewL(1, EColor16MU));
+		}
+		else
+		{
+			TRAP(err, iScreenDevice = CFbsScreenDevice::NewL(0, EColor16MU));
+		}
+		if( err == KErrNotSupported )
+		{
+			PRINT((_L("CVDecTestEngine::StartDirectScreenAccessL, EColor16MU is not supported, ")))
+			if( iUseSecondScreen )
+			{
+				TRAP(err, iScreenDevice = CFbsScreenDevice::NewL(1, EColor16MA));
+			}
+			else
+			{
+				TRAP(err, iScreenDevice = CFbsScreenDevice::NewL(0, EColor16MA));
+			}
+		}
+
+		if( err != KErrNone )
+		{
+			PRINT((_L("CVDecTestEngine::StartDirectScreenAccessL, couldn't initialize screen device, err[%d]"),err))
+		}
+
+		else
+		{
+			iMemAlloc++;
+			#ifdef __MEM_CHECK_
+			PRINT((_L("CVDecTestEngine::StartDirectScreenAccessL, mem alloc, iScreenDevice") ))
+			#endif
+		}
+	}
+
+	TRegionFix<1> region(aClipRegion);
+
+	//Start DSA
+	iDevvp->StartDirectScreenAccessL(aVideoRect, *iScreenDevice, region);
+	PRINT((_L("CVDecTestEngine::Start, DSA started")))
+	iDsaStarted = ETrue;
+
+	PRINT((_L("CVDecTestEngine::StartDirectScreenAccessL(), Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::StartDirectScreenAccessL
+* Purpose:    Start DirectScreenAccess
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::StartDirectScreenAccessL()
+{
+	PRINT((_L("CVDecTestEngine::StartDirectScreenAccessL(), In")))
+	if (iDsaStarted)
+	{
+		PRINT((_L("CVDecTestEngine::StartDirectScreenAccessL(), DSA already started- abort first")))
+		AbortDirectScreenAccess();
+	}
+
+	if (!iScreenDevice)
+	{
+
+
+		User::LeaveIfError (RFbsSession::Connect());
+		PRINT((_L("CVDecTestEngine::Start, connected to Fbs server :")))
+
+
+		TInt err = KErrNone;
+		if( iUseSecondScreen )
+		{
+			TRAP(err, iScreenDevice = CFbsScreenDevice::NewL(1, EColor16MU));
+		}
+		else
+		{
+			TRAP(err, iScreenDevice = CFbsScreenDevice::NewL(0, EColor16MU));
+		}
+		//TRAP(err, iScreenDevice = CFbsScreenDevice::NewL(0, EColor16MU));
+		if( err == KErrNotSupported )
+		{
+			PRINT((_L("CVDecTestEngine::StartDirectScreenAccessL, EColor16MU is not supported, ")))
+			if( iUseSecondScreen )
+			{
+				TRAP(err, iScreenDevice = CFbsScreenDevice::NewL(1, EColor16MA));
+			}
+			else
+			{
+				TRAP(err, iScreenDevice = CFbsScreenDevice::NewL(0, EColor16MA));
+			}
+			//TRAP(err, iScreenDevice = CFbsScreenDevice::NewL(0, EColor16MA));
+		}
+
+		if ( err != KErrNone )
+		{
+			PRINT((_L("CVDecTestEngine::Start, couldn't initialize screen device, err[%d]"),err))
+		}
+	}
+
+
+
+	PRINT((_L("CVDecTestEngine::Start, disprect x[%d],y[%d] "),iDispRect.iTl.iX, iDispRect.iTl.iY))
+	PRINT((_L("CVDecTestEngine::Start, disprect width[%d],height[%d] "),iDispRect.Width(),iDispRect.Height()))
+
+
+	TRegionFix<1> region(iDispRect);
+
+	//Start DSA
+	iDevvp->StartDirectScreenAccessL(iDispRect, *iScreenDevice, region);
+	PRINT((_L("CVDecTestEngine::Start, DSA started")))
+	iDsaStarted = ETrue;
+
+
+	PRINT((_L("CVDecTestEngine::StartDirectScreenAccessL(), Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::AbortDirectScreenAccess
+* Purpose:    AbortDirectScreenAccess
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::AbortDirectScreenAccess()
+{
+	if ( iDirectScreenAccess && iDsaStarted )
+	{
+	iDevvp->AbortDirectScreenAccess();
+	iDsaStarted = EFalse;
+	PRINT((_L("CVDecTestEngine::AbortDirectScreenAccess, aborted ")))
+	}
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetSecureOutputL
+* Purpose:    Set sucure output enable
+* Note:
+* Parameters: TBool aSecure
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::SetSecureOutputL(TBool aSecure)
+{
+	PRINT((_L("CVDecTestEngine::SetSecureOutputL, In")))
+
+	#ifdef __SECUREOUTPUTCI__
+
+	MMmfVideoSecureOutput* secureOutput = NULL;     // Custom interface Secure output
+
+	secureOutput = (MMmfVideoSecureOutput*)iDevvp->CustomInterface(iPostProcId, KMmfVideoSecureOutputUid);
+
+	if (!secureOutput)
+	{
+		PRINT((_L("CVDecTestEngine::SetSecureOutput, Failed to retrieve Secure CI")))
+		User::Leave(KErrGeneral);
+	}
+
+	secureOutput->MmvsoSetSecureOutputL(aSecure);
+
+	#endif
+
+	PRINT((_L("CVDecTestEngine::SetSecureOutputL, Out [%d]"), aSecure))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetPosition
+* Purpose:    Set postion
+* Note:
+* Parameters: TTimeIntervalMicroSeconds aTimeStamp
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::SetPosition(const TTimeIntervalMicroSeconds& aPlaybackPosition)
+{
+	PRINT((_L("CVDecTestEngine::SetPosition, In")))
+
+	iDevvp->SetPosition(aPlaybackPosition);
+
+	PRINT((_L("CVDecTestEngine::SetPosition, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::ResetPosition
+* Purpose:    Reset postion to start
+* Note:
+* Parameters: TTimeIntervalMicroSeconds aTimeStamp
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::ResetPosition()
+{
+	PRINT((_L("CVDecTestEngine::ResetPosition, In")))
+	TTimeIntervalMicroSeconds starttime(0);
+
+	iDevvp->SetPosition(starttime);
+	PRINT((_L("CVDecTestEngine::ResetPosition, Reset Position to start of bitstream")))
+
+	if ( iSynchronized )
+	{
+		iClock->Reset(starttime);
+		iTimeStamp = 0;
+		TTimeIntervalMicroSeconds currenttime = iClock->Time();
+		PRINT((_L("CVDecTestEngine::ResetPosition, current time[%ld]"),currenttime.Int64() ))
+	}
+	TInt pos = 0;
+	iInFile.Seek(ESeekStart,pos);
+	iSentBuffCount = 0;
+
+	PRINT((_L("CVDecTestEngine::ResetPosition, In")))
+}
+
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::PlaybackPosition
+* Purpose:    Ritrieve Playback Position
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+TTimeIntervalMicroSeconds CVDecTestEngine::PlaybackPosition()
+{
+	PRINT((_L("CVDecTestEngine::PlaybackPosition, In")))
+
+	TTimeIntervalMicroSeconds position = iDevvp->PlaybackPosition();
+	PRINT((_L("CVDecTestEngine::PlaybackPosition, Playback Position[%ld]"),position.Int64()))
+
+	PRINT((_L("CVDecTestEngine::PlaybackPosition, Out")))
+	return position;
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::DecodingPosition
+* Purpose:    Ritrieve Decoding Position
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::DecodingPosition()
+{
+	PRINT((_L("CVDecTestEngine::DecodingPosition, In")))
+
+	TTimeIntervalMicroSeconds position = iDevvp->DecodingPosition();
+	PRINT((_L("CVDecTestEngine::DecodingPosition, Decoding Position[%ld]"),position.Int64()))
+
+	PRINT((_L("CVDecTestEngine::DecodingPosition, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetFrameSizeCount
+* Purpose:    Get frame size count after frame sizes are listed
+* Note:       Called after initialization
+* Parameters: None
+* Return:     TInt
+* --------------------------------------------------------------------------*/
+TInt CVDecTestEngine::GetFrameSizeCount()
+    {
+    return iFrameSizeList.Count();
+    }
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::EnableSynchronization
+* Purpose:    Set Clock and enable synchronization
+* Note:       Called before initialization and after Decoder/post-processor selected
+* Parameters: TInt aFrameRate
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::EnableSynchronization(TInt aFrameRate)
+{
+	PRINT((_L("CVDecTestEngine::EnableSynchronization, In")))
+
+	iDevvp->SetClockSource(iClock);
+	PRINT((_L("CVDecTestEngine::Synchronization, Clock source set")))
+
+	iSynchronized = ETrue;
+	iFrameTimeInterval = (TInt64)(1000000/aFrameRate);
+	PRINT((_L("CVDecTestEngine::Synchronization, Frame rate:[%d]"),aFrameRate ))
+
+	PRINT((_L("CVDecTestEngine::EnableSynchronization, Out")))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetWindowRect
+* Purpose:    Set sucure output enable
+* Note:
+* Parameters: TInt aX, TInt aY, TSize aSize
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::SetWindowRect(TInt aX, TInt aY, TSize aSize )
+{
+
+	iDispRect.SetRect(TPoint(aX,aY),aSize);
+
+	PRINT((_L("CVDecTestEngine::SetWindowRect, [%d], [%d]"),aX ,aY ))
+	PRINT((_L("CVDecTestEngine::SetWindowRect, width[%d], height[%d]"),aSize.iWidth, aSize.iHeight))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::ListFrameSizeL
+* Purpose:    List size of each frmae of coded bitstream for synchrinized
+*             playback
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::ListFrameSizeL(RArray<TInt> aFramesizes)
+{
+
+	if ( iCodecType == EVC1 ){
+
+		PRINT((_L("CVDecTestEngine::ListFrameSizeL, not supported for VC1") ))
+		User::Leave(KErrGeneral);
+	}
+
+	TInt framesize = 0;
+	TVideoInputBuffer* videoBuffer = new(ELeave) TVideoInputBuffer;
+	iMemAlloc++;
+	HBufC8* tempBuff = HBufC8::NewL(iInBuffSize);
+	iMemAlloc++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::ListFrameSizeL, mem alloc, videoBuffer & iInBuffSize") ))
+	#endif
+	videoBuffer->iData.Set(tempBuff->Des());
+	//iListFrameSize = ETrue;
+
+	if(aFramesizes.Count() > 0)
+	{
+		for (TUint i = 0; i < aFramesizes.Count(); i++)
+		{
+			iFrameSizeList.AppendL(aFramesizes[i]);
+			PRINT((_L("CVDecTestEngine::ListFrameSize, user input [%d]"),aFramesizes[i]))
+		}
+
+	}
+	else
+	{
+		while (!iInputEnd)
+		{
+			videoBuffer->iData.SetLength(0);
+			framesize = ReadOneCodedPicture(videoBuffer);
+			PRINT((_L("CVDecTestEngine::ListFrameSize, frame size[%d]"),framesize))
+			// here append frame size in list
+
+			if (framesize >= 0 )
+			{
+				iFrameSizeList.AppendL(framesize);
+				iSentBuffCount++;
+			}
+			else
+			{
+				break;
+			}
+
+		}
+	}
+	PRINT((_L("CVDecTestEngine::ListFrameSize, frame count[%d]"),iFrameSizeList.Count()))
+
+	// cleanup
+	//Reset file postion to start
+	TInt pos =0;
+	iSentBuffCount = 0;
+	iReadDataChunk = iDataChunk;
+	iWriteDataChunk = iDataChunk;
+	iDataReadFromFile = 0;
+	iInFile.Seek(ESeekStart,pos);
+
+	iInputEnd = EFalse;
+
+	delete tempBuff;
+	delete videoBuffer;
+	iMemDelete += 2;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::ListFrameSize, mem del, tempBuff & videoBuffer") ))
+	#endif
+	if ( framesize < 0)
+	{
+        PRINT((_L("CVDecTestEngine::ListFrameSize, error[%d]"),framesize ))
+		User::Leave(framesize);
+	}
+
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetLandscapeMode()
+* Purpose:    Set landscape mode flag
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+/*
+void CVDecTestEngine::SetLandscapeMode()
+{
+
+iLandscapeMode = ETrue;
+PRINT((_L("CVDecTestEngine::SetLandscapeMode, Landscape mode is set") ))
+
+}
+*/
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SelectDecoderL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SelectDecoderL(const TUid& aUid)
+{
+	PRINT((_L("CVDecTestEngine::SelectDecoderL, In") ))
+
+	iDecoderUid = aUid;
+	iDecHWDevId = iDevvp->SelectDecoderL(aUid);
+
+	#ifdef __RESOURCENOTIFICATION__
+	MMmfVideoResourceHandler* handler = (MMmfVideoResourceHandler*)iDevvp->CustomInterface(iDecHWDevId, KUidMmfVideoResourceManagement );
+	handler->MmvrhSetObserver(((MMmfVideoResourceObserver*)(this)));
+	#endif
+
+	PRINT((_L("CVDecTestEngine::SelectDecoderL, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SelectPostProcessorL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SelectPostProcessorL(const TUid& aUid)
+{
+	PRINT((_L("CVDecTestEngine::SelectPostProcessorL, In") ))
+
+	iPostProcessorUid = aUid;
+	iPostProcId = iDevvp->SelectPostProcessorL(aUid);
+
+	PRINT((_L("CVDecTestEngine::SelectPostProcessorL, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetBufferOptionsL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SetBufferOptionsL(const CMMFDevVideoPlay::TBufferOptions& aOptions)
+{
+	PRINT((_L("CVDecTestEngine::SetBufferOptionsL, In") ))
+
+	iInBuffSize = aOptions.iMaxInputBufferSize;
+	iDevvp->SetBufferOptionsL(aOptions);
+
+	PRINT((_L("CVDecTestEngine::SetBufferOptionsL, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetVideoDestScreenL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SetVideoDestScreenL(TBool aDest)
+{
+	PRINT((_L("CVDecTestEngine::SetVideoDestScreenL, In") ))
+
+	iDevvp->SetVideoDestScreenL(aDest);
+
+	PRINT((_L("CVDecTestEngine::SetVideoDestScreenL, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SynchronizeDecoding()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SynchronizeDecoding(TBool aSynch)
+{
+	PRINT((_L("CVDecTestEngine::SynchronizeDecoding, In") ))
+
+	iDevvp->SynchronizeDecoding(aSynch);
+
+	PRINT((_L("CVDecTestEngine::SynchronizeDecoding, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetBufferOptions()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::GetBufferOptions()
+{
+	PRINT((_L("CVDecTestEngine::GetBufferOptions, In") ))
+
+	CMMFDevVideoPlay::TBufferOptions options;
+	iDevvp->GetBufferOptions(options);
+
+	PRINT((_L("CVDecTestEngine::GetBufferOptions: iPreDecodeBufferSize: [%d]\n iMaxPostDecodeBufferSize: [%d]\n"),
+	options.iPreDecodeBufferSize, options.iMaxPostDecodeBufferSize))
+	PRINT((_L("CVDecTestEngine::GetBufferOptions: iMaxInputBufferSize [%d]\n iMinNumInputBuffers [%d]\n "),
+	options.iMaxInputBufferSize, options.iMinNumInputBuffers))
+	PRINT((_L("CVDecTestEngine::GetBufferOptions: iPreDecoderBufferPeriod [%d] [%d]"), I64LOW(options.iPreDecoderBufferPeriod.Int64()), I64HIGH(options.iPreDecoderBufferPeriod.Int64())))
+	PRINT((_L("CVDecTestEngine::GetBufferOptions: iPostDecoderBufferPeriod [%d] [%d]"), I64LOW(options.iPostDecoderBufferPeriod.Int64()), I64HIGH(options.iPostDecoderBufferPeriod.Int64())))
+
+	PRINT((_L("CVDecTestEngine::GetBufferOptions, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetInputFormatL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SetInputFormatL(TInt aHwDev, const TUncompressedVideoFormat& aFormat)
+{
+	PRINT((_L("CVDecTestEngine::SetInputFormatL, In") ))
+
+	if (aHwDev == EPostProcessor)
+	{
+		iDevvp->SetInputFormatL(iPostProcId, aFormat);
+	}
+	else
+	{
+		iDevvp->SetInputFormatL(iDecHWDevId, aFormat);
+	}
+
+	PRINT((_L("CVDecTestEngine::SetInputFormatL, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetOutputFormatL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SetOutputFormatL(TInt aHwDev, const TUncompressedVideoFormat& aFormat)
+{
+	PRINT((_L("CVDecTestEngine::SetOutputFormatL, In") ))
+
+	if (aHwDev == EPostProcessor)
+	{
+		iDevvp->SetOutputFormatL(iPostProcId, aFormat);
+	}
+	else
+	{
+		iDevvp->SetOutputFormatL(iDecHWDevId, aFormat);
+	}
+
+	PRINT((_L("CVDecTestEngine::SetOutputFormatL, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetInputFormatL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SetInputFormatL(TInt aHwDev, const CCompressedVideoFormat& aFormat,
+TVideoDataUnitType aDataUnitType, TVideoDataUnitEncapsulation aEncapsulation,
+TBool aDataInOrder)
+{
+	PRINT((_L("CVDecTestEngine::SetInputFormatL, In") ))
+
+	if (aHwDev == EPostProcessor)
+	{
+		iDevvp->SetInputFormatL(iPostProcId, aFormat, aDataUnitType, aEncapsulation, aDataInOrder);
+	}
+	else
+	{
+		iDevvp->SetInputFormatL(iDecHWDevId, aFormat, aDataUnitType, aEncapsulation, aDataInOrder);
+	}
+
+	PRINT((_L("CVDecTestEngine::SetInputFormatL, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::FindCommonFormats()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::FindCommonFormatsL()
+{
+	PRINT((_L("CVDecTestEngine::FindCommonFormatsL, In") ))
+
+	// Set Output Format for Decoder/Input Format for Postprocessor
+	RArray<TUncompressedVideoFormat> decformats;
+	TUncompressedVideoFormat commonFormat;
+
+
+	iDevvp->GetOutputFormatListL(iDecHWDevId, decformats);
+
+	CPostProcessorInfo* info;
+
+	info = iDevvp->PostProcessorInfoLC(iPostProcessorUid);
+
+	RArray<TUncompressedVideoFormat> ppformats;
+	ppformats = info->SupportedFormats();
+
+	//Find common format for dec output and postproc input
+	TBool found = iDevvp->FindCommonFormat(decformats.Array(), ppformats.Array(), commonFormat);
+
+	if (found)
+	{
+		iDevvp->SetOutputFormatL(iDecHWDevId, commonFormat);
+		PRINT((_L("CVDecTestEngine::FindCommonFormatsL, Decoder output Format set")))
+		iDevvp->SetInputFormatL(iPostProcId, commonFormat);
+		PRINT((_L("CVDecTestEngine::FindCommonFormatsL, Postprocessor input format set.")))
+		PrintUncompressedFormat(commonFormat);
+	}
+	else
+	{
+		PRINT((_L("CVDecTestEngine::FindCommonFormatsL, Common Format not found")))
+		User::Leave( KErrNotFound);
+	}
+	CleanupStack::PopAndDestroy(info);
+	PRINT((_L("CVDecTestEngine::FindCommonFormatsL, closing array") ))
+	decformats.Close();
+	PRINT((_L("CVDecTestEngine::FindCommonFormatsL, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::FindDecodersL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+TInt CVDecTestEngine::FindDecodersL(const TDesC8& aMimeType, TUint32 aPostProcType, TBool aExactMatch, TUid& aUid )
+{
+	PRINT((_L("CVDecTestEngine::FindDecodersL, In") ))
+
+	TInt supports = KErrNotSupported;
+
+	//UID is not set
+	if (aUid.iUid == 0 && !aExactMatch)
+	{
+		supports = KErrNone;
+	}
+
+	RArray<TUid> decoders;
+	CleanupClosePushL(decoders);
+	iDevvp->FindDecodersL(aMimeType, aPostProcType, decoders, aExactMatch);
+	for (TUint i = 0; i < decoders.Count(); i++)
+	{
+		if (decoders[i].iUid == aUid.iUid)
+		{
+			supports = KErrNone;
+		}
+
+		PRINT((_L("CVDecTestEngine::FindDecodersL, Uid [%x]"), decoders[i].iUid ))
+	}
+	CleanupStack::PopAndDestroy(&decoders);
+
+	PRINT((_L("CVDecTestEngine::FindDecodersL, Out") ))
+
+	return supports;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::FindPostProcessorsL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+TInt CVDecTestEngine::FindPostProcessorsL(TUid& aUid, TUint32 aPostProcType)
+{
+	PRINT((_L("CVDecTestEngine::FindPostProcessorsL, In") ))
+
+	TInt supports = KErrNotSupported;
+
+	//UID is not set
+	if (aUid.iUid == 0)
+	{
+		supports = KErrNone;
+	}
+
+	RArray<TUid> postProcessors;
+	CleanupClosePushL(postProcessors);
+	iDevvp->FindPostProcessorsL(aPostProcType, postProcessors);
+	for (TUint i = 0; i < postProcessors.Count(); i++)
+	{
+		PRINT((_L("CVDecTestEngine::FindPostProcessorsL, Uid [%x]"), postProcessors[i].iUid ))
+
+		if (postProcessors[i].iUid == aUid.iUid)
+		{
+			supports = KErrNone;
+		}
+
+	}
+	CleanupStack::PopAndDestroy(&postProcessors);
+
+	PRINT((_L("CVDecTestEngine::FindPostProcessorsL, Out") ))
+	return supports;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetDecoderListL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::GetDecoderListL()
+{
+	PRINT((_L("CVDecTestEngine::GetDecoderListL, In") ))
+
+	RArray<TUid> decoders;
+	CleanupClosePushL(decoders);
+	iDevvp->GetDecoderListL(decoders);
+	for (TUint i = 0; i < decoders.Count(); i++)
+	{
+		PRINT((_L("CVDecTestEngine::GetDecoderListL, Uid [%x]"), decoders[i].iUid ))
+	}
+	CleanupStack::PopAndDestroy(&decoders);
+
+	PRINT((_L("CVDecTestEngine::GetDecoderListL, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::ConfigureDecoderL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::ConfigureDecoderL(TVideoPictureHeader& aVideoPictureHeader)
+{
+	PRINT((_L("CVDecTestEngine::ConfigureDecoderL, In") ))
+
+	if( iSetPassword )
+	{
+		TBuf16<128> tempBuf;
+		tempBuf.Copy( iPasswordForFLV);
+		PRINT( ( _L( "CVDecTestEngine::ConfigureDecoderL(): password tempBuf: %S." ), &tempBuf ) )
+
+		TPtrC8 metaData((TUint8*)iPasswordForFLV.Ptr(), iPasswordForFLV.Size());
+
+		aVideoPictureHeader.iOptional = &metaData;
+
+	}
+
+	iDevvp->ConfigureDecoderL(aVideoPictureHeader);
+
+	PRINT((_L("CVDecTestEngine::ConfigureDecoderL, Out") ))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::ConfigureDecoderL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::ConfigureDecoderL()
+{
+	PRINT((_L("CVDecTestEngine::ConfigureDecoderL, In") ))
+
+	if (iCodecType == EVC1)
+	{
+		PRINT((_L("CVDecTestEngine::ConfigureDecoderL, iCodectype VC1") ))
+		TInt configPosition = 0;
+		TUint configDataSize = 36; // MetaData is 36 Bytes in SP-L0 VC1 .
+		TUint8* ptr = new (ELeave) TUint8[configDataSize+8];
+		iMemAlloc++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::ConfigureDecoderL, mem alloc, ptr") ))
+		#endif
+		TUint32* ptr32 = reinterpret_cast<TUint32*>(ptr);
+		ptr32[0] = 1;
+		ptr32[1] = 44;
+		TPtr8 configData((ptr+8), configDataSize);
+		for (TUint i=0; i < 8; i++)
+		{
+			PRINT((_L("CVDecTestEngine::ConfigureDecoderL, beginning [%d]"), ptr[i] ))
+		}
+
+		User::LeaveIfError(iInFile.Seek(ESeekStart, configPosition));
+		User::LeaveIfError(iInFile.Read(configData, configDataSize));
+		TVideoPictureHeader* configHeader = new TVideoPictureHeader;
+		iMemAlloc++;
+		CleanupStack::PushL(configHeader);
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::ConfigureDecoderL, mem alloc, configHeader") ))
+		#endif
+
+		TPtrC8 metaData(ptr,configDataSize+8);
+
+
+		configHeader->iOptional = &metaData;
+		configHeader->iLevel = -1;
+		configHeader->iProfile = -1;
+
+		iDevvp->ConfigureDecoderL(*configHeader);
+
+
+		CleanupStack::Pop();
+		delete ptr;
+		iMemDelete++;
+		delete configHeader;
+		iMemDelete++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::ConfigureDecoderL, mem del, ptr & configHeader") ))
+		#endif
+		return;
+	}
+
+	TInt err = KErrNone;
+	TVideoPictureHeader* headerInfo = NULL;
+	HBufC8* tempBuff = NULL;
+
+	//Read Picture header : Size is not known
+	TVideoInputBuffer* codedBuffer = new(ELeave) TVideoInputBuffer;
+	CleanupStack::PushL( codedBuffer );
+	iInBuffSize = KMaxCodedSize;
+	err = KErrOverflow;
+
+	while ( (err == KErrOverflow) && (iInBuffSize <= KMaxCodedSize) )
+	{
+		tempBuff = HBufC8::NewL(iInBuffSize);
+		CleanupStack::PushL( tempBuff );
+		codedBuffer->iData.Set(tempBuff->Des());
+
+		if ( iFrameSizeList.Count() > 0 )
+		{
+			err = ReadOneCodedPicture(codedBuffer, iFrameSizeList[0] );
+		}
+		else
+		{
+			err = ReadOneCodedPicture(codedBuffer);
+		}
+		//err = ReadOneCodedPicture(codedBuffer);
+
+		TInt pos =0;
+		if ( iInFile.Seek(ESeekStart,pos) )
+		{
+			err = KErrGeneral;
+		}
+
+		if ( iInputEnd )
+		{
+			err = KErrNotFound;
+		}
+
+		if ( err < 0 )
+		{
+			CleanupStack::PopAndDestroy(tempBuff);
+			iInBuffSize = 4*iInBuffSize;
+		}
+	}
+
+
+	// Reitrieve header information from bitstream
+	if ( err  < 0 )
+	{
+		CleanupStack::PopAndDestroy(codedBuffer);
+		PRINT((_L("CVDecTestEngine::ConfigureDecoderL, Reading input data fail")))
+	}
+	else
+	{
+		err = KErrNone;
+
+		headerInfo = iDevvp->GetHeaderInformationL(EDuCodedPicture,EDuElementaryStream,codedBuffer);
+
+		CleanupStack::PopAndDestroy(tempBuff);
+		CleanupStack::PopAndDestroy(codedBuffer);
+
+		//Check Header info
+		if ( headerInfo )
+		{
+
+			PRINT((_L("CVDecTestEngine::ConfigureDecoderL, Configuring the decoder")))
+
+
+			if( iSetPassword )
+			{
+				TBuf16<128> tempBuf;
+				tempBuf.Copy( iPasswordForFLV);
+				PRINT( ( _L( "CVDecTestEngine::ConfigureDecoderL(): password tempBuf: %S." ), &tempBuf ) )
+
+				TPtrC8 metaData((TUint8*)iPasswordForFLV.Ptr(), iPasswordForFLV.Size());
+
+				headerInfo->iOptional = &metaData;
+
+			}
+			iDevvp->ConfigureDecoderL(*headerInfo);
+
+			//return headerInfo
+			iDevvp->ReturnHeader(headerInfo);
+
+		}
+		else
+		{
+			PRINT((_L("CVDecTestEngine::ConfigureDecoderL, Get header info fail")))
+			err = KErrGeneral;
+		}
+
+	}
+
+	// Set size of decoder input buffer
+	if ( iCodecType == EH263 )
+	{
+		if ( (iPictureSize.iWidth <= 176 ) && (iPictureSize.iHeight <= 144) )
+		iInBuffSize = KH263MaxCodedSizeQCIF;
+		else
+		iInBuffSize = KH263MaxCodedSizeCIF;
+
+	}
+	else //Mpeg4 and AVC and FLV
+	{
+		if ( (iPictureSize.iWidth <= 176 ) && (iPictureSize.iHeight <= 144) )
+		iInBuffSize = KMP4MaxCodedSizeQCIF;
+		else if ( (iPictureSize.iWidth <= 352 ) && (iPictureSize.iHeight <= 288) )
+		iInBuffSize = KMP4MaxCodedSizeCIF;
+		else if ( (iPictureSize.iWidth <= 640 ) && (iPictureSize.iHeight <= 480) )
+		iInBuffSize = KMP4MaxCodedSizeVGA;
+		else if  ( (iPictureSize.iWidth <= 720 ) && (iPictureSize.iHeight <= 576) )
+		iInBuffSize = KMP4MaxCodedSizePAL;
+		else
+		iInBuffSize = KMaxCodedSize;
+	}
+
+	AssertTIntEqualL(KErrNone, err);
+
+	TInt pos =0;
+	iSentBuffCount = 0;
+	iReadDataChunk = iDataChunk;
+	iWriteDataChunk = iDataChunk;
+	iDataReadFromFile = 0;
+	iInFile.Seek(ESeekStart,pos);
+
+	PRINT((_L("CVDecTestEngine::ConfigureDecoderL, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetOutputFormatListL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::GetOutputFormatListL(TInt aHWDevice)
+{
+	PRINT((_L("CVDecTestEngine::GetOutputFormatListL, In") ))
+
+	RArray<TUncompressedVideoFormat> formats;
+	CleanupClosePushL(formats);
+	if (aHWDevice == EPostProcessor)
+	{
+		iDevvp->GetOutputFormatListL(iPostProcId, formats);
+	}
+	else
+	{
+		iDevvp->GetOutputFormatListL(iDecHWDevId, formats);
+	}
+
+	for (TUint i = 0; i < formats.Count(); i++)
+	{
+		PRINT((_L("CVDecTestEngine::GetOutputFormatListL, Format No.%d"), i))
+		PrintUncompressedFormat(formats[i]);
+	}
+	CleanupStack::PopAndDestroy(&formats);
+
+	PRINT((_L("CVDecTestEngine::GetOutputFormatListL, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SupportsOutputFormatL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+TInt CVDecTestEngine::SupportsOutputFormatL(TInt aHwdev, const TUncompressedVideoFormat& aFormat)
+{
+	PRINT((_L("CVDecTestEngine::SupportsOutputFormatL, In") ))
+
+	TInt result = KErrNotSupported;
+
+	RArray<TUncompressedVideoFormat> formats;
+	CleanupClosePushL(formats);
+	if (aHwdev == EPostProcessor)
+	{
+		iDevvp->GetOutputFormatListL(iPostProcId, formats);
+	}
+	else
+	{
+		iDevvp->GetOutputFormatListL(iDecHWDevId, formats);
+	}
+
+	for (TUint i = 0; i < formats.Count(); i++)
+	{
+		PRINT((_L("CVDecTestEngine::SupportsOutputFormatL, Format No.%d"), i))
+		if (formats[i] == aFormat)
+		{
+			result = KErrNone;
+		}
+		PrintUncompressedFormat(formats[i]);
+	}
+	CleanupStack::PopAndDestroy(&formats);
+
+	PRINT((_L("CVDecTestEngine::SupportsOutputFormatL, Out") ))
+
+	return result;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GetPostProcessorListL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::GetPostProcessorListL()
+{
+	PRINT((_L("CVDecTestEngine::GetPostProcessorListL, Out") ))
+
+	RArray<TUid> postProcessors;
+	CleanupClosePushL(postProcessors);
+	iDevvp->GetPostProcessorListL(postProcessors);
+	for (TUint i = 0; i < postProcessors.Count(); i++)
+	{
+		PRINT((_L("CVDecTestEngine::GetPostProcessorListL, Uid [%x]"), postProcessors[i].iUid ))
+	}
+	CleanupStack::PopAndDestroy(&postProcessors);
+
+	PRINT((_L("CVDecTestEngine::GetPostProcessorListL, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::VideoDecoderInfoL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::VideoDecoderInfoL(TUid aVideoDecoder)
+{
+	PRINT((_L("CVDecTestEngine::VideoDecoderInfoL, In") ))
+
+	CVideoDecoderInfo* info;
+	PRINT((_L("CVDecTestEngine::VideoDecoderInfoL, 2test") ))
+	info = iDevvp->VideoDecoderInfoLC(aVideoDecoder);
+
+	PRINT((_L("CVDecTestEngine::VideoDecoderInfoL, test") ))
+
+	TVersion version = info->Version();
+	PRINT((_L("CVDecTestEngine::VideoDecoderInfoL, Manufacturer: %S"), &info->Manufacturer()))
+	PRINT((_L("CVDecTestEngine::VideoDecoderInfoL, Identifier: %S"), &info->Identifier()))
+	PRINT((_L("CVDecTestEngine::VideoDecoderInfoL, Version information:")))
+	PRINT((_L("Major Version:[%d], Minor Version:[%d], Build number:[%d] "), version.iMajor,version.iMinor,version.iBuild))
+	PRINT((_L("CVDecTestEngine::VideoDecoderInfoL, HW Accelerated:[%d]"),info->Accelerated()))
+	PRINT((_L("CVDecTestEngine::VideoDecoderInfoL, Support Direct Screen:[%d]"),info->SupportsDirectDisplay()))
+	PRINT((_L("CVDecTestEngine::VideoDecoderInfoL, MaxPictureSize, %dx%d"),info->MaxPictureSize().iWidth, info->MaxPictureSize().iHeight))
+	PRINT((_L("CVDecTestEngine::VideoDecoderInfoL, MaxBitrate: [%d]"),info->MaxBitrate()))
+	PRINT((_L("CVDecTestEngine::VideoDecoderInfoL, SupportsPictureLoss: [%d]"),info->SupportsPictureLoss()))
+	PRINT((_L("CVDecTestEngine::VideoDecoderInfoL, SupportsSliceLoss: [%d]"),info->SupportsSliceLoss()))
+	PRINT((_L("CVDecTestEngine::VideoDecoderInfoL, CodingStandardSpecificInfo: %S"), &info->CodingStandardSpecificInfo()))
+	PRINT((_L("CVDecTestEngine::VideoDecoderInfoL, ImplementationSpecificInfo: %S"), &info->ImplementationSpecificInfo()))
+
+	CleanupStack::PopAndDestroy(info);
+
+	PRINT((_L("CVDecTestEngine::VideoDecoderInfoL, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::PostProcessorInfoL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::PostProcessorInfoL(TUid aPostProcessor)
+{
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, In") ))
+
+	CPostProcessorInfo* info;
+	info = iDevvp->PostProcessorInfoLC(aPostProcessor);
+
+	TVersion version = info->Version();
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Manufacturer: %S"), &info->Manufacturer()))
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Identifier: %S"), &info->Identifier()))
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Version information:")))
+	PRINT((_L("Major Version:[%d], Minor Version:[%d], Build number:[%d] "), version.iMajor,version.iMinor,version.iBuild))
+
+	// combination
+	RArray<TUint32> combination = info->SupportedCombinations();
+
+	for (TInt i=0; i < combination.Count(); i++)
+	{
+		PRINT((_L("CVDecTestEngine::PostProcessorInfoL, combiantion:[%x]"), combination.operator[](i)))
+	}
+
+	//Color Conversion YUV to RGV
+	TYuvToRgbCapabilities colorconv;
+	colorconv = info->YuvToRgbCapabilities();
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, YUV Sampling Pattern bit:[0x%x]"),colorconv.iSamplingPatterns))
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, YUV Coefficient bit:[0x%x]"),colorconv.iCoefficients))
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, RGB Formats bit:[0x%x]"),colorconv.iRgbFormats))
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Support Lightness Control:[%d]"),colorconv.iLightnessControl))
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Support Saturation Control:[%d]"),colorconv.iSaturationControl))
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Support Contrast Control:[%d]"),colorconv.iContrastControl))
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Support Gamma Correction:[%d]"),colorconv.iGammaCorrection))
+
+	if(colorconv.iDitherTypes  & EDitherNone)
+	{
+		PRINT((_L("CVDecTestEngine::PostProcessorInfoL, No dither support")))
+	}
+	if(colorconv.iDitherTypes  & EDitherOrdered)
+	{
+		PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Support Ordered Dither")))
+	}
+	if(colorconv.iDitherTypes  & EDitherErrorDiffusion)
+	{
+		PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Support Error diffusion dither")))
+	}
+	if(colorconv.iDitherTypes  & EDitherOther)
+	{
+		PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Other hardware device specific dithering type")))
+	}
+
+
+	//HW Accelated
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, HW Accelerated:[%d]"),info->Accelerated()))
+
+	//Support Direct Screen
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Support Direct Screen:[%d]"),info->SupportsDirectDisplay()))
+
+	//Rotation
+	TUint rotation;
+	rotation =  info->SupportedRotations();
+
+	if(rotation & 0x00000001)
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Rotation: 90Clockwise ")))
+	if(rotation & 0x00000002)
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Rotation: 90Anticlockwise ")))
+	if(rotation & 0x00000004)
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Rotation: 180 ")))
+	if(!(rotation & 0x00000007))
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, No Rotation supported ")))
+
+	//Arbitrary Scaling
+	TInt support = info->SupportsArbitraryScaling();
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Support Arbitrary Scaling:[%d]"),support))
+
+	//Scalling Factor
+	if ( support )
+	{
+		RArray<TScaleFactor> scale = info->SupportedScaleFactors();
+
+		for (TInt i=0; i<scale.Count(); i++)
+		{
+			PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Scalling Factor:[%d]/[%d]"),scale.operator[](i).iScaleNum, scale.operator[](i).iScaleDenom))
+		}
+	}
+
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Support Anti Aliased filter:[%d]"),info->AntiAliasedScaling()))
+
+	CleanupStack::PopAndDestroy(info);
+
+	PRINT((_L("CVDecTestEngine::PostProcessorInfoL, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SupportsFormatL()
+* Purpose:    Retrieves information about an installed video decoder
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+TInt CVDecTestEngine::SupportsFormatL(const TUid& aUid, const CCompressedVideoFormat& aFormat)
+{
+	PRINT((_L("CVDecTestEngine::SupportsFormatL(),In")))
+
+	TInt supports = KErrNotSupported;
+
+	CVideoDecoderInfo* info = iDevvp->VideoDecoderInfoLC(aUid);
+	if(!info)
+	{
+		PRINT((_L("CVDecTestEngine::SupportsFormatL(),Error")))
+		return KErrGeneral;
+	}
+
+	if (info->SupportsFormat(aFormat))
+	{
+		PRINT((_L("CVDecTestEngine::SupportsFormatL, Supported format found")))
+		supports=KErrNone;
+	}
+
+	CleanupStack::PopAndDestroy();
+
+	PRINT((_L("CVDecTestEngine::SupportsFormatL(),Out")))
+	return supports;
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SupportsFormatInfoL()
+* Purpose:    Retrieves information about an installed video decoder
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+TInt CVDecTestEngine::SupportsFormatInfoL(const TUid& aUid, const CCompressedVideoFormat& aFormat)
+{
+	PRINT((_L("CVDecTestEngine::SupportsFormatInfoL(),In")))
+
+	TInt supports = KErrNotSupported;
+	RPointerArray<CCompressedVideoFormat> formats;
+
+	CVideoDecoderInfo* info = iDevvp->VideoDecoderInfoLC(aUid);
+	if(!info)
+	{
+		PRINT((_L("CVDecTestEngine::SupportsFormatInfoL(),Error")))
+		formats.Close();
+		return KErrGeneral;
+	}
+
+	formats = info->SupportedFormats();
+
+	PRINT((_L("CVDecTestEngine::SupportsFormatInfoL(), supported formats")))
+
+	for (TUint i = 0; i < formats.Count(); i++)
+	{
+		TBuf16<128> format;
+		format.Copy(formats[i]->MimeType());
+		PRINT((_L("CVDecTestEngine::SupportsFormatInfoL, Format [%S]"), &format))
+		//PRINT((_L("CVDecTestEngine::SupportsFormatInfoL, %d. Format [%S]"), &(formats[i]))
+		if (*(formats[i]) == aFormat)
+		{
+			supports = KErrNone;
+			PRINT((_L("CVDecTestEngine::SupportsFormatInfoL, Supported format found")))
+		}
+	}
+
+	CleanupStack::PopAndDestroy();
+
+	PRINT((_L("CVDecTestEngine::SupportsFormatInfoL(),Out")))
+	return supports;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SupportsAccelerationL()
+* Purpose:    Retrieves information about an installed video decoder
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+TInt CVDecTestEngine::SupportsAccelerationL(TInt aHwDev, const TUid& aUid)
+{
+	PRINT((_L("CVDecTestEngine::SupportsAccelerationL(),In")))
+
+	TInt supports = KErrNotSupported;
+	TBool supported = EFalse;
+
+	if (aHwDev == EPostProcessor)
+	{
+		CPostProcessorInfo* info = iDevvp->PostProcessorInfoLC(aUid);
+		if(!info)
+		{
+			PRINT((_L("CVDecTestEngine::SupportsAccelerationL(),Error")))
+			return KErrGeneral;
+		}
+		supported = info->Accelerated();
+	}
+	else
+	{
+		CVideoDecoderInfo* info = iDevvp->VideoDecoderInfoLC(aUid);
+		if(!info)
+		{
+			PRINT((_L("CVDecTestEngine::SupportsAccelerationL(),Error")))
+			return KErrGeneral;
+		}
+
+		supported = info->Accelerated();
+	}
+
+	if (supported)
+	{
+		supports = KErrNone;
+	}
+
+	CleanupStack::PopAndDestroy();
+
+	PRINT((_L("CVDecTestEngine::SupportsAccelerationL(),Out")))
+	return supports;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SupportsDirectDisplayL()
+* Purpose:    Retrieves information about an installed video decoder
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+TInt CVDecTestEngine::SupportsDirectDisplayL(TInt aHwDev, const TUid& aUid)
+{
+	PRINT((_L("CVDecTestEngine::SupportsDirectDisplayL(),In")))
+
+	TInt supports = KErrNotSupported;
+	TBool supported = EFalse;
+
+	if (aHwDev == EPostProcessor)
+	{
+		CPostProcessorInfo* info = iDevvp->PostProcessorInfoLC(aUid);
+		if(!info)
+		{
+			PRINT((_L("CVDecTestEngine::SupportsDirectDisplayL(),Error")))
+			return KErrGeneral;
+		}
+
+		supported = info->SupportsDirectDisplay();
+	}
+	else
+	{
+		CVideoDecoderInfo* info = iDevvp->VideoDecoderInfoLC(aUid);
+		if(!info)
+		{
+			PRINT((_L("CVDecTestEngine::SupportsDirectDisplayL(),Error")))
+			return KErrGeneral;
+		}
+
+		supported = info->SupportsDirectDisplay();
+	}
+
+	if (supported)
+	{
+		supports = KErrNone;
+	}
+
+	CleanupStack::PopAndDestroy();
+
+	PRINT((_L("CVDecTestEngine::SupportsDirectDisplayL(),Out")))
+	return supports;
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SupportsMaxPictureSizeL()
+* Purpose:    Retrieves information about an installed video decoder
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+TInt CVDecTestEngine::SupportsMaxPictureSizeL(const TUid& aUid, TSize aSize)
+{
+	PRINT((_L("CVDecTestEngine::SupportsMaxPictureSizeL(),In")))
+
+	TInt supports = KErrNotSupported;
+
+	CVideoDecoderInfo* info = iDevvp->VideoDecoderInfoLC(aUid);
+	if(!info)
+	{
+		PRINT((_L("CVDecTestEngine::SupportsMaxPictureSizeL(),Error")))
+		return KErrGeneral;
+	}
+
+	TSize size = info->MaxPictureSize();
+
+	if (size.iWidth >= aSize.iWidth && size.iHeight >= aSize.iHeight)
+	{
+		supports = KErrNone;
+	}
+
+	CleanupStack::PopAndDestroy();
+
+	PRINT((_L("CVDecTestEngine::SupportsMaxPictureSizeL(),Out")))
+	return supports;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SupportsMaxPictureRateL()
+* Purpose:    Retrieves information about an installed video decoder
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+TInt CVDecTestEngine::SupportsMaxPictureRateL(const TUid& aUid, TPictureRateAndSize& aRateAndSize)
+{
+	PRINT((_L("CVDecTestEngine::SupportsMaxPictureRateL(),In")))
+
+	TInt supports = KErrNotSupported;
+	TPictureRateAndSize picRateAndSize;
+
+	CVideoDecoderInfo* info = iDevvp->VideoDecoderInfoLC(aUid);
+	if(!info)
+	{
+		PRINT((_L("CVEncTestEngine::SupportsMaxPictureRateL(),Error")))
+		return KErrGeneral;
+	}
+
+	RArray<TPictureRateAndSize> picRateAndSizeArray = info->MaxPictureRates();
+
+	for (TUint i=0; i < picRateAndSizeArray.Count(); i++)
+	{
+		picRateAndSize = picRateAndSizeArray[i];
+		if (aRateAndSize.iPictureRate <= picRateAndSize.iPictureRate && aRateAndSize.iPictureSize.iWidth <= picRateAndSize.iPictureSize.iWidth &&
+		aRateAndSize.iPictureSize.iHeight <= picRateAndSize.iPictureSize.iHeight)
+		{
+			supports = KErrNone;
+		}
+	}
+
+	CleanupStack::PopAndDestroy();
+
+	PRINT((_L("CVDecTestEngine::SupportsMaxPictureRateL(),Out")))
+	return supports;
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SupportsSliceLossL()
+* Purpose:    Retrieves information about an installed video decoder
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+TInt CVDecTestEngine::SupportsSliceLossL(const TUid& aUid)
+{
+	PRINT((_L("CVDecTestEngine::SupportsSliceLossL(),In")))
+
+	TInt supports = KErrNotSupported;
+	TBool supported = EFalse;
+
+	CVideoDecoderInfo* info = iDevvp->VideoDecoderInfoLC(aUid);
+	if(!info)
+	{
+		PRINT((_L("CVDecTestEngine::SupportsSliceLossL(),Error")))
+		return KErrGeneral;
+	}
+
+	supported = info->SupportsSliceLoss();
+
+	if (supported)
+	{
+		supports = KErrNone;
+	}
+
+	CleanupStack::PopAndDestroy();
+
+	PRINT((_L("CVDecTestEngine::SupportsSliceLossL(),Out")))
+	return supports;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SupportsPictureLossL()
+* Purpose:    Retrieves information about an installed video decoder
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+TInt CVDecTestEngine::SupportsPictureLossL(const TUid& aUid)
+{
+	PRINT((_L("CVDecTestEngine::SupportsPictureLossL(),In")))
+
+	TInt supports = KErrNotSupported;
+	TBool supported = EFalse;
+
+	CVideoDecoderInfo* info = iDevvp->VideoDecoderInfoLC(aUid);
+	if(!info)
+	{
+		PRINT((_L("CVDecTestEngine::SupportsPictureLossL(),Error")))
+		return KErrGeneral;
+	}
+
+	supported = info->SupportsPictureLoss();
+
+	if (supported)
+	{
+		supports = KErrNone;
+	}
+
+	CleanupStack::PopAndDestroy();
+
+	PRINT((_L("CVDecTestEngine::SupportsPictureLossL(),Out")))
+	return supports;
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SupportsMaxBitrateL()
+* Purpose:    Retrieves information about an installed video encoder
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+TInt CVDecTestEngine::SupportsMaxBitrateL(const TUid& aUid, TInt aBitrate)
+{
+	PRINT((_L("CVDecTestEngine::SupportsMaxBitrateL(),In")))
+
+	TInt supports = KErrNotSupported;
+	TInt bitrate = 0;
+
+	CVideoDecoderInfo* info = iDevvp->VideoDecoderInfoLC(aUid);
+	if(!info)
+	{
+		PRINT((_L("CVDecTestEngine::SupportsMaxBitrateL(),Error")))
+		return KErrGeneral;
+	}
+
+	bitrate = info->MaxBitrate();
+
+	if (aBitrate <= bitrate)
+	{
+		supports = KErrNone;
+	}
+
+	CleanupStack::PopAndDestroy();
+
+	PRINT((_L("CVDecTestEngine::SupportsMaxBitrateL(),Out")))
+	return supports;
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetYuvToRgbOptionsL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SetYuvToRgbOptionsL(TInt aHWDevice, const TYuvToRgbOptions& aOptions, const TYuvFormat& aYuvFormat, TRgbFormat aRgbFormat)
+{
+	PRINT((_L("CVDecTestEngine::SetYuvToRgbOptionsL, In") ))
+
+	if (aHWDevice == EPostProcessor)
+	{
+		iDevvp->SetYuvToRgbOptionsL(iPostProcId, aOptions, aYuvFormat, aRgbFormat);
+	}
+	else
+	{
+		iDevvp->SetYuvToRgbOptionsL(iDecHWDevId, aOptions, aYuvFormat, aRgbFormat);
+	}
+
+	PRINT((_L("CVDecTestEngine::SetYuvToRgbOptionsL, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetSlowClient()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SetSlowClient(TBool aOption)
+{
+	PRINT((_L("CVDecTestEngine::SetSlowClient, In") ))
+
+	iSetSlowClient = aOption;
+
+	PRINT((_L("CVDecTestEngine::SetSlowClient, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetFastClient()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SetFastClient(TBool aOption)
+{
+	PRINT((_L("CVDecTestEngine::SetFastClient, In") ))
+
+	iSetFastClient = aOption;
+
+	PRINT((_L("CVDecTestEngine::SetFastClient, Out") ))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetAUFormat()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+TInt CVDecTestEngine::SetAUFormat()
+{
+	PRINT((_L("CVDecTestEngine::SetAUFormat, In") ))
+
+	if (iCodecType== EAVC)
+	{
+		iSetAUFormat = ETrue;
+
+	}
+	else
+	{
+		return KErrNotSupported;
+	}
+
+	PRINT((_L("CVDecTestEngine::SetAUFormat, Out") ))
+
+	return KErrNone;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::MoveFileL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+TInt CVDecTestEngine::MoveFileL(const TDesC &anOld, const TDesC &aNew)
+{
+	PRINT((_L("CVDecTestEngine::MoveFileL, In") ))
+
+	CFileMan* fileman = CFileMan::NewL(iFs);
+	iMemAlloc++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::MoveFileL, mem alloc, fileman") ))
+	#endif
+	PRINT((_L("CVDecTestEngine::MoveFileL, fileman [%x]"), fileman))
+
+	CloseFile();
+
+	PRINT((_L("CVDecTestEngine::MoveFileL, File [%s] moving to [%s]"), &anOld, &aNew ))
+	fileman->Move(anOld, aNew);
+
+	PRINT((_L("CVDecTestEngine::MoveFileL, File [%s] moved to [%s]"), &anOld, &aNew ))
+
+	delete fileman;
+	iMemDelete++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::MoveFileL, mem del, fileman") ))
+	#endif
+	PRINT((_L("CVDecTestEngine::MoveFileL, Out") ))
+
+	return KErrNone;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::CopyFileL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+TInt CVDecTestEngine::CopyFileL(const TDesC &anOld, const TDesC &aNew)
+{
+	PRINT((_L("CVDecTestEngine::CopyFileL, In") ))
+
+	CFileMan* fileman = CFileMan::NewL(iFs);
+	iMemAlloc++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::MoveFileL, mem alloc, fileman") ))
+	#endif
+	PRINT((_L("CVDecTestEngine::CopyFileL, fileman [%x]"), fileman))
+
+	//CloseFile();
+
+	PRINT((_L("CVDecTestEngine::CopyFileL, File [%s] copying to [%s]"), &anOld, &aNew ))
+	fileman->Copy(anOld, aNew);
+
+	PRINT((_L("CVDecTestEngine::CopyFileL, File [%s] copied to [%s]"), &anOld, &aNew ))
+
+	delete fileman;
+	iMemDelete++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::CopyFileL, mem del, fileman") ))
+	#endif
+	PRINT((_L("CVDecTestEngine::CopyFileL, Out") ))
+
+	return KErrNone;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::HandleNewBufferL()
+* Purpose:    Get Next input data
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::HandleNewBufferL()
+{
+
+	if ( iState == ERunning && !iInputEnd )
+	{
+		if ( iDecHWDevId || iCIBuffMgmtOn ) //Retrieve buffer from Hwdevice
+		{
+			GetInputBufferL();
+		}
+		else
+		{
+			FillAndSendBufferL();   // Postproc input
+		}
+
+	}
+	else
+	{
+		PRINT((_L("CVDecTestEngine::HandleNewBufferL, inputEnd found") ))
+		if (iLastFrame)
+		{
+			PRINT((_L("CVDecTestEngine::HandleNewBufferL, Getting last input buffer") ))
+			GetInputBufferL();
+		}
+	}
+
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::LoadNextFrameL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+TInt CVDecTestEngine::LoadNextFrameL(TVideoInputBuffer* aCodedInBuffer)
+{
+	// Normal VC1 video reading
+	// Read file after the file header
+	PRINT((_L("CVDecTestEngine::LoadNextFrameL, In")));
+	unsigned int frameDataSize = 4;     //4 Bytes to obain the framesize
+	unsigned int frameSize=0;
+	unsigned int Timestamp;
+	TInt err = 0;
+	TUint8* ptr = new (ELeave) TUint8[frameDataSize]; // dynamic alloc 1
+	iMemAlloc++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::LoadNextFrameL, mem alloc, ptr") ))
+	#endif
+	TPtr8 frameData(ptr, frameDataSize);
+	if ( (err = iInFile.Read(frameData, frameDataSize)) != KErrNone)
+	{
+		PRINT((_L("CVDecTestEngine::LoadNextFrameL, Error reading file") ))
+		delete ptr;
+		ptr = NULL;
+		iMemDelete++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::LoadNextFrameL, mem del, ptr") ))
+		#endif
+
+		return err;
+	}
+
+	if (frameData.Length() < 4)
+	{
+		PRINT((_L("CVDecTestEngine::LoadNextFrameL, File end found") ))
+		aCodedInBuffer->iData.SetLength( 0 );
+		iInputEnd = ETrue;
+		delete ptr;
+		ptr = NULL;
+		iMemDelete++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::LoadNextFrameL, mem del, ptr") ))
+		#endif
+		return KErrNone;
+	}
+
+	PRINT((_L("CVDecTestEngine::LoadNextFrameL, Reading Item") ))
+	ReadItemLE(ptr, 4, (TUint8 *)&frameSize);
+	PRINT((_L("CVDecTestEngine::LoadNextFrameL, before AND frameSize: %x"), frameSize ))
+
+	if (frameData.Length() < 4)
+	{
+		PRINT((_L("CVDecTestEngine::LoadNextFrameL, File end found") ))
+		iInputEnd = ETrue;
+		delete ptr;
+		ptr = NULL;
+		iMemDelete++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::LoadNextFrameL, mem del, ptr") ))
+		#endif
+		return KErrNone;
+	}
+
+	//RCV_V2_FRAMESIZE_FLAGS
+	frameSize = frameSize & ~(0xff000000);
+
+	PRINT((_L("CVDecTestEngine::LoadNextFrameL, frameSize: %d"), frameSize ))
+
+	//Now obtain the Timestamp of the frame
+	if ( (err = iInFile.Read(frameData, frameDataSize)) != KErrNone)
+	{
+		PRINT((_L("CVDecTestEngine::LoadNextFrameL, Error reading file %d"), err ))
+		return err;
+	}
+
+	PRINT((_L("CVDecTestEngine::LoadNextFrameL, Reading Item2") ))
+	ReadItemLE(ptr, 4, (TUint8 *)&Timestamp);
+	PRINT((_L("CVDecTestEngine::LoadNextFrameL, Timestamp: %d"), Timestamp ))
+
+	delete ptr;
+	ptr = NULL;
+	iMemDelete++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::LoadNextFrameL, mem del, ptr") ))
+	#endif
+
+	if (frameSize != 0)
+	{
+
+		tempFrame += frameSize + 8;
+		PRINT((_L("CVDecTestEngine::LoadNextFrameL, tota data %d"), tempFrame ))
+		PRINT((_L("CVDecTestEngine::LoadNextFrameL, frame"), iFrame))
+
+		TInt currentPos = 0;
+		iInFile.Seek(ESeekCurrent, currentPos );
+		PRINT((_L("CVDecTestEngine::LoadNextFrameL, currentPos %d"), currentPos ))
+		currentPos = 0;
+
+		//Send metadata in the first frame
+		if (iFrame==0)
+		{
+			TInt pos = 0;
+			//err = iInFile.Seek(ESeekCurrent,pos);
+			err = iInFile.Seek(ESeekStart,pos);
+			//        	pos -= 44; //header (36) and framesize+timestamp (8)
+			//        	err = iInFile.Seek(ESeekCurrent,pos);
+			PRINT((_L("CVDecTestEngine::LoadNextFrameL, first frame")))
+			if ( (err = iInFile.Read(aCodedInBuffer->iData, frameSize+44)) != KErrNone)
+			{
+				PRINT((_L("CVDecTestEngine::LoadNextFrameL, Error reading file %d"), err ))
+				return err;
+			}
+
+			TUint8* ptr2 = new(ELeave)TUint8[4];       // dynamic alloc 2
+			iMemAlloc++;
+			#ifdef __MEM_CHECK_
+			PRINT((_L("CVDecTestEngine::LoadNextFrameL, mem alloc, ptr2") ))
+			#endif
+			Mem::FillZ(ptr2,4);
+			TPtr8 firstPtr(ptr2,4,4);
+			//			aCodedInBuffer->iData.Insert(35,firstPtr);
+			PRINT((_L("CVDecTestEngine::LoadNextFrameL, frame1"), iFrame))
+			TUint8* ptr = new ( ELeave ) TUint8[8];    // dynamic alloc 3
+			iMemAlloc++;
+			#ifdef __MEM_CHECK_
+			PRINT((_L("CVDecTestEngine::LoadNextFrameL, mem alloc, ptr") ))
+			#endif
+
+			Mem::FillZ( ptr, 8 );
+			ptr[0] = 1;
+			ptr[4] = 44;
+			TPtr8 anotherPtr(ptr, 8, 8);
+			aCodedInBuffer->iData.Insert(0, anotherPtr );
+			delete ptr2;
+			ptr2 = NULL;
+			delete ptr;
+			ptr = NULL;
+			iMemDelete += 2;
+			#ifdef __MEM_CHECK_
+			PRINT((_L("CVDecTestEngine::LoadNextFrameL, mem del, ptr2 & ptr") ))
+			#endif
+		}
+		else
+		{
+			PRINT((_L("CVDecTestEngine::LoadNextFrameL, iFrame num != 0: %d"), iFrame ))
+			TInt pos = -8;
+
+			err = iInFile.Seek(ESeekCurrent, pos);
+			PRINT((_L("CVDecTestEngine::LoadNextFrameL, read file: %d"), err ))
+			if ( (err = iInFile.Read(aCodedInBuffer->iData, frameSize+8)) != KErrNone)
+			{
+				PRINT((_L("CVDecTestEngine::LoadNextFrameL, Error reading file %d"), err ))
+				return err;
+			}
+
+			TUint8* ptr2 = new(ELeave)TUint8[4];         // dynamic alloc 4
+			iMemAlloc++;
+			#ifdef __MEM_CHECK_
+			PRINT((_L("CVDecTestEngine::LoadNextFrameL, mem alloc, ptr2") ))
+			#endif
+			Mem::FillZ(ptr2,4);
+			TPtr8 firstPtr(ptr2,4,4);
+			//			aCodedInBuffer->iData.Insert(0, firstPtr);
+			delete ptr2;
+			iMemDelete++;
+			#ifdef __MEM_CHECK_
+			PRINT((_L("CVDecTestEngine::LoadNextFrameL, mem del, ptr2") ))
+			#endif
+		}
+
+		TInt substreamID = 0;
+		if(aCodedInBuffer->iUser != NULL){
+			*((TInt*)aCodedInBuffer->iUser) = substreamID;
+		}
+		iInFile.Seek(ESeekCurrent, currentPos );
+		PRINT((_L("CVDecTestEngine::LoadNextFrameL, currentPos %d"), currentPos ))
+		currentPos = 0;
+
+		aCodedInBuffer->iSequenceNumber = iFrame;
+		aCodedInBuffer->iOptions = TVideoInputBuffer::EPresentationTimestamp;
+
+		aCodedInBuffer->iPresentationTimestamp = Timestamp;
+		iTimeToPlay = aCodedInBuffer->iPresentationTimestamp ;
+
+
+		aCodedInBuffer->iDecodingTimestamp = Timestamp;
+		iPresentationTimestamp = aCodedInBuffer->iPresentationTimestamp ;
+
+
+
+	}
+	iFrame++;
+	PRINT(_L("CVDecTestEngine::LoadNextFrameL.. Out"));
+	return frameSize;
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::ReadItemLE()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+//Currently Supporting only upto 4Bytes
+TBool CVDecTestEngine::ReadItemLE(unsigned char *readBuffer, int Size,
+unsigned char* pItem)
+{
+	PRINT((_L("CVDecTestEngine::ReadItemLE, In")));
+	unsigned int High=0, Low=0;
+	unsigned char m_char;
+	int shift = 0;
+	int numbytes = Size;
+	int i=0;
+
+	/* Read a little-endian file value into a variable, regardless of host endianness */
+	while (numbytes-- >0)
+	{
+		m_char  = readBuffer[i++];
+
+		if (shift >= 32)
+		{
+			High |= m_char << (shift-32);
+		}
+		else
+		{
+			Low  |= m_char << shift;
+		}
+		shift += 8;
+	}
+
+	switch (Size)
+	{
+		case 1:
+		*pItem = (unsigned char)Low;
+		break;
+
+		case 2:
+		*(unsigned short *)pItem = (unsigned short)Low;
+		break;
+
+		case 4:
+		*(unsigned int *)pItem = (unsigned int)Low;
+		break;
+
+		default:
+		//WARN("Unknown size (%d) item read requested",Size);
+		//return false;
+		return EFalse;
+	}
+
+	PRINT((_L("CVDecTestEngine::ReadItemLE, Out")));
+	return TRUE;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::GoBackInFile()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::GoBackInFile(TUint aBytes)
+{
+	PRINT((_L("CVDecTestEngine::GoBackInFile, In")));
+
+	//If read pointer is in the end of the buffer change it in the beginning
+	if (iReadDataChunk - iDataChunk >= aBytes)
+	{
+		iReadDataChunk -= aBytes;
+	}
+	else
+	{
+		TInt endBytes = aBytes - (iReadDataChunk - iDataChunk);
+		iReadDataChunk = iDataChunk+iDataChunkSize-endBytes;
+	}
+
+	PRINT((_L("CVDecTestEngine::GoBackInFile, Out, ")));
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::ReadByteFromFile()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+TUint8 CVDecTestEngine::ReadByteFromFile()
+{
+	//PRINT((_L("CVDecTestEngine::ReadByteFromFile, In")));
+	if (iDataReadFromFile == 0)
+	{
+		TInt err = CheckAndFillDataChunk();
+		if (err )
+		{
+			PRINT((_L("CVDecTestEngine::ReadByteFromFile, ERROR [%d]"), err));
+			return 0;
+		}
+	}
+
+	if (iReadDataChunk >= iDataChunk+iDataChunkSize)
+	{
+		iReadDataChunk = iDataChunk;
+	}
+
+	if (iEndOfData && iReadDataChunk == iWriteDataChunk && iDataReadFromFile != 0)
+	{
+		PRINT((_L("CVDecTestEngine::ReadByteFromFile, Input End found")));
+		iInputEnd = ETrue;
+		TUint8 value = 0;
+		return value;
+	}
+
+
+	TUint8 byte = iReadDataChunk[0];
+	iReadDataChunk++;
+	return byte;
+
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::ReadDataToBuffer()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::ReadDataToBuffer(TVideoInputBuffer* aCodedInBuffer, TInt aSize, TBool aDiscard)
+{
+	PRINT((_L("CVDecTestEngine::ReadDataToBuffer, In")));
+	PRINT((_L("CVDecTestEngine::ReadDataToBuffer, iWriteDataChunk [%x]"), iWriteDataChunk));
+	PRINT((_L("CVDecTestEngine::ReadDataToBuffer, iReadDataChunk [%x]"), iReadDataChunk));
+	PRINT((_L("CVDecTestEngine::ReadDataToBuffer, iDataChunk [%x]"), iDataChunk));
+	PRINT((_L("CVDecTestEngine::ReadDataToBuffer, size [%d]"), aSize));
+
+
+
+	TInt err = CheckAndFillDataChunk();
+	if (err )
+	{
+		PRINT((_L("CVDecTestEngine::ReadDataToBuffer, ERROR [%d]"), err));
+		return;
+	}
+
+	aCodedInBuffer->iData.Zero();
+
+	if (iEndOfData)
+	{
+		if (iReadDataChunk == iWriteDataChunk && iDataReadFromFile != 0)
+		{
+			PRINT((_L("CVDecTestEngine::ReadByteFromFile, Input End found")));
+			iInputEnd = ETrue;
+			return;
+		}
+
+		if (iReadDataChunk+aSize > iWriteDataChunk && iReadDataChunk < iWriteDataChunk)
+		{
+			PRINT((_L("CVDecTestEngine::ReadByteFromFile, Input End found")));
+			if (!aDiscard)
+			{
+				aCodedInBuffer->iData.Append(iReadDataChunk, (iWriteDataChunk-iReadDataChunk));
+			}
+			iReadDataChunk += aSize;
+			iInputEnd = ETrue;
+			return;
+		}
+		else if (iReadDataChunk+aSize > iDataChunk+iDataChunkSize && iReadDataChunk > iWriteDataChunk &&
+		iDataChunk+aSize-(iDataChunkSize+iDataChunk-iReadDataChunk) > iWriteDataChunk)
+		{
+			PRINT((_L("CVDecTestEngine::ReadByteFromFile, Input End found")));
+			if (!aDiscard)
+			{
+				aCodedInBuffer->iData.Append(iReadDataChunk, (iDataChunkSize+(iDataChunk-iReadDataChunk)));
+			}
+			iReadDataChunk = iDataChunk;
+			if (!aDiscard)
+			{
+				aCodedInBuffer->iData.Append(iReadDataChunk, (iWriteDataChunk-iReadDataChunk));
+			}
+			iReadDataChunk += iWriteDataChunk-iReadDataChunk;
+			iInputEnd = ETrue;
+			return;
+		}
+	}
+
+	if (iReadDataChunk+aSize <= iDataChunk+iDataChunkSize)
+	{
+		if (!aDiscard)
+		{
+			aCodedInBuffer->iData.Append(iReadDataChunk, aSize);
+		}
+		iReadDataChunk +=aSize;
+	}
+	else if (iReadDataChunk+aSize > iDataChunk+iDataChunkSize)
+	{
+		PRINT((_L("CVDecTestEngine::ReadDataToBuffer, iReadDataChunk+aSize > iDataChunk+iDataChunkSize")));
+		if (!aDiscard)
+		{
+			aCodedInBuffer->iData.Append(iReadDataChunk, (iDataChunkSize+iDataChunk-iReadDataChunk));
+		}
+		TInt end = aSize - ( iDataChunkSize+iDataChunk - iReadDataChunk );
+		iReadDataChunk = iDataChunk;
+		PRINT( ( _L( "CVDecTestEngine::ReadDataToBuffer, iReadDataChunk = iDataChunk") ) );
+		if (!aDiscard)
+		{
+			aCodedInBuffer->iData.Append(iReadDataChunk, end);
+		}
+		iReadDataChunk += end;
+	}
+
+	err = CheckAndFillDataChunk();
+	if (err )
+	{
+		PRINT((_L("CVDecTestEngine::ReadDataToBuffer, ERROR [%d]"), err));
+
+		return;
+	};
+	PRINT((_L("CVDecTestEngine::ReadDataToBuffer, Out")));
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::CheckAndFillDataChunk()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+TInt CVDecTestEngine::CheckAndFillDataChunk()
+{
+	PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, In")));
+
+	TInt err = KErrNone;
+
+	//If all the data is read return KerrNone
+	if (iEndOfData)
+	{
+		PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, End of data")));
+		return KErrNone;
+	}
+
+	TInt32 read = (TInt32)(iReadDataChunk);
+	TInt32 write = (TInt32)(iWriteDataChunk);
+	TInt32 chunk = (TInt32)(iDataChunkSize);
+	TInt32 thres = (TInt32)(iDataThreshold);
+	//First time fill the whole buffer
+
+	PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, read %d, write %d, chunk %d, thres %d"), read, write, chunk, thres));
+
+	if (iDataReadFromFile == 0)
+	{
+		TPtr8 temp(iWriteDataChunk, iDataChunkSize, iDataChunkSize);
+		if ( (err = iInFile.Read(temp, iDataChunkSize)) != KErrNone)
+		{
+			PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, Infile read [%d]"), err));
+			return err;
+		}
+		if (temp.Length() < iDataChunkSize)
+		{
+			PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, end of file found [%d]"), temp.Length()));
+			if(temp.Length()== 0){
+				PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, Error! Trying to read zero-sized input file")));
+				iInputEnd = ETrue;
+			}
+			iEndOfData = ETrue;
+			iWriteDataChunk += temp.Length();
+			iDataReadFromFile += temp.Length();
+			return KErrNone;
+		}
+		iDataReadFromFile += iDataChunkSize;
+		for (TUint i = 0; i < 20; i++)
+		{
+			PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, [%x]"), iReadDataChunk[i]));
+		}
+	}
+	else if (((read-write) > (chunk-thres)) && (iSentBuffCount != 0))
+	{
+		PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, iReadDataChunk-iWriteDataChunk > iDataChunkSize-iDataThreshold")));
+		PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, iWriteDataChunk [%x]"), iWriteDataChunk));
+		PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, iReadDataChunk [%x]"), iReadDataChunk));
+		PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, iDataChunk [%x]"), iDataChunk));
+		PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, iReadDataChunk-iWriteDataChunk [%d]"), iReadDataChunk-iWriteDataChunk));
+		PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, iDataChunkSize-iDataThreshold [%d]"), iDataChunkSize-iDataThreshold));
+
+		TPtr8 temp(iWriteDataChunk, iReadDataChunk-iWriteDataChunk, iReadDataChunk-iWriteDataChunk);
+		if ( (err = iInFile.Read(temp, (iReadDataChunk-iWriteDataChunk))) != KErrNone)
+		{
+			PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, Infile read [%d]"), err));
+			return err;
+		}
+		if (temp.Length() < iReadDataChunk-iWriteDataChunk)
+		{
+			PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, End of file found [%d]"), temp.Length()));
+			iEndOfData = ETrue;
+			iWriteDataChunk += temp.Length();
+			return KErrNone;
+		}
+		iWriteDataChunk += iReadDataChunk-iWriteDataChunk;
+		iDataReadFromFile += iReadDataChunk-iWriteDataChunk;
+	}
+	else if (((write-read) < thres) && (iSentBuffCount != 0) && ((write-read) > 0))
+	{
+		PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, iReadDataChunk-iWriteDataChunk > -iDataThreshold")));
+		//fill end of the buffer
+		TPtr8 end(iWriteDataChunk, iDataChunk+iDataChunkSize-iWriteDataChunk, iDataChunk+iDataChunkSize-iWriteDataChunk);
+		PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, TPtr created")));
+		if ( (err = iInFile.Read(end, (iDataChunkSize+iDataChunk-iWriteDataChunk))) != KErrNone)
+		{
+			PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, Infile read [%d]"), err));
+			return err;
+		}
+		if (end.Length() < (iDataChunkSize+iDataChunk-iWriteDataChunk))
+		{
+			PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, End of file found [%d]"), end.Length()));
+			iEndOfData = ETrue;
+			iWriteDataChunk += end.Length();
+			return KErrNone;
+		}
+
+		//fill beginning of the buffer
+		PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, end of data chunk filled [%d]"), end.Length()));
+		TPtr8 begin(iDataChunk, iReadDataChunk-iDataChunk, iReadDataChunk-iDataChunk);
+		if ( (err = iInFile.Read(begin, iReadDataChunk-iDataChunk)) != KErrNone)
+		{
+			PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, Infile read [%d]"), err));
+			return err;
+		}
+		if (begin.Length() < (iReadDataChunk-iDataChunk))
+		{
+			PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, End of file found [%d]"), begin.Length()));
+			iEndOfData = ETrue;
+			iWriteDataChunk = iDataChunk+begin.Length();
+			return KErrNone;
+		}
+		iWriteDataChunk = iDataChunk+begin.Length();
+		PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, beginning of data chunk filled [%d]"), begin.Length()));
+		iDataReadFromFile += iDataChunkSize-(iWriteDataChunk-iReadDataChunk);
+	}
+	else if (iWriteDataChunk == iDataChunk+iDataChunkSize)
+	{
+		iWriteDataChunk = iDataChunk;
+	}
+
+	PRINT((_L("CVDecTestEngine::CheckAndFillDataChunk, Out")));
+	return err;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::PrintUncompressedFormat()
+* Purpose:    Get Next input data
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::PrintUncompressedFormat(const TUncompressedVideoFormat& aFormat)
+{
+	PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, In")))
+
+	switch (aFormat.iDataFormat)
+	{
+		case ERgbRawData:
+		PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iDataFormat = ERgbRawData")))
+		case ERgbFbsBitmap:
+		PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iDataFormat = ERgbFbsBitmap")))
+		switch(aFormat.iRgbFormat)
+		{
+			case ERgb16bit444:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iRgbFormat = ERgb16bit444")))
+			break;
+			case ERgb16bit565:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iRgbFormat = ERgb16bit565")))
+			break;
+			case ERgb32bit888:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iRgbFormat = ERgb32bit888")))
+			break;
+			case EFbsBitmapColor4K:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iRgbFormat = EFbsBitmapColor4K")))
+			break;
+			case EFbsBitmapColor64K:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iRgbFormat = EFbsBitmapColor64K")))
+			break;
+			case EFbsBitmapColor16M:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iRgbFormat = EFbsBitmapColor16M")))
+			break;
+			case EFbsBitmapColor16MU:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iRgbFormat = EFbsBitmapColor16MU")))
+			break;
+			default:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, Error reading iRgbFormat [%x]"), aFormat.iRgbFormat))
+		}
+		break;
+		case EYuvRawData:
+		PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iDataFormat = EYuvRawData")))
+		switch(aFormat.iYuvFormat.iCoefficients)
+		{
+			case EYuvRange0:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iCoefficients = EYuvRange0")))
+			break;
+			case EYuvRange1:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iCoefficients = EYuvRange1")))
+			break;
+			case EYuvBt709:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iCoefficients = EYuvBt709")))
+			break;
+			case EYuvBt709Range0:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iCoefficients = EYuvBt709Range0")))
+			break;
+			case EYuvBt709Range1:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iCoefficients = EYuvBt709Range1")))
+			break;
+			case EYuvBt601:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iCoefficients = EYuvBt601")))
+			break;
+			case EYuvBt601Range0:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iCoefficients = EYuvBt601Range0")))
+			break;
+			case EYuvBt601Range1:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iCoefficients = EYuvBt601Range1")))
+			break;
+			case ECustomYuvMatrix:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iCoefficients = ECustomYuvMatrix")))
+			break;
+			default:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, Error reading iCoefficients [%x]"), aFormat.iYuvFormat.iCoefficients))
+		}
+		switch(aFormat.iYuvFormat.iPattern)
+		{
+			case EYuv420Chroma1:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iPattern = EYuv420Chroma1")))
+			break;
+			case EYuv420Chroma2:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iPattern = EYuv420Chroma2")))
+			break;
+			case EYuv420Chroma3:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iPattern = EYuv420Chroma3")))
+			break;
+			case EYuv422Chroma1:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iPattern = EYuv422Chroma1")))
+			break;
+			case EYuv422Chroma2:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iPattern = EYuv422Chroma2")))
+			break;
+			default:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, Error reading iPattern [%x]"), aFormat.iYuvFormat.iPattern))
+		}
+		switch(aFormat.iYuvFormat.iDataLayout)
+		{
+			case EYuvDataPlanar:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iDataLayout = EYuvDataPlanar")))
+			break;
+			case EYuvDataInterleavedLE:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iDataLayout = EYuvDataInterleavedLE")))
+			break;
+			case EYuvDataInterleavedBE:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iDataLayout = EYuvDataInterleavedBE")))
+			break;
+			case EYuvDataSemiPlanar:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iDataLayout = EYuvDataSemiPlanar")))
+			break;
+			default:
+			PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, Error reading iDataLayout [%x]"), aFormat.iYuvFormat.iDataLayout))
+		}
+		PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iAspectRatioNum [%d]"), aFormat.iYuvFormat.iAspectRatioNum))
+		PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, iAspectRatioDenom [%d]"), aFormat.iYuvFormat.iAspectRatioDenom))
+		break;
+		default :
+		PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, Error reading iDataFormat [%x]"), aFormat.iDataFormat))
+	}
+
+	PRINT((_L("CVDecTestEngine::PrintUncompressedFormat, Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::ConvertToRealL()
+* Purpose:    Converts the given descriptor to TReal
+* Parameters: const TDesC& aPtr
+* Return:     TReal
+* --------------------------------------------------------------------------*/
+
+TReal CVDecTestEngine::ConvertToRealL(const TDesC& aPtr)
+{
+	PRINT((_L("CVDecTestEngine::ConvertToReal(),In")))
+
+	TInt point = aPtr.Find(_L("."));
+
+	TBufC<7> integer;
+	TBufC<7> decimal;
+	if (point != KErrNotFound)
+	{
+
+		integer = aPtr.Mid(0, point);
+		decimal = aPtr.Mid(point+1);
+	}
+	else
+	{
+		User::Leave(KErrArgument);
+	}
+	TInt decimalInt = 0;
+	TInt integerInt = 0;
+	TLex lexInt(integer);
+	TLex lexDec(decimal);
+
+	if (lexInt.Val(integerInt) != KErrNone || lexDec.Val(decimalInt) != KErrNone)
+	{
+		PRINT((_L("CVDecTestEngine::ConvertToReal(), error in descriptor")))
+		User::Leave(KErrArgument);
+	}
+
+
+	TReal real = 1.0;
+	TReal length = static_cast<TReal>(aPtr.Length()-point-1);
+	TReal denom = pow(10.0, length);
+
+
+	real = (static_cast<TReal>(integerInt)) + (static_cast<TReal>(decimalInt)/denom);
+
+	PRINT((_L("CVDecTestEngine::ConvertToReal(),integer [%d]"), integerInt))
+	PRINT((_L("CVDecTestEngine::ConvertToReal(),decimal [%d]"), decimalInt))
+	PRINT((_L("CVDecTestEngine::ConvertToReal(),denom [%f]"), denom))
+	PRINT((_L("CVDecTestEngine::ConvertToReal(),real [%f]"), real))
+
+	PRINT((_L("CVDecTestEngine::ConvertToReal(),Out")))
+	return real;
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::MdvpoNewBuffers()
+* Purpose:    Availability of Next buffer is notified
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::MdvpoNewBuffers()
+{
+	PRINT((_L("CVDecTestEngine::MdvpoNewBuffers(), Newbuffer is available")))
+
+	//if ( iFrameMeasurement )
+	//    return;
+
+	if ( iState == ERunning)
+	{
+		iDecTestAO->RequestData();
+	}
+
+
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::MdvpoReturnPicture()
+* Purpose:    Postprocessor Input buffer is returned
+* Note:       Used when input to Postprocessing
+* Parameters: TVideoPicture* aPicture
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::MdvpoReturnPicture(TVideoPicture* aPicture)
+{
+	if ( iRawInBuffer == aPicture )
+	{
+		PRINT((_L("CVDecTestEngine::MdvpoReturnPicture, a Picture returned ")))
+		iDecTestAO->RequestData();
+
+	}
+	else
+	{
+		PRINT((_L("CVDecTestEngine::MdvpoReturnPicture, Returned picture unknown")))
+		iError = KErrGeneral;
+	}
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::MdvpoSupplementalInformation()
+* Purpose:    Supplementary information is notified
+* Note:
+* Parameters: const TDesC8& aData, const TTimeIntervalMicroSeconds& aTimestamp, const TPictureId& aPictureId
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::MdvpoSupplementalInformation(const TDesC8& /*aData*/, const TTimeIntervalMicroSeconds& /*aTimestamp*/, const TPictureId& /*aPictureId*/)
+{
+	PRINT((_L("CVDecTestEngine::MdvpoSupplementalInformation  ")))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::MdvpoPictureLoss()
+* Purpose:    Loss of a picture is notified
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::MdvpoPictureLoss()
+{
+	iPictureLoss++;
+	PRINT((_L("CVDecTestEngine::MdvpoPictureLoss, A picture lost. ")))
+
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::MdvpoPictureLoss()
+* Purpose:    Loss of pictures is notified
+* Note:
+* Parameters: const TArray<TPictureId>& aPictures
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::MdvpoPictureLoss(const TArray<TPictureId>& aPictures)
+{
+	TInt count = aPictures.Count();
+	iPictureLoss += count;
+	PRINT((_L("CVDecTestEngine::MdvpoPictureLoss, [%d] pictures lost. "),count))
+
+	for ( TInt i =0; i<count;i++ )
+	{
+		TPictureId id = aPictures[i];
+		PRINT((_L("CVDecTestEngine::MdvpoPictureLoss, Picure:[%d]"),i))
+
+		/*       if(id.iIdType == TPictureId::EPictureNumber)
+		PRINT((_L("CVDecTestEngine::MdvpoPictureLoss, Picture Type:Picture Number, ID:[%d]"),id.iId))
+		else if (id.iIdType == TPictureId::ETemporalReference)
+		PRINT((_L("CVDecTestEngine::MdvpoPictureLoss, Picture Type:Temporal Reference, ID:[%d]"),id.iId))
+		else
+		PRINT((_L("CVDecTestEngine::MdvpoPictureLoss, Picture Type:Unidentified piture")))
+		*/
+	}
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::MdvpoSliceLoss
+* Purpose:    Loss of slice is notified
+* Note:
+* Parameters: TUint aFirstMacroblock, TUint aNumMacroblocks, const TPictureId& aPicture
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::MdvpoSliceLoss(TUint /*aFirstMacroblock*/, TUint /*aNumMacroblocks*/, const TPictureId& /*aPicture*/)
+{
+
+	PRINT((_L("CVDecTestEngine::MdvpoSliceLoss, In")))
+
+	//    PRINT((_L("CVDecTestEngine::MdvpoSliceLoss, [%d] consecutive Mactoblocks from [%d] in raster-scan order are lost"),aPicture.aNumMacroblocks ,aPicture.aFirstMacroblock))
+	/*    if( aPicture.iIdType == TPictureId::EPictureNumber)
+	PRINT((_L("CVDecTestEngine::MdvpoSliceLoss, Picture Type:Picture Number, ID:[%d]"),aPicture.iId))
+	else if (aPicture.iIdType == TPictureId::ETemporalReference)
+	PRINT((_L("CVDecTestEngine::MdvpoSliceLoss, Picture Type:Temporal Reference, ID:[%d]"),aPicture.iId))
+	else
+	PRINT((_L("CVDecTestEngine::MdvpoSliceLoss, Picture Type:Unidentified piture")))
+	*/
+
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::MdvpoReferencePictureSelection
+* Purpose:
+* Note:
+* Parameters: const TDesC8& aSelectionData
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::MdvpoReferencePictureSelection(const TDesC8& /*aSelectionData*/)
+{
+	PRINT((_L("CVDecTestEngine::MdvpoReferencePictureSelection ")))
+
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::MdvpoTimedSnapshotComplete()
+* Purpose:
+* Note:
+* Parameters: TInt aError, TPictureData* aPictureData, const TTimeIntervalMicroSeconds& aPresentationTimestamp, const TPictureId& aPictureId
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::MdvpoTimedSnapshotComplete(TInt aError, TPictureData* aPictureData, const TTimeIntervalMicroSeconds& /*aPresentationTimestamp*/, const TPictureId& aPictureId)
+{
+	PRINT((_L("CVDecTestEngine::MdvpoTimedSnapshotComplete(),In, error [%d]"), aError))
+
+	if ( aError == KErrNone )
+	{
+		RFile snapshot;
+
+		TFileName filename;
+		TBuf8<128> newFile;
+		newFile.Delete(newFile.Length()-5, 4);
+		newFile.Append(_L("_id_"));
+		newFile.AppendNum(aPictureId.iId);
+		newFile.Append(_L(".yuv"));
+		filename.Copy(newFile);
+
+		TInt err = snapshot.Replace(iFs, filename, EFileShareExclusive|EFileWrite);
+
+		if ( err != KErrNone )
+		{
+			PRINT((_L("CVDecTestEngine::GetSnapshotL, snapshot file open failed")))
+			snapshot.Close();
+			User::Leave(err);
+		}
+		else
+		{
+			err = snapshot.Write(*(aPictureData->iRawData),aPictureData->iRawData->Size());
+			if ( err!= KErrNone )
+			{
+				PRINT((_L("CVDecTestEngine::GetSnapshotL, snapshot file write failed")))
+				snapshot.Close();
+				User::Leave(err);
+			}
+		}
+		PRINT((_L("CVDecTestEngine::GetSnapshotL, Picture size"),aPictureData->iRawData->Size()));
+		snapshot.Close();
+	}
+	PRINT((_L("CVDecTestEngine::MdvpoTimedSnapshotComplete(),Out")))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::MdvpoNewPictures()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::MdvpoNewPictures()
+{
+
+	PRINT((_L("CVDecTestEngine::MdvpoNewPictures(),In, New output picture is available")))
+
+	GetReturnedPictureL();
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::MdvpoFatalError()
+* Purpose:    Fatal error is notified
+* Note:       Decoder/Postprocessor to be deleted
+* Parameters: TInt aError
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::MdvpoFatalError(TInt aError)
+{
+	iError = aError;
+	PRINT((_L("CVDecTestEngine::MdvpoFatalError, FATAL ERROR [%d]"),aError))
+	iState = EStopped;
+	MdvpoStreamEnd();
+
+	iTestClass->MvdeSetError(aError);
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::MdvpoInitComplete()
+* Purpose:    Completion of initialization is notified
+* Note:
+* Parameters: TInt aError
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::MdvpoInitComplete(TInt aError)
+{
+	PRINT((_L("CVDecTestEngine::MdvpoInitComplete, In")))
+	if ( iRunning )
+	{
+		PRINT((_L("CVDecTestEngine::MdvpoInitComplete, Stopping SchedulerWait")))
+		iScheduler->AsyncStop();
+		delete iScheduler;
+		iScheduler = NULL;
+		iMemDelete++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::MdvpoInitComplete, mem del, iScheduler") ))
+		#endif
+	}
+
+	if ( aError != KErrNone )
+	{
+		iError = aError;
+		PRINT((_L("CVDecTestEngine::MdvpoInitComplete, Error code [%d]"),aError))
+		return;
+	}
+
+	if (iDeleteDecoderFromInitComp)
+	{
+		//TearDown();
+		delete iDevvp;
+		iDevvp = NULL;
+		iMemDelete++;
+		#ifdef __MEM_CHECK_
+		PRINT((_L("CVDecTestEngine::MdvpoInitComplete, mem del, iDevvp") ))
+		#endif
+		iState = EStateNone;
+		PRINT((_L("CVDecTestEngine::MdvpoInitComplete,DevVideo deleted")))
+	}
+
+	iState = EInitialized;
+	PRINT((_L("CVDecTestEngine::MdvpoInitComplete, Initialized")))
+
+	//Initilize parameters for Decoding/Playback
+	iCodedInBuffer = NULL;
+	iOutBuffer =NULL;
+	iSentBuffCount = 0;
+	iReturnedBuffCount = 0;
+	iPictureLoss =0;
+	iInputEnd = EFalse;
+	iStreamEnd = EFalse;
+	iTimeStamp = 0;
+	iNoBuffAvailable = 0;
+
+	iTestClass->MvdeStreamEndReached();  // Notify observer data transfer is complete
+	PRINT((_L("CVDecTestEngine::MdvpoInitComplete, Out")))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::MdvpoStreamEnd()
+* Purpose:    End of stream is notified
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::MdvpoStreamEnd()
+{
+	iStreamEnd = ETrue;
+	if (iOutBufferTemp)
+	{
+		iDevvp->ReturnPicture(iOutBufferTemp);
+	}
+	PRINT((_L("CVDecTestEngine::MdvpoStreamEnd(), Stream end")))
+
+	if (iFrameMeasurement && iFrameTime != 0)
+	{
+		TReal framerate = (TReal)(iReturnedBuffCount-1) / iFrameTime;
+		PRINT((_L("CVDecTestEngine::MdvpoStreamEnd(), Frame rate: [%f] fps"), framerate))
+	}
+	if(iInstantFpsEnabled)
+	{
+		TInt err = KErrNone;
+		for(TUint i=0; i < iInstantFpsList.Count(); i++ )
+		{
+			_LIT(KEnd, "\n");
+			TBuf8 <0x100> tempBuff;
+			TTimeIntervalMicroSeconds time = iInstantFpsList[ i ];
+			tempBuff.AppendNum((TInt64)time.Int64());
+			tempBuff.Append(KEnd);
+			err = iFpsFile.Write(tempBuff,tempBuff.Size() );
+			if( err != KErrNone )
+			{
+				PRINT((_L("CVDecTestEngine::MdvpoStreamEnd(), iFpsFile write error: [%d]"), err))
+			}
+		}
+	}
+	iTestClass->MvdeStreamEndReached();  // Notify observer data transfer is complete
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::MmvbmoNewBuffers()
+* Purpose:    Observer callback in Custom interface Buffer management
+*             Client is notified a new buffer(s) is available
+* Note:       This is used when custom interface buffer management is used
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+#ifdef __CI_HEADERS__
+
+void CVDecTestEngine::MmvbmoNewBuffers()
+{
+
+	PRINT((_L("CVDecTestEngine::MmvbmoNewBuffers(), New input buffer is available")))
+	if ( (iState == ERunning) && iCIBuffMgmtOn )
+	{
+		iDecTestAO->RequestData();
+	}
+
+}
+#endif
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::MmvbmoReleaseBuffers()
+* Purpose:    Observer callback in Custom interface Buffer management
+*             Client is notified to release all buffers it has, using MmvbmReleaseBuffer
+* Note:       This is used when custom interface buffer management is used
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+#ifdef __CI_HEADERS__
+void CVDecTestEngine::MmvbmoReleaseBuffers()
+{
+	if (iRawInBuffer)
+	{
+		iCIBuffMgmt->MmvbmReleaseBuffer(iRawInBuffer);
+		iRawInBuffer = NULL;
+	}
+	PRINT((_L("CVDecTestEngine::MmvbmoReleaseBuffers(), buffer released")))
+}
+
+#endif
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::
+* Purpose:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+#ifdef __RESOURCENOTIFICATION__
+void CVDecTestEngine::MmvroResourcesLost(TUid aMediaDevice)
+{
+	PRINT((_L("CVDecTestEngine::MmvroResourcesLost(), Uid [%x]"), aMediaDevice.iUid))
+
+	if (iDecoderUid.iUid != aMediaDevice.iUid)
+	{
+		PRINT((_L("CVDecTestEngine::MmvroResourcesLost, UID is different")))
+		return;
+	}
+
+	Pause();
+
+	iDecTestAO->Cancel();
+	if ( iDirectScreenAccess && iDsaStarted )
+	{
+		iDevvp->AbortDirectScreenAccess();
+		iDsaStarted = EFalse;
+		PRINT((_L("CVDecTestEngine::MmvroResourcesLost, DSA is aborted ")))
+	}
+
+
+	PRINT((_L("CVDecTestEngine::MmvroResourcesLost, Out ")))
+}
+#endif
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::
+* Purpose:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+#ifdef __RESOURCENOTIFICATION__
+void CVDecTestEngine::MmvroResourcesRestored(TUid aMediaDevice)
+{
+	PRINT((_L("CVDecTestEngine::MmvroResourcesRestored(), Uid [%x]"), aMediaDevice.iUid))
+
+	if (iDecoderUid.iUid != aMediaDevice.iUid)
+	{
+		PRINT((_L("CVDecTestEngine::MmvroResourcesRestored, UID is different")))
+		return;
+	}
+
+	if ( iDirectScreenAccess && !iDsaStarted )
+	{
+		TRAPD(err, StartDirectScreenAccessL());
+		if (err != KErrNone)
+		{
+			PRINT((_L("CVDecTestEngine::MmvroResourcesRestored, couldn't start DSA, err[%d]"),err))
+			User::Leave(err);
+		}
+		else
+		{
+			PRINT((_L("CVDecTestEngine::MmvroResourcesRestored, DSA started")))
+		}
+	}
+
+
+	// Start DevVideoPlay
+	Resume();
+
+	PRINT((_L("CVDecTestEngine::MmvroResourcesRestored(), Out")))
+}
+
+#endif
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestAO::CVDecTestAO()
+* Purpose:    Constructor
+* Parameters: CVDecTestEngine* aTestEngine
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+CVDecTestAO::CVDecTestAO(CVDecTestEngine* aTestEngine) :
+CActive(EPriorityStandard)
+{
+	iTestEngine = aTestEngine;
+	CActiveScheduler::Add(this);
+
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestAO::~CVDecTestAO()
+* Purpose:    Deconstructor
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+CVDecTestAO::~CVDecTestAO()
+{
+
+	Cancel();
+
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestAO::RequestData()
+* Purpose:    Asyncronous request of next input data
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestAO::RequestData()
+{
+
+	if ( !IsActive() )
+	{
+		TRequestStatus* status = &iStatus;
+		User::RequestComplete(status, KErrNone);
+
+		SetActive();
+	}
+	else
+	{
+		PRINT((_L("CVDecTestAO::RequestData(), Async request already active")))
+	}
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestAO::RunL()
+* Purpose:    Active object RunL
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestAO::RunL()
+{
+	if (iTestEngine->iState == EPaused || iTestEngine->iState == EStopped)
+	{
+		return;
+	}
+	iTestEngine->HandleNewBufferL();
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestAO::DoCancel()
+* Purpose:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestAO::DoCancel()
+{
+
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::CorruptInput()
+* Purpose:    Make the input file corrupted to test codec's robustness
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::CorruptInput(TInt aFilter, TInt aInterval,
+TInt aFrameNum, TInt aPct)
+{
+	PRINT((_L("CVDecTestEngine::CorruptInput(),In")))
+
+	iCorruptMarker = ETrue;
+	iCorruptCounter = 0;
+
+	iFilter = aFilter;
+	iInterval = aInterval;
+	iFrameNum = aFrameNum;
+	iPercentage = aPct;
+
+	PRINT((_L("CVDecTestEngine::CorruptInput(),Out")))
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::CorruptEngine()
+* Purpose:    Make the content in the buffer corrupted
+* Note:
+* Parameters:
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::CorruptEngineL()
+{
+	PRINT((_L("CVDecTestEngine::CorruptEngin(), In")))
+	if( iInputEnd )
+	{
+		return;
+	}
+	if( iFrameCounter <= iInterval )
+	{
+		if( iFrameCounter < iInterval )
+		{
+			iFrameCounter++;
+			return;
+		}
+		else
+		{
+			iCorruptCounter++;
+		}
+	}
+	else
+	{
+		User::Leave( KErrGeneral);
+	}
+	TInt frameLength = iCodedInBuffer->iData.Size();
+	TInt maxLength = iCodedInBuffer->iData.MaxLength();
+
+	TUint8* memoryLocation = NULL;
+	TPtr8 tmpPointer(memoryLocation, frameLength, maxLength );
+	HBufC8* tempBuff = NULL;
+	tempBuff = HBufC8::NewL(iInBuffSize);
+	CleanupStack::PushL( tempBuff );
+	iMemAlloc++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::CorruptEngineL, mem alloc, tempBuff") ))
+	#endif
+	tmpPointer.Set(tempBuff->Des());
+
+	if( iFilter == 0 )
+	{
+		//Filter 0
+		PRINT((_L("CVDecTestEngine::CorruptEngin(),Filter 0, In")))
+
+
+		TInt lengthCopy = (TInt)( frameLength * iPercentage / 100 );
+
+
+		tmpPointer.Set(iCodedInBuffer->iData);
+
+		TInt corruptLength = frameLength - lengthCopy;
+		TInt corruptLen = 0;
+		for( TInt i = 0; i < corruptLength; i++ )
+		{
+			tmpPointer.Append('F');
+			corruptLen++;
+		}
+		PRINT((_L("CVDecTestEngine::CorruptEngin(),[%d] bytes are corrupted"), corruptLen ) )
+		iCodedInBuffer->iData.Set(tmpPointer);
+
+		PRINT((_L("CVDecTestEngine::CorruptEngin(),Filter 0, Out")))
+	}
+	else
+	{
+		// Filter 1
+		PRINT((_L("CVDecTestEngine::CorruptEngin(),Filter 1, In")))
+		// To be added here
+		TInt headerLen = 0;
+		if( iFrame == 0 )
+		{
+			headerLen = 16;
+
+		}
+		else
+		{
+			headerLen = 8;
+		}
+		TInt increment = (TInt)( ( frameLength - headerLen )/ ( ( frameLength - headerLen) * iPercentage / 100) ) - 1;
+
+		for(TInt i = headerLen; i < frameLength;  )
+		{
+
+			TUint8* memorySeg = NULL;
+			TPtr8 segCopy(memorySeg,increment);
+			HBufC8* segBuff = NULL;
+			segBuff = HBufC8::NewL( increment );
+			#ifdef __MEM_CHECK_
+			PRINT((_L("CVDecTestEngine::CorruptEngine, mem alloc, segBuff") ))
+			#endif
+			iMemAlloc++;
+
+			CleanupStack::PushL( segBuff );
+			segCopy.Set(segBuff->Des());
+
+			if( i < frameLength - increment - 1 )
+			{
+				segCopy = iCodedInBuffer->iData.MidTPtr(i, increment );
+				segCopy.Append('F');
+				i++;
+				PRINT((_L("CVDecTestEngine::CorruptEngin(),[%d]th byte is corrupted"), i ) )
+				tmpPointer.Append( segCopy );
+				i += increment;
+			}
+			else // end of the frame
+			{
+				segCopy = iCodedInBuffer->iData.MidTPtr(i, (frameLength - i) );
+				tmpPointer.Append( segCopy );
+				i = frameLength;
+			}
+
+			CleanupStack::PopAndDestroy( segBuff );
+			iMemDelete++;
+			#ifdef __MEM_CHECK_
+			PRINT((_L("CVDecTestEngine::CorruptEngine, mem del, segBuff") ))
+			#endif
+		}
+		iCodedInBuffer->iData.Set(tmpPointer);
+
+		PRINT((_L("CVDecTestEngine::CorruptEngin(),Filter 1, Out")))
+	}
+	if( iCorruptCounter == iFrameNum )
+	{
+		iFrameCounter = 0;
+		iCorruptCounter = 0;
+	}
+	CleanupStack::PopAndDestroy( tempBuff );
+	iMemDelete++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::CorruptEngine, mem del, tempBuff") ))
+	#endif
+	PRINT((_L("CVDecTestEngine::CorruptEngin(), Out")))
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::CorruptEngineL(TVideoInputBuffer*
+aCodedInBuffer)
+* Purpose:    Make the content in the buffer corrupted
+* Note:
+* Parameters: TVideoInputBuffer* aCodedInBuffer
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::CorruptEngineL( TVideoInputBuffer* aCodedInBuffer )
+{
+	PRINT((_L("CVDecTestEngine::CorruptEngin(TVideoInputBuffer* aCodedInBuffer), In")))
+	iFrameWriteLength = aCodedInBuffer->iData.Length();
+	if( iInputEnd )
+	{
+		return;
+	}
+	if( iFrameCounter <= iInterval )
+	{
+		if( iFrameCounter < iInterval )
+		{
+			iFrameCounter++;
+			PRINT((_L("CVDecTestEngine::CorruptEngin(TVideoInputBuffer* aCodedInBuffer), Out")))
+			return;
+		}
+		else
+		{
+			iCorruptCounter++;
+		}
+	}
+	else
+	{
+		User::Leave( KErrGeneral);
+	}
+
+	TInt frameLength = aCodedInBuffer->iData.Size();
+	TInt maxLength = aCodedInBuffer->iData.MaxLength();
+
+	TUint8* memoryLocation = NULL;
+	TPtr8 tmpPointer(memoryLocation, frameLength, maxLength );
+	HBufC8* tempBuff = NULL;
+	tempBuff = HBufC8::NewL(iInBuffSize);
+	iMemAlloc++;
+	CleanupStack::PushL( tempBuff );
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::CorruptEngine, mem alloc, tempBuff") ))
+	#endif
+	tmpPointer.Set(tempBuff->Des());
+
+	if( iFilter == 0 )
+	{
+		//Filter 0
+		PRINT((_L("CorruptEngineL(TVideoInputBuffer* aCodedInBuffer),Filter 0, In")))
+		tmpPointer.Set( aCodedInBuffer->iData );
+		PRINT((_L("Length of tmpPointer, %d"), tmpPointer.Length() ) )
+
+		TInt corruptLength = (TInt)( ( frameLength - 8 )* iPercentage / 100 );
+
+		TInt copyLength = frameLength - corruptLength;
+
+		TInt corruptLen = 0;
+
+		for( TInt i = copyLength; i < frameLength; i++ )
+		{
+			// Corrupt the byte by chaning its value instead of setting "zero"
+			if( tmpPointer[i] < 0x05 )
+			{
+				tmpPointer[i] += 0x05;
+			}
+			else
+			{
+				tmpPointer[i] -= 0x05;
+			}
+			corruptLen++;
+		}
+		PRINT((_L("CorruptEngineL(TVideoInputBuffer* aCodedInBuffer),[%d] bytes are corrupted"), corruptLen ) )
+
+		PRINT((_L("CorruptEngineL(TVideoInputBuffer* aCodedInBuffer),Filter 0, Out")))
+	}
+	else if( iFilter == 1)
+	{
+		// Filter 1
+		PRINT((_L("CorruptEngineL(TVideoInputBuffer* aCodedInBuffer),Filter 1, In")))
+		tmpPointer.Set( aCodedInBuffer->iData );
+		PRINT((_L("Length of tmpPointer, %d"), tmpPointer.Length() ) )
+		// To be added here
+		// first 8 bytes of each frame should not be corrupted
+		TInt headerLen = 8;
+
+		TInt increment = (TInt)( ( frameLength - headerLen )/ ( ( frameLength - headerLen) * iPercentage / 100) ) - 1;
+		TInt corruptLen = 0;
+		for(TInt i = headerLen + 1; i < frameLength;  i += increment)
+		{
+			// Corrupt the byte by chaning its value instead of setting "zero"
+			if( tmpPointer[i] < 0x05 )
+			{
+				tmpPointer[i] += 0x05;
+			}
+			else
+			{
+				tmpPointer[i] -= 0x05;
+			}
+			// tmpPointer[i] = 0x00;
+			corruptLen ++;
+		}
+		PRINT((_L("CorruptEngineL(TVideoInputBuffer* aCodedInBuffer),[%d] bytes are corrupted"), corruptLen ) )
+
+		PRINT(_L("CorruptEngineL(TVideoInputBuffer* aCodedInBuffer),Filter 1, Out"))
+	}
+	else if( iFilter == 2)
+	{
+		PRINT(_L("CorruptEngineL(TVideoInputBuffer* aCodedInBuffer),Filter 2, In"))
+		tmpPointer.Set( aCodedInBuffer->iData );
+		PRINT((_L("Length of tmpPointer, %d"), tmpPointer.Length() ) )
+
+		TInt corruptLength = (TInt)( ( frameLength - 8 )* iPercentage / 100 );
+
+		//TInt copyLength = frameLength - corruptLength;
+		iFrameWriteLength -= corruptLength;
+		PRINT((_L("CorruptEngineL(TVideoInputBuffer* aCodedInBuffer),[%d] bytes are removed"), corruptLength ) )
+		// Modify the framesize value in the frame header
+		TUint32 finalSize = (TUint32)( iFrameWriteLength - 8 );
+		for( TInt i = 0; i < 3; i++ )
+		{
+			tmpPointer[i] = (TUint8) ( (  finalSize & ( (0x000000ff)<<(8*i) ) )>> (i*8) );
+		}
+		/* the above assignment equals followings
+		tmpPointer[0] = (TUint8)( finalSize & ~(0xffffff00) );
+		tmpPointer[1] = (TUint8)( ( finalSize & ~(0xffff00ff))>>8 );
+		tmpPointer[2] = (TUint8)( ( finalSize & ~(0xff00ffff))>>16 );
+		*/
+
+		PRINT(_L("CorruptEngineL(TVideoInputBuffer* aCodedInBuffer),Filter 2, Out"))
+	}
+	else      // iFilter == 3
+	{
+		PRINT(_L("CorruptEngineL(TVideoInputBuffer* aCodedInBuffer),Filter 3, In"))
+		tmpPointer.Set( aCodedInBuffer->iData );
+		TInt corruptLength = (TInt)( ( frameLength - 8 )* iPercentage / 100 );
+
+		//TInt copyLength = frameLength - corruptLength;
+		iFrameWriteLength -= corruptLength;
+		// Modify the framesize value in the frame header
+		TUint32 finalSize = (TUint32)( iFrameWriteLength - 8 );
+		for( TInt i = 0; i < 3; i++ )
+		{
+
+			tmpPointer[i] = (TUint8) ( (  finalSize & ( (0x000000ff)<<(8*i) ) )>> (i*8) );
+		}
+		TInt headerLen = 8;
+		// Copy the other bytes for the header
+		for( TInt i = 3; i < headerLen; i++ )
+		{
+
+			tmpPointer[i] = aCodedInBuffer->iData[i];
+		}
+		TInt increment = (TInt)( ( frameLength - headerLen )/ ( ( frameLength - headerLen) * iPercentage / 100) ) - 1;
+		TInt incrementCounter = 0;
+		TInt byteCounter = 0;
+		TInt j = headerLen;
+		for( TInt i = headerLen; i < iFrameWriteLength; i++ )
+		{
+
+			// metadata assignment
+			tmpPointer[i] = aCodedInBuffer->iData[j];
+			if( byteCounter < corruptLength )
+			{
+				incrementCounter++;
+			}
+
+			j++;
+			if( incrementCounter == increment )
+			{
+				j++;
+				incrementCounter = 0;
+				byteCounter++;
+			}
+		}
+
+
+		PRINT(_L("CorruptEngineL(TVideoInputBuffer* aCodedInBuffer),Filter 3, Out"))
+	}
+
+
+
+	aCodedInBuffer->iData.Set(tmpPointer);
+	if( iCorruptCounter == iFrameNum )
+	{
+		iFrameCounter = 0;
+		iCorruptCounter = 0;
+	}
+	CleanupStack::PopAndDestroy( tempBuff );
+	iMemDelete++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::CorrupEngineL, mem del, tempBuff") ))
+	#endif
+	PRINT((_L("CorruptEngineL(TVideoInputBuffer* aCodedInBuffer), Out")))
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::CreateCorruptedFile()
+* Purpose:    Make the content in the buffer corrupted and output to a file
+* Note:
+* Parameters:
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+TInt CVDecTestEngine::CreateCorruptedFileL()
+{
+	PRINT((_L("CVDecTestEngine::CreateCorruptedFileL, In")));
+	// Only support VC-1 decoder
+
+	// make new buffer for the data read from the file
+	HBufC8* tmpBuff = NULL;
+
+	TVideoInputBuffer* codedBuffer = new(ELeave) TVideoInputBuffer;
+	CleanupStack::PushL( codedBuffer );
+
+	tmpBuff = HBufC8::NewL(iInBuffSize);
+	CleanupStack::PushL( tmpBuff );
+	codedBuffer->iData.Set(tmpBuff->Des());
+	// read content of the file in the buffer
+	TInt err = 0;
+
+	TInt frameDropNumCounter = 0;
+	while ( !iInputEnd )
+	{
+		// Read the VC1 input video from the very beginning
+		if( iCodecType == EVC1)
+		{
+			err = ReadVC1FrameL( codedBuffer );
+		}
+		else if( iCodecType == EMPEG4 )
+		{
+			err = ReadMPEG4FrameL( codedBuffer );
+		}
+		else
+		{
+
+		}
+
+
+		if( err < 0)
+		{
+			PRINT((_L("CVDecTestEngine::CreateCorruptedFileL, Error reading file") ))
+			return KErrGeneral;
+		}
+		if( err == 0 )
+		{
+			PRINT((_L("CVDecTestEngine::LoadNextFrameL, End of file is found") ))
+			break;
+		}
+		else
+		{
+			// the frame is successfully read and ready to be corrupted
+
+			// make some bytes corrupted
+			if( !iFrameDropMarker )
+			{
+				CorruptEngineL( codedBuffer );
+				PRINT((_L("Corruption is done")));
+			}
+		}
+
+		// Prepare a buffer for copying the bytes from the frame buffer
+		/*
+		TInt copyLen = codedBuffer->iData.Size();
+
+		TUint8* memorySeg = NULL;
+		TPtr8 segCopy(memorySeg,copyLen);
+		HBufC8* segBuff = NULL;
+		segBuff = HBufC8::NewL( copyLen );
+		CleanupStack::PushL( segBuff );
+		segCopy.Set(segBuff->Des());
+		*/
+		if( iFrameDropMarker )
+		{
+			iFrameWriteLength = codedBuffer->iData.Length();
+			// drop the frame specified by the user
+			if( iFrameDropCounter < iFrameDropInterval )
+			{
+				PRINT((_L("CVDecTestEngine::CreateCorruptedFileL,iFrameWriteLength [%d]"), iFrameWriteLength ) )
+				err = iOutCorruptedFile.Write(codedBuffer->iData, iFrameWriteLength );
+				PRINT((_L("Output to the file for frame drop successful")));
+				if ( err!= KErrNone )
+				{
+					PRINT((_L("Output corrupted File write Failed")));
+					iOutCorruptedFile.Close();
+				}
+
+
+
+			}
+			else
+			{
+				frameDropNumCounter++;
+				PRINT((_L("Frame is dropped!")));
+			}
+
+			if( frameDropNumCounter == iFrameDropNum )
+			{
+				iFrameDropCounter = 0;
+				frameDropNumCounter = 0;
+			}
+		}
+		else //write corrupted frame to the file
+		{
+			// Prepare a buffer for copying the bytes from the frame buffer
+			/*         TInt copyLen = codedBuffer->iData.Size();
+
+			TUint8* memorySeg = NULL;
+			TPtr8 segCopy(memorySeg,copyLen);
+			HBufC8* segBuff = NULL;
+			segBuff = HBufC8::NewL( copyLen );
+			CleanupStack::PushL( segBuff );
+			segCopy.Set(segBuff->Des());
+
+			*/
+			PRINT((_L("CVDecTestEngine::CreateCorruptedFileL,iFrameWriteLength [%d]"), iFrameWriteLength ) )
+			err = iOutCorruptedFile.Write(codedBuffer->iData, iFrameWriteLength );
+
+			if ( err!= KErrNone )
+			{
+				PRINT((_L("Output corrupted File write Failed")));
+				iOutCorruptedFile.Close();
+			}
+			PRINT((_L("Output corrupted File is successful")));
+
+		}
+
+	}
+	iOutCorruptedFile.Close();
+	CleanupStack::PopAndDestroy( tmpBuff );
+	CleanupStack::PopAndDestroy( codedBuffer );
+	PRINT((_L("CVDecTestEngine::CreateCorruptedFileL, Out")));
+	return KErrNone;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::OpenFileToWriteL()
+* Purpose:    Open output File To Write
+* Note:       Memory buffer output is used
+* Parameters: TFileName& aOutFileName
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+
+void CVDecTestEngine::OpenFileToWriteL(TFileName& aInFileName)
+{
+	PRINT((_L("CVDecTestEngine::OpenFileToWrite, In")));
+	TInt err = KErrNone;
+
+	iOutCorruptedFileName.Copy(aInFileName);
+
+	err = iOutCorruptedFile.Replace(iFs, iOutCorruptedFileName, EFileShareExclusive|EFileWrite);
+
+	iOutCorruptedFileOpen = ETrue;
+
+
+	if ( err!= KErrNone )
+	{
+		PRINT((_L("CVDecTestEngine::OpenFileToWrite, Output corrupted File Replace Failed")));
+		iOutCorruptedFile.Close();
+	}
+
+	AssertTIntEqualL(KErrNone,err);
+	PRINT((_L("CVDecTestEngine::OpenFileToWrite, Out")));
+}
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::ReadVC1FrameL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+TInt CVDecTestEngine::ReadVC1FrameL(TVideoInputBuffer* aCodedInBuffer)
+{
+	// Note: this function is used as part of corrupt engine to make input
+	// VC1 video corrupted for codec robustness test
+	// Reading VC1 input video from the very beginning of the file
+	PRINT((_L("CVDecTestEngine::ReadVC1FrameL, In")));
+	unsigned int frameDataSize = 4;     //4 Bytes to obain the framesize
+	unsigned int frameSize=0;
+	unsigned int Timestamp;
+	TInt err = 0;
+	TUint8* ptr = new (ELeave) TUint8[frameDataSize];
+	iMemAlloc++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::ReadVC1FrameL, mem alloc, ptr") ))
+	#endif
+	TPtr8 frameData(ptr, frameDataSize);
+	if ( (err = iInFile.Read(frameData, frameDataSize)) != KErrNone)
+	{
+		PRINT((_L("CVDecTestEngine::ReadVC1FrameL, Error reading file") ))
+		return err;
+	}
+
+	if (frameData.Length() < 4)
+	{
+		PRINT((_L("CVDecTestEngine::ReadVC1FrameL, File end found") ))
+		aCodedInBuffer->iData.SetLength( 0 );
+		delete ptr;
+		ptr = NULL;
+		iMemDelete++;
+		iInputEnd = ETrue;
+		return KErrNone;
+	}
+
+	PRINT((_L("CVDecTestEngine::ReadVC1FrameL, Reading Item") ))
+	ReadItemLE(ptr, 4, (TUint8 *)&frameSize);
+	PRINT((_L("CVDecTestEngine::ReadVC1FrameL, before AND frameSize: %x"), frameSize ))
+
+	//RCV_V2_FRAMESIZE_FLAGS
+	frameSize = frameSize & ~(0xff000000);
+
+	PRINT((_L("CVDecTestEngine::ReadVC1FrameL, frameSize: %d"), frameSize ))
+
+	//Now obtain the Timestamp of the frame
+	if ( (err = iInFile.Read(frameData, frameDataSize)) != KErrNone)
+	{
+		PRINT((_L("CVDecTestEngine::ReadVC1FrameL, Error reading file %d"), err ))
+		return err;
+	}
+
+	PRINT((_L("CVDecTestEngine::ReadVC1FrameL, Reading Item2") ))
+	ReadItemLE(ptr, 4, (TUint8 *)&Timestamp);
+	PRINT((_L("CVDecTestEngine::ReadVC1FrameL, Timestamp: %d"), Timestamp ))
+	delete ptr;
+	iMemDelete++;
+	#ifdef __MEM_CHECK_
+	PRINT((_L("CVDecTestEngine::ReadVC1FrameL, mem del, ptr") ))
+	#endif
+	if (frameSize != 0)
+	{
+		//Send metadata in the first frame
+		if (iFrame==0)
+		{
+			PRINT((_L("CVDecTestEngine::ReadVC1FrameL, iFrame num == 0, %d"), iFrame ))
+			TInt pos = - ( KVc1HeaderLength + 8 );  // assume the codec is configured
+			err = iInFile.Seek(ESeekCurrent,pos);
+
+			// header length is 36, KVc1HeaderLength = 36
+			PRINT((_L("CVDecTestEngine::ReadVC1FrameL, file header, 36 bytes")))
+			if ( (err = iInFile.Read(aCodedInBuffer->iData, KVc1HeaderLength)) != KErrNone)
+			{
+				PRINT((_L("CVDecTestEngine::ReadVC1FrameL, Error reading file %d"), err ))
+				return err;
+			}
+
+		}
+		else
+		{
+			PRINT((_L("CVDecTestEngine::ReadVC1FrameL, iFrame num = %d"), iFrame ))
+			TInt pos = -8;
+			err = iInFile.Seek(ESeekCurrent, pos);
+			PRINT((_L("CVDecTestEngine::ReadVC1FrameL, read file: %d"), err ))
+			if ( (err = iInFile.Read(aCodedInBuffer->iData, frameSize+8)) != KErrNone)
+			{
+				PRINT((_L("CVDecTestEngine::ReadVC1FrameL, Error reading file %d"), err ))
+				return err;
+			}
+		}
+
+		TInt currentPos = 0;
+		iInFile.Seek(ESeekCurrent, currentPos );
+		PRINT((_L("CVDecTestEngine::ReadVC1FrameL, currentPos %d"), currentPos ))
+		currentPos = 0;
+
+		/*	Not necessary
+		aCodedInBuffer->iSequenceNumber = iFrame;
+		aCodedInBuffer->iOptions = TVideoInputBuffer::EPresentationTimestamp;
+
+		aCodedInBuffer->iPresentationTimestamp = Timestamp;
+		iTimeToPlay = aCodedInBuffer->iPresentationTimestamp ;
+
+
+		aCodedInBuffer->iDecodingTimestamp = Timestamp;
+		iPresentationTimestamp = aCodedInBuffer->iPresentationTimestamp ;
+		*/
+
+
+	}
+
+	iFrame++;
+	iFrameDropCounter++;
+	PRINT(_L("CVDecTestEngine::ReadVC1FrameL.. Out"));
+	return frameSize;
+}
+
+
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::ReadMPEG4FrameL()
+* Purpose:
+* Note:
+* Parameters: None
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+TInt CVDecTestEngine::ReadMPEG4FrameL(TVideoInputBuffer* aCodedInBuffer)
+{
+	// Note: this function is used as part of corrupt engine to make input
+	// MPEG4 video corrupted for codec robustness test
+	// Reading MPEG4 input video from the very beginning of the file
+	PRINT((_L("CVDecTestEngine::ReadMPEG4FrameL, In")));
+	TInt buffLength = iInBuffSize;
+
+	//TUint8* testData =NULL;
+	TInt err = KErrNone;
+
+	if ( aCodedInBuffer->iData.MaxLength() < buffLength )
+	{
+		err = KErrOverflow;
+		PRINT((_L("CVDecTestEngine::ReadMPEG4FrameL, Buffer is small, [%d]Byte"),aCodedInBuffer->iData.MaxLength()))
+		return err;
+	}
+
+	aCodedInBuffer->iData.SetLength(0);
+
+	//Buffer is not full,  reset size of buffer
+	if ( aCodedInBuffer->iData.Length() < buffLength)
+	{
+		buffLength = aCodedInBuffer->iData.Length();
+	}
+
+
+
+	TInt pos = 0;
+	TBool found = EFalse;
+	TBool firstStartCode = EFalse;
+	//TUint8 byte = 0;
+	TInt currentPos = 0;
+	iInFile.Seek(ESeekCurrent, currentPos );
+	if( currentPos != 0 && currentPos == iCurrentFilePos )
+	{
+		iInputEnd = ETrue;
+	}
+	else
+	{
+		iCurrentFilePos = currentPos;
+	}
+	PRINT((_L("CVDecTestEngine::ReadMPEG4FrameL, currentPos %d"), currentPos ))
+	while (!iInputEnd && !found)
+	{
+		TInt zeroCounter = 0;
+		err = iInFile.Read(aCodedInBuffer->iData, 1 ); // read one byte
+		if( aCodedInBuffer->iData.Length() == 0 )
+		{
+			pos++;
+			iInputEnd = ETrue;
+			break;
+		}
+
+		while( aCodedInBuffer->iData[0] == 0x00 && !iInputEnd )
+		{
+			zeroCounter++;
+			pos++;
+			err = iInFile.Read(aCodedInBuffer->iData, 1 ); // read one byte
+		}
+		pos++;
+		if ((zeroCounter >= 2) && (aCodedInBuffer->iData[0] == 0x01))
+		{
+			//byte = ReadByteFromFile();
+			err = iInFile.Read(aCodedInBuffer->iData, 1 ); // read one byte
+			//PRINT((_L("CVDecTestEngine::ReadMPEG4FrameL, iData %d, f2"), aCodedInBuffer->iData[0] ))
+			pos++;
+			//if (byte == 0xB6 && !firstStartCode)
+			if( aCodedInBuffer->iData[0] == 0xB6 && !firstStartCode )
+			{
+				firstStartCode = ETrue;
+			}
+			//else if (byte != 0xB1 && firstStartCode)
+			else if( aCodedInBuffer->iData[0]!= 0xB1 && firstStartCode )
+			{
+				PRINT((_L("CVDecTestEngine::ReadMPEG4FrameL, end of mpeg-4 picture found [%d]"), pos-4))
+				found = ETrue;
+			}
+		}
+	}
+	PRINT((_L("CVDecTestEngine::ReadMPEG4FrameL, pos (read length), %d"), pos))
+	TInt backward = 0 - pos;
+	err = iInFile.Seek(ESeekCurrent, backward );// go back
+
+	if( err != KErrNone)
+	{
+		PRINT((_L("CVDecTestEngine::ReadMPEG4FrameL, Error seeking file %d"), err ))
+		return err;
+	}
+
+	if (iInputEnd)
+	{
+		PRINT((_L("CVDecTestEngine::ReadMPEG4FrameL, inputEndFound, %d"), pos))
+		pos--;
+	}
+	else
+	{
+		pos -= 4;
+	}
+
+
+	currentPos = 0;
+	err = iInFile.Seek( ESeekCurrent, currentPos);
+	PRINT((_L("CVDecTestEngine::ReadMPEG4FrameL, position goes back to the beginning, %d"), currentPos))
+	if ( (err = iInFile.Read(aCodedInBuffer->iData, pos )) != KErrNone)
+	{
+		PRINT((_L("CVDecTestEngine::ReadMPEG4FrameL, Error reading file %d"), err ))
+		return err;
+	}
+	if( aCodedInBuffer->iData.Length() < 4 )
+	{
+		iInputEnd = ETrue;
+	}
+	iFrameDropCounter++;
+	iFrame++;
+	PRINT((_L("CVDecTestEngine::ReadMPEG4FrameL, iFrameDropCounter, %d"), iFrameDropCounter))
+	PRINT((_L("CVDecTestEngine::ReadMPEG4FrameL, Out")));
+	return pos;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetFrameDrop()
+* Purpose:
+* Note:
+* Parameters: TInt aFrameInterval, TInt aFrameNum, TBool aFrameDropMarker
+* Return:     None
+* --------------------------------------------------------------------------*/
+
+void CVDecTestEngine::SetFrameDrop(TInt aFrameInterval, TInt aFrameNum, TBool aFrameDropMarker )
+{
+	PRINT(_L("CVDecTestEngine::SetFrameDrop, In"));
+
+
+	iFrameDropInterval = aFrameInterval;
+	iFrameDropNum = aFrameNum;
+	iFrameDropMarker = aFrameDropMarker;
+
+
+	PRINT(_L("CVDecTestEngine::SetFrameDrop, Out"));
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetFLVPassword()
+* Purpose:
+* Note:
+* Parameters: TDesC8& aPassword
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SetFLVPassword(TDesC8& aPassword)
+{
+	PRINT(_L("CVDecTestEngine::SetFLVPassword, In"));
+
+	_LIT8(KNullTerminate, "\0");
+	iSetPassword = ETrue;
+	iPasswordForFLV.Copy( aPassword);
+	iPasswordForFLV.Append( KNullTerminate );
+	TBuf16<128> passwordPrint;
+	passwordPrint.Copy( iPasswordForFLV );
+
+	PRINT((_L("CVDecTestEngine::SetFLVPassword, iPasswordForFLV [%S]"), &passwordPrint))
+	PRINT(_L("CVDecTestEngine::SetFLVPassword, Out"));
+
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::EnablingInstantFpsL()
+* Purpose:
+* Note:
+* Parameters: TFileName& aOutFileName
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::EnableInstantFpsL(TFileName& aOutFileName)
+{
+	TInt err = KErrNone;
+	if (!iFrameMeasurement)
+	{
+
+		PRINT((_L("CVDecTestEngine::EnableInstantFpsL(), Frame measurement is not enabled")))
+
+		User::Leave(KErrGeneral);
+	}
+
+	err = iFpsFile.Replace(iFs, aOutFileName, EFileShareExclusive|EFileWrite);
+
+	if ( err  != KErrNone)
+	{
+		PRINT((_L("CVDecTestEngine::EnableInstantFpsL, Output File open Failed")));
+		User::Leave(err);
+	}
+
+	iInstantFpsEnabled = ETrue;
+}
+
+/* ----------------------------------------------------------------------------
+* Name:       CVDecTestEngine::SetSecondScreenAccess
+* Purpose:    Set second screen
+* Note:
+* Parameters: TBool aStatus
+* Return:     None
+* --------------------------------------------------------------------------*/
+void CVDecTestEngine::SetSecondScreenAccess(TBool aStatus)
+{
+	iUseSecondScreen = aStatus;
+}
+//  End	of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/devlon52/t_devvideo.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,42 @@
+[DECODERS]
+MPEG4 = 0x10204bfb
+H263  = 0x10204bfa
+H264  = 0x10204bfc
+
+[MPEG4]
+uid = 0x10204bfb
+[H263]
+uid = 0x10204bfa
+[EPOC]
+uid = 0x10206674
+
+[CODECTYPES]
+H263 = 1
+MPEG4 = 2
+H264 = 3
+VC1 = 4
+FLV = 5
+
+[POSTPROCESSOR]
+uid = 0x10273417
+h264uid = 0x102073ef
+
+[ENCODERS]
+MPEG4_HW = 0x101f86d5
+H263_HW = 0x101f850a
+
+MPEG4_SW = 0x10282cfd
+H263_SW = 0x10282cfc
+
+H264_1 = 0x10282cff
+H264_2 = 0x20001c13
+
+[drive]
+mmc=e:
+
+[PATHVIDEOS]
+inputPath = {drive,mmc}\InputData\
+outputPath = {drive,mmc}\OutputData\
+
+[DISPLAYMODE]
+displayMode = EColor64K
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/devlon52/t_devvideo.tcs	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,91 @@
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0001
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0002
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0003
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0004
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0007
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0033
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0035
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0036
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0038
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0001
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0002
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0001
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0002
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0001
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0002
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0001
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0002
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0009
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0010
+
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0005
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0006
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0007 
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0008
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0009
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0010
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0011
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0012
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0013
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0014
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0015
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0016
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0017
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0018
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0019 
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0021
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0022
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0023
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0024
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0029
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0030
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0031
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0032
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0033
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0034
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0035
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0036
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0037
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0038
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0039
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0040
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0041
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0042
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0043
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0045
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0046
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0047
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0048
+
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0002
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0003
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0004
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0005
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0006
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0008
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0009
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0011
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0012
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0013
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0014
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0015
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0017
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0018
+
+MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0004
+MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0005
+MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0006
+MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0008
+MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0009
+MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0010
+MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0013
+MM-MMF-DEVVIDEO-RECORD-H264-AUTOMATED-0014
+
+MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0004
+MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0005
+MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0006
+MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0008
+MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0009
+MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0010
+MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0013
+MM-MMF-DEVVIDEO-RECORD-H264-PAUSE-RESUME-AUTOMATED-0014
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/h4hrp/t_devvideo.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,36 @@
+[DECODERS]
+MPEG4 = 0x101fd83e
+H263  = 0x101fd83e
+
+[MPEG4]
+uid = 0x101fd83e
+[H263]
+uid = 0x101fd83e
+[EPOC]
+uid = 0x10206674
+
+[CODECTYPES]
+H263 = 1
+MPEG4 = 2
+
+[POSTPROCESSOR]
+uid = 0x10208288
+
+
+
+[ENCODERS]
+MPEG4_HW = 0x101FD833
+H263_HW = 0x101FD835
+
+MPEG4_SW = 0x101FD833
+H263_SW = 0x101FD835
+
+[drive]
+mmc=e:
+
+[PATHVIDEOS]
+inputPath = {drive,mmc}\InputData\
+outputPath = {drive,mmc}\OutputData\
+
+[DISPLAYMODE]
+displayMode = EColor64K
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/h4hrp/t_devvideo.tcs	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1 @@
+ 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/h6hrp/t_devvideo.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,36 @@
+[DECODERS]
+MPEG4 = 0x101fd83e
+H263  = 0x101fd83e
+
+[MPEG4]
+uid = 0x101fd83e
+[H263]
+uid = 0x101fd83e
+[EPOC]
+uid = 0x10206674
+
+[CODECTYPES]
+H263 = 1
+MPEG4 = 2
+
+[POSTPROCESSOR]
+uid = 0x10208288
+
+
+
+[ENCODERS]
+MPEG4_HW = 0x101FD833
+H263_HW = 0x101FD835
+
+MPEG4_SW = 0x10282cfd
+H263_SW = 0x10282cfc
+
+[drive]
+mmc=e:
+
+[PATHVIDEOS]
+inputPath = {drive,mmc}\InputData\
+outputPath = {drive,mmc}\OutputData\
+
+[DISPLAYMODE]
+displayMode = EColor16MU
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/h6hrp/t_devvideo.tcs	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1 @@
+ 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h263-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,390 @@
+[mmfdvplay]
+name = mmfdvplay
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-NewL_command01]
+inputfile = akiyo_cif_15fps_384k_dec.h263
+screen = TRUE
+codec = EH263
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SelectDecoderL_command02]
+dec = {DECODERS, H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0001-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-NewL_command01]
+inputfile = akiyo_cif_30fps_384k_dec.h263
+screen = TRUE
+codec = EH263
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SelectDecoderL_command02]
+dec = {DECODERS, H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0002-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-NewL_command01]
+inputfile = akiyo_cif_15fps_128k_dec.h263
+screen = TRUE
+codec = EH263
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SelectDecoderL_command02]
+dec = {DECODERS, H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0003-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-NewL_command01]
+inputfile = akiyo_cif_15fps_64k_dec.h263
+screen = TRUE
+codec = EH263
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SelectDecoderL_command02]
+dec = {DECODERS, H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0004-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-NewL_command01]
+inputfile = football_qcif_15fps_128k_dec.h263
+screen = TRUE
+codec = EH263
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SelectDecoderL_command02]
+dec = {DECODERS, H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0005-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-NewL_command01]
+inputfile = foreman_sqcif_15fps_128k_dec.h263
+screen = TRUE
+codec = EH263
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SelectDecoderL_command02]
+dec = {DECODERS, H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0006-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-NewL_command01]
+inputfile = football_qcif_15fps_64k_dec.h263
+screen = TRUE
+codec = EH263
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SelectDecoderL_command02]
+dec = {DECODERS, H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0007-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-NewL_command01]
+inputfile = foreman_sqcif_15fps_64k_dec.h263
+screen = TRUE
+codec = EH263
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SelectDecoderL_command02]
+dec = {DECODERS, H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-0008-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h263-scale-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,60 @@
+[mmfdvplay]
+name = mmfdvplay
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-NewL_command01]
+inputfile = football_qcif_15fps_128k_dec.h263
+screen = TRUE
+codec = EH263
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SelectDecoderL_command02]
+dec = {DECODERS, H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,H263}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SetPostProcessTypesL_command15]
+combination = 48
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-SetScaleOptionsL_command19]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H263-scale-0001-0001-StartDirectScreenAccess_command21]
+displayMode = {DISPLAYMODE,displayMode}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h264-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,546 @@
+[mmfdvplay]
+name = mmfdvplay
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 128
+height = 96
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = SQCIF_L1_64Kbps_30fps_news.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeShort}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 85000
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 128
+height = 96
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-EnableSynchronization_command11]
+framerate = 29
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 320
+height = 240
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = h264_QVGA_L12_15fps_384kbps_noaudio_akiyo.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong12}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 163840
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-EnableSynchronization_command11]
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 320
+height = 240
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = H264_QVGA_L13_30f_764kbps_canoa_city.264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeShort}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 163840
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-EnableSynchronization_command11]
+framerate = 29
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 176
+height = 144
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = QCIF_L1_64Kbps_15fps_news.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeShort}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 85000
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-EnableSynchronization_command11]
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0004-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 176
+height = 144
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = QCIF_L1.1_192Kbps_15fps_news.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong11}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 85000
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-EnableSynchronization_command11]
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0005-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 176
+height = 144
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = QCIF_L1.2_384Kbps_30fps_news.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong12}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 85000
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-EnableSynchronization_command11]
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0006-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 352
+height = 288
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = H264_CIF_15f_391k.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeShort}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 163840
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-EnableSynchronization_command11]
+framerate = 29
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0007-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 352
+height = 288
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = H264_CIF_L13_15f_764kbps_noaudio_tempete.264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong13}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 163840
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-EnableSynchronization_command11]
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0008-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 352
+height = 288
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = H264_CIF_L13_30f_764kbps_noaudio_tempete.264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong13}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 163840
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-EnableSynchronization_command11]
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0009-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 352
+height = 288
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = H264_CIF_L20_15f_1024kbps_noaudio_tempete.264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong20}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 163840
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-EnableSynchronization_command11]
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0010-0001-Start_command15]
+inputEnd = 1
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h264-backward-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,291 @@
+[mmfdvplay]
+name = mmfdvplay
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 128
+height = 96
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = SQCIF_L1_64Kbps_30fps_news.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeShort}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 85000
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 128
+height = 96
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-EnableSynchronization_command11]
+framerate = 29
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0001-0001-SetPosition_command17]
+pos = -10
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 176
+height = 144
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = QCIF_L1_64Kbps_15fps_news.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeShort}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 85000
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SetWindowRect_command09]
+x = 0
+y = 20
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-EnableSynchronization_command11]
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0002-0001-SetPosition_command17]
+pos = -10
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 176
+height = 144
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = QCIF_L1.2_384Kbps_30fps_news.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong12}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 85000
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-EnableSynchronization_command11]
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0003-0001-SetPosition_command17]
+pos = -10
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 352
+height = 288
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = H264_CIF_L13_15f_764kbps_noaudio_tempete.264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong13}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 81920
+minNumInputBuffers = 3
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-EnableSynchronization_command11]
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0004-0001-SetPosition_command17]
+pos = -10
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 320
+height = 240
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = h264_QVGA_L12_15fps_384kbps_noaudio_akiyo.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong12}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 81920
+minNumInputBuffers = 3
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-EnableSynchronization_command11]
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Backward-0005-0001-SetPosition_command17]
+pos = -10
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h264-forward-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,291 @@
+[mmfdvplay]
+name = mmfdvplay
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 128
+height = 96
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = SQCIF_L1_64Kbps_30fps_news.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeShort}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 85000
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 128
+height = 96
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-EnableSynchronization_command11]
+framerate = 29
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0001-0001-SetPosition_command17]
+pos = 20
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 176
+height = 144
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = QCIF_L1_64Kbps_15fps_news.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeShort}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 85000
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SetWindowRect_command09]
+x = 0
+y = 20
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-EnableSynchronization_command11]
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0002-0001-SetPosition_command17]
+pos = 20
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 176
+height = 144
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = QCIF_L1.2_384Kbps_30fps_news.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong12}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 85000
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-EnableSynchronization_command11]
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0003-0001-SetPosition_command17]
+pos = 20
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 352
+height = 288
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = H264_CIF_L13_15f_764kbps_noaudio_tempete.264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong13}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 81920
+minNumInputBuffers = 3
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-EnableSynchronization_command11]
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0004-0001-SetPosition_command17]
+pos = 20
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 320
+height = 240
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = h264_QVGA_L12_15fps_384kbps_noaudio_akiyo.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong12}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 81920
+minNumInputBuffers = 3
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-EnableSynchronization_command11]
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Forward-0005-0001-SetPosition_command17]
+pos = 20
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h264-negative-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,89 @@
+[mmfdvplay]
+name = mmfdvplay
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 0
+width = 128
+height = 96
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = SQCIF_L1_64Kbps_30fps_news.h264
+outputPath= {PATHVIDEOS,outputPath}
+outputfile= DEC.H264.M4.BASIC_DECODING_001_SQCIF_L1_64Kbps_30fps_news.yuv
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetInputFormatCompr_command02]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong10}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetOutputFormat_command03]
+hwdev = {HWDEVICE, Decoder}
+dataFormat = {DataFormat, EYuvRawData}
+dataLayout = {YUVDatalayout, EYuvDataPlanar}
+pattern = {YUVPattern, EYuv420Chroma1}
+aspectRatioNum = 1
+aspectRatioDenom = 1
+coefficients = {Coefficients, EYuvBt601Range0}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0001-0001-SetBufferOptions_command04]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 101376
+minNumInputBuffers = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 0
+width = 128
+height = 96
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = SQCIF_L1_64Kbps_30fps_news.h264
+outputPath= {PATHVIDEOS,outputPath}
+outputfile= DEC.H264.M4.BASIC_DECODING_002_SQCIF_L1_64Kbps_30fps_news.yuv
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetInputFormatCompr_command02]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong10}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0002-0001-SetOutputFormat_command03]
+hwdev = {HWDEVICE, Decoder}
+dataFormat = {DataFormat, ERgbRawData}
+dataLayout = {YUVDatalayout, EYuvDataPlanar}
+pattern = {YUVPattern, EYuv420Chroma1}
+aspectRatioNum = 1
+aspectRatioDenom = 1
+coefficients = {Coefficients, EYuvBt601Range0}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 0
+width = 128
+height = 96
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = SQCIF_L1_64Kbps_30fps_news.h264
+outputPath= {PATHVIDEOS,outputPath}
+outputfile= DEC.H264.M4.BASIC_DECODING_003_SQCIF_L1_64Kbps_30fps_news.yuv
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-0003-0001-SetInputFormatCompr_command02]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeInvalid}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h264-pause-resume-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,276 @@
+[mmfdvplay]
+name = mmfdvplay
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 128
+height = 96
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = SQCIF_L1_64Kbps_30fps_news.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeShort}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 85000
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 128
+height = 96
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-EnableSynchronization_command11]
+framerate = 29
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0001-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 176
+height = 144
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = QCIF_L1_64Kbps_15fps_news.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeShort}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 85000
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SetWindowRect_command09]
+x = 0
+y = 20
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-EnableSynchronization_command11]
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0002-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 176
+height = 144
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = QCIF_L1.2_384Kbps_30fps_news.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong12}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 85000
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-EnableSynchronization_command11]
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0003-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 352
+height = 288
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = H264_CIF_L13_15f_764kbps_noaudio_tempete.264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong13}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 81920
+minNumInputBuffers = 3
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 176
+height = 144
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-EnableSynchronization_command11]
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0004-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 320
+height = 240
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = h264_QVGA_L12_15fps_384kbps_noaudio_akiyo.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong12}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 81920
+minNumInputBuffers = 3
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 00000008
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-EnableSynchronization_command11]
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-Pause-Resume-0005-0001-Start_command15]
+inputEnd = 1
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-h264-scale-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,114 @@
+[mmfdvplay]
+name = mmfdvplay
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 176
+height = 144
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = QCIF_L1.2_384Kbps_30fps_news.h264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeLong12}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 85000
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 48
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-EnableSynchronization_command11]
+framerate = 29
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0001-0001-Start_command15]
+inputEnd = 1
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-CreateDecTest_command01]
+uidInt = {DECODERS, H264}
+buffMgmt = {BUFFER_MANAGEMENT, CIbuffoff}
+output = 1
+width = 128
+height = 96
+codec = {CODECTYPES, H264}
+inputPath = {PATHVIDEOS, inputPath}
+inputfile = fore_sqcif_35k.264
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SelectPostProcessor_command02]
+uidInt = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SetInputFormatCompr_command03]
+hwdev = {HWDEVICE, Decoder}
+dataUnitTypeInt = {VideoDataUnitType, EDuCodedPicture}
+encapsulation = {VideoDataUnitEncapsulation, EDuElementaryStream}
+dataInOrder = TRUE
+format = {MIME, KH264MimeShort}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SetBufferOptions_command05]
+preDecodeBufferSize = 0
+maxPostDecodeBufferSize = 0
+preDecoderBufferPeriodInt = 0
+postDecoderBufferPeriodInt = 0
+maxInputBufferSize = 85000
+minNumInputBuffers = 4
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SetPostProcessTypes_command07]
+hwdev = {HWDEVICE, PostProcessor}
+combination = 48
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SetVideoDestScreen_command08]
+dest = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SetWindowRect_command09]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SetPostProcessTypes_command10]
+hwdev = {HWDEVICE, Decoder}
+combination = 0
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-EnableSynchronization_command11]
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-SynchronizeDecoding_command12]
+sync = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-H264-SCALE-0002-0001-Start_command15]
+inputEnd = 1
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-mpeg4-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1878 @@
+[mmfdvplay]
+name = mmfdvplay
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-NewL_command01]
+inputfile = akiyo_ntsc_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0001-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-NewL_command01]
+inputfile = akiyo_ntsc_30fps_4M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0002-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-NewL_command01]
+inputfile = akiyo_pal_25fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-SetClockSource_command18]
+synch = 1
+framerate = 25
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0003-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-NewL_command01]
+inputfile = akiyo_pal_25fps_4M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-SetClockSource_command18]
+synch = 1
+framerate = 25
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0004-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-NewL_command01]
+inputfile = akiyo_qcif_15fps_128k_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0005-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-NewL_command01]
+inputfile = MPEG4_QVGA_15fps_256_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0006-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-NewL_command01]
+inputfile = MPEG4_QVGA_30fps_384k_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0007-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-NewL_command01]
+inputfile = MPEG4_QVGA_15fps_512_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0008-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-NewL_command01]
+inputfile = MPEG4_QVGA_30fps_768k_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0009-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-NewL_command01]
+inputfile = paris_cif_15fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0010-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-NewL_command01]
+inputfile = paris_cif_15fps_784K_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0011-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-NewL_command01]
+inputfile = paris_cif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0012-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-NewL_command01]
+inputfile = paris_cif_30fps_64K_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0013-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-NewL_command01]
+inputfile = paris_cif_30fps_784K_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0014-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-NewL_command01]
+inputfile = paris_qcif_15fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0015-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-NewL_command01]
+inputfile = paris_qcif_15fps_64K_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0016-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-NewL_command01]
+inputfile = paris_qcif_15fps_784K_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0017-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-NewL_command01]
+inputfile = paris_qcif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0018-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-NewL_command01]
+inputfile = paris_qcif_30fps_64K_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0019-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-NewL_command01]
+inputfile = singing_qcif_30fps_784K_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0020-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-NewL_command01]
+inputfile = MPEG4_QVGA_15fps_3m_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0021-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-NewL_command01]
+inputfile = MPEG4_QVGA_15fps_64k_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0022-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-NewL_command01]
+inputfile = MPEG4_QVGA_15fps_784_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0023-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-NewL_command01]
+inputfile = MPEG4_QVGA_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0024-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-NewL_command01]
+inputfile = MPEG4_QVGA_30fps_64k_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0025-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-NewL_command01]
+inputfile = MPEG4_QVGA_30fps_784k_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0026-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-NewL_command01]
+inputfile = foreman_sqcif_15fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0027-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-NewL_command01]
+inputfile = foreman_sqcif_15fps_64K_dec_mod.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0028-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-NewL_command01]
+inputfile = foreman_sqcif_15fps_784K_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0029-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-NewL_command01]
+inputfile = foreman_sqcif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0030-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-NewL_command01]
+inputfile = foreman_sqcif_30fps_64K_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0031-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-NewL_command01]
+inputfile = foreman_sqcif_30fps_784K_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0032-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-NewL_command01]
+inputfile = MPEG4_VGA_15fps_3m_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0033-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-NewL_command01]
+inputfile = MPEG4_VGA_15fps_64k_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0034-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-NewL_command01]
+inputfile = MPEG4_VGA_15fps_784k_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0035-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-NewL_command01]
+inputfile = MPEG4_VGA_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0036-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-NewL_command01]
+inputfile = MPEG4_VGA_30fps_64k_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0037-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-NewL_command01]
+inputfile = MPEG4_VGA_30fps_784k_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0038-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-NewL_command01]
+inputfile = MPEG4_SQCIF_15fps_128Kbps.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-SetClockSource_command18]
+synch = 1
+framerate = 15
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-0039-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-mpeg4-backward-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,363 @@
+[mmfdvplay]
+name = mmfdvplay
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-NewL_command01]
+inputfile =  akiyo_ntsc_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0001-0001-SetPosition_command23]
+pos = -4
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-NewL_command01]
+inputfile =  akiyo_pal_25fps_4M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SetClockSource_command18]
+synch = 1
+framerate = 25
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0002-0001-SetPosition_command23]
+pos = -4
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-NewL_command01]
+inputfile =  paris_cif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0003-0001-SetPosition_command23]
+pos = -4
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-NewL_command01]
+inputfile = paris_qcif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0004-0001-SetPosition_command23]
+pos = -4
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-NewL_command01]
+inputfile =  MPEG4_QVGA_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0005-0001-SetPosition_command23]
+pos = -4
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-NewL_command01]
+inputfile =  foreman_sqcif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeQCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0006-0001-SetPosition_command23]
+pos = -4
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-NewL_command01]
+inputfile =  MPEG4_VGA_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Backward-0007-0001-SetPosition_command23]
+pos = -4
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-mpeg4-forward-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,363 @@
+[video]
+name = video
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-NewL_command01]
+inputfile =  akiyo_ntsc_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0001-0001-SetPosition_command23]
+pos = 5
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-NewL_command01]
+inputfile =  akiyo_pal_25fps_4M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SetClockSource_command18]
+synch = 1
+framerate = 25
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0002-0001-SetPosition_command23]
+pos = 5
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-NewL_command01]
+inputfile =  paris_cif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0003-0001-SetPosition_command23]
+pos = 5
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-NewL_command01]
+inputfile =  paris_qcif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0004-0001-SetPosition_command23]
+pos = 5
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-NewL_command01]
+inputfile =  MPEG4_QVGA_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0005-0001-SetPosition_command23]
+pos = 5
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-NewL_command01]
+inputfile =  foreman_sqcif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeQCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0006-0001-SetPosition_command23]
+pos = 5
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-NewL_command01]
+inputfile =  MPEG4_VGA_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Forward-0007-0001-SetPosition_command23]
+pos = 5
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,342 @@
+[mmfdvplay]
+name = mmfdvplay
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-NewL_command01]
+inputfile =  akiyo_ntsc_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SetInputFormat_command04]
+mimeType= {MIME,MP4V}
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SetInputFormat_command09]
+mimeType= {MIME,MP4V}
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-GetOutputFormatListL_command10]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0001-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-NewL_command01]
+inputfile =akiyo_pal_25fps_4M_dec.m4v
+screen = TRUE
+codec =EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SetPostProcessTypesL_command15]
+combination = 44
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-SetClockSource_command18]
+synch = 1
+framerate = 25
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0002-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-NewL_command01]
+inputfile =  paris_cif_30fps_3M_dec.m4v
+screen = TRUE
+codec =EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0003-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-NewL_command01]
+inputfile =  paris_qcif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0004-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-NewL_command01]
+inputfile =  MPEG4_QVGA_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0005-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-NewL_command01]
+inputfile = foreman_sqcif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeQCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0006-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-NewL_command01]
+inputfile =  MPEG4_VGA_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SelectDecoderL_command02]
+dec = {MPEG4, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SetOutputFormatL_command11]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KMP4MaxCodedSizeVGA}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SetPostProcessTypesL_command15]
+combination = 40
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Pause-Resume-0007-0001-StartDirectScreenAccess_command20]
+displayMode = {DISPLAYMODE,displayMode}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,576 @@
+[mmfdvplay]
+name = mmfdvplay
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-NewL_command01]
+inputfile = akiyo_ntsc_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetPostProcessTypesL_command15]
+combination = 4C
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetScaleOptionsL_command19]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-SetRotateOptionsL_command20]
+rotation = ERotate90Clockwise
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0001-0001-StartDirectScreenAccess_command22]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-NewL_command01]
+inputfile = akiyo_pal_25fps_4M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetPostProcessTypesL_command15]
+combination = 4C
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetClockSource_command18]
+synch = 1
+framerate = 25
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetScaleOptionsL_command19]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-SetRotateOptionsL_command20]
+rotation = ERotate90Clockwise
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0002-0001-StartDirectScreenAccess_command22]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-NewL_command01]
+inputfile = paris_cif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetPostProcessTypesL_command15]
+combination = 4C
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetScaleOptionsL_command19]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-SetRotateOptionsL_command20]
+rotation = ERotate90Clockwise
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0003-0001-StartDirectScreenAccess_command22]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-NewL_command01]
+inputfile = paris_cif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetPostProcessTypesL_command15]
+combination = 4C
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetScaleOptionsL_command19]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-SetRotateOptionsL_command20]
+rotation = ERotate90Clockwise
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0004-0001-StartDirectScreenAccess_command22]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-NewL_command01]
+inputfile = MPEG4_QVGA_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetPostProcessTypesL_command15]
+combination = 4C
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetScaleOptionsL_command19]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-SetRotateOptionsL_command20]
+rotation = ERotate90Clockwise
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0005-0001-StartDirectScreenAccess_command22]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-NewL_command01]
+inputfile = MPEG4_QVGA_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetPostProcessTypesL_command15]
+combination = 4C
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetScaleOptionsL_command19]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-SetRotateOptionsL_command20]
+rotation = ERotate180
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0006-0001-StartDirectScreenAccess_command22]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-NewL_command01]
+inputfile = foreman_sqcif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetPostProcessTypesL_command15]
+combination = 4C
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetScaleOptionsL_command19]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-SetRotateOptionsL_command20]
+rotation = ERotate90Clockwise
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0007-0001-StartDirectScreenAccess_command22]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-NewL_command01]
+inputfile = foreman_sqcif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetPostProcessTypesL_command15]
+combination = 4C
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetScaleOptionsL_command19]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-SetRotateOptionsL_command20]
+rotation = ERotate180
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0008-0001-StartDirectScreenAccess_command22]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-NewL_command01]
+inputfile = MPEG4_VGA_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetPostProcessTypesL_command15]
+combination = 4C
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetScaleOptionsL_command19]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-SetRotateOptionsL_command20]
+rotation = ERotate90Clockwise
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0009-0001-StartDirectScreenAccess_command22]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-NewL_command01]
+inputfile = MPEG4_VGA_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetPostProcessTypesL_command15]
+combination = 4C
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetScaleOptionsL_command19]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-SetRotateOptionsL_command20]
+rotation = ERotate180
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Rotation-0010-0001-StartDirectScreenAccess_command22]
+displayMode = {DISPLAYMODE,displayMode}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-playback-mpeg4-scale-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,222 @@
+[mmfdvplay]
+name = mmfdvplay
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-NewL_command01]
+inputfile = paris_qcif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SetPostProcessTypesL_command15]
+combination = 48
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-SetScaleOptionsL_command19]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0001-0001-StartDirectScreenAccess_command21]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-NewL_command01]
+inputfile = foreman_sqcif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SetPostProcessTypesL_command15]
+combination = 48
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-SetScaleOptionsL_command19]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0002-0001-StartDirectScreenAccess_command21]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-NewL_command01]
+inputfile = paris_cif_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SetPostProcessTypesL_command15]
+combination = 48
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-SetScaleOptionsL_command19]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0003-0001-StartDirectScreenAccess_command21]
+displayMode = {DISPLAYMODE,displayMode}
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-NewL_command01]
+inputfile = MPEG4_QVGA_30fps_3M_dec.m4v
+screen = TRUE
+codec = EMPEG4
+synch = 1
+inputPath = {PATHVIDEOS, inputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SelectDecoderL_command02]
+dec = {DECODERS, MPEG4}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SelectPostProcessorL_command03]
+postprocessor = {POSTPROCESSOR, uid}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SetInputFormat_command04]
+useDecoder = TRUE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-GetOutputFormatListL_command05]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SetOutputFormatL_command08]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SetInputFormat_command09]
+useDecoder = FALSE
+mimeType= {MIME,MP4V}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-GetOutputFormatListL_command10]
+useDecoder = FALSE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SetOutputFormatL_command11]
+useDecoder = TRUE
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-GetHeaderInformationL_command12]
+buffer = {BUFFER_SIZE, KH263MaxCodedSizeCIF}
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SetPostProcessTypesL_command15]
+combination = 48
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SetClockSource_command18]
+synch = 1
+framerate = 30
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-SetScaleOptionsL_command19]
+x = 0
+y = 0
+width = 240
+height = 320
+
+[MULTIMEDIA-MMF-DevVideo-Playback-Mpeg4-Scale-0004-0001-StartDirectScreenAccess_command21]
+displayMode = {DISPLAYMODE,displayMode}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-record-h263-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,488 @@
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo.ini
+
+[dvr]
+name = dvr
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0001-0001-NewL_command01]
+inputfile=qcif.yuv
+outputfile=001.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0001-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0001-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0001-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0001-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0001-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0002-0001-NewL_command01]
+inputfile=qcif.yuv
+outputfile=002.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0002-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0002-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0002-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0002-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0002-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0003-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=003.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0003-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0003-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0003-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0003-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0003-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0004-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=004.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0004-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0004-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0004-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0004-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0004-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0005-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=005.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0005-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0005-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0005-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0005-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0005-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0006-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=006.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0006-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=30
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0006-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0006-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0006-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0006-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0007-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=007.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0007-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0007-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0007-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0007-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0007-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0008-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=008.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0008-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0008-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0008-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0008-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0008-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0009-0001-NewL_command01]
+inputfile=qcif.yuv
+outputfile=051.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0009-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0009-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0009-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0009-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0009-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0010-0001-NewL_command01]
+inputfile=qcif.yuv
+outputfile=052.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0010-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0010-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0010-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0010-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0010-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0011-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=053.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0011-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0011-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0011-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0011-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0011-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0012-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=054.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0012-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0012-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0012-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0012-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0012-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0013-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=055.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0013-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0013-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0013-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0013-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0013-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0014-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=056.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0014-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=30
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0014-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0014-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0014-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0014-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0015-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=057.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0015-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0015-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0015-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0015-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0015-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0016-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=058.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0016-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0016-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0016-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0016-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-0016-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-record-h263-pause-resume-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,548 @@
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo.ini
+
+[dvr]
+name = dvr
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0001-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=009.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0001-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0001-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0001-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0001-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0001-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0002-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=010.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0002-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0002-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0002-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0002-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0002-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0003-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=011.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0003-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0003-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0003-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0003-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0003-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0004-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=012.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0004-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0004-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0004-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0004-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0004-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0005-0001-NewL_command01]
+inputfile=qcif.yuv
+outputfile=013.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0005-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0005-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0005-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0005-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0005-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0006-0001-NewL_command01]
+inputfile=qcif.yuv
+outputfile=014.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0006-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0006-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0006-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0006-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0006-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0007-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=015.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0007-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0007-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0007-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0007-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0007-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0008-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=016.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0008-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0008-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0008-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0008-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0008-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0009-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=017.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0009-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_SW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=30
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0009-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0009-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0009-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0009-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0010-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=059.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0010-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0010-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0010-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0010-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0010-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0011-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=060.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0011-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0011-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0011-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0011-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0011-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0012-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=061.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0012-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0012-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0012-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0012-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0012-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0013-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=062.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0013-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0013-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0013-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0013-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0013-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0014-0001-NewL_command01]
+inputfile=qcif.yuv
+outputfile=063.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0014-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0014-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0014-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0014-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0014-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0015-0001-NewL_command01]
+inputfile=qcif.yuv
+outputfile=064.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0015-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0015-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0015-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0015-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0015-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0016-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=065.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0016-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0016-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0016-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0016-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0016-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0017-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=066.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0017-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0017-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0017-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0017-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0017-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0018-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=067.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0018-0001-SelectEncoderL_command02]
+uid={ENCODERS, H263_HW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=30
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0018-0001-SetOutputFormatL_command04]
+mimeType= {MIME,H263_LV10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0018-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0018-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H263-Pause-Resume-0018-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-record-h264-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,536 @@
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo.ini
+
+[dvr]
+name = dvr
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0001-NewL]
+inputfile=qcif.yuv
+outputfile=001.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0001-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0001-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0001-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0001-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0001-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0001-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=45000
+pictureQuality=50
+picRate=10.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0002-NewL]
+inputfile=qcif.yuv
+outputfile=002.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0002-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0002-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0002-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0002-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0002-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0002-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=64000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0003-NewL]
+inputfile=qcif.yuv
+outputfile=003.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0003-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0003-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0003-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0003-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0003-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0003-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=128000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0004-NewL]
+inputfile=sqcif.yuv
+outputfile=004.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0004-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0004-SetOutputFormatL]
+mimeType= {MIME,KH264MimeShort}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0004-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0004-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0004-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0004-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=30000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0005-NewL]
+inputfile=sqcif.yuv
+outputfile=005.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0005-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0005-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0005-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvCodingStandard
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0005-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0005-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0005-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=64000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0006-NewL]
+inputfile=sqcif.yuv
+outputfile=006.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0006-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0006-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0006-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0006-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0006-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0006-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=128000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0007-NewL]
+inputfile=cif.yuv
+outputfile=007.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0007-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0007-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong12}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0007-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0007-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0007-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0007-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=128000
+pictureQuality=50
+picRate=10.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0008-NewL]
+inputfile=cif.yuv
+outputfile=008.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0008-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0008-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong12}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0008-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0008-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0008-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0008-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=384000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0009-NewL]
+inputfile=cif.yuv
+outputfile=009.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0009-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0009-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0009-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0009-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0009-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0009-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=2000000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0010-NewL]
+inputfile=qvga.yuv
+outputfile=010.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0010-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0010-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong12}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0010-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0010-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0010-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0010-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=128000
+pictureQuality=50
+picRate=10.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0011-NewL]
+inputfile=qvga.yuv
+outputfile=011.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0011-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0011-SetOutputFormatL]
+mimeType= {MIME,KH264MimeShort}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0011-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0011-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0011-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0011-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=384000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0012-NewL]
+inputfile=qvga.yuv
+outputfile=012.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0012-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0012-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong12}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0012-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0012-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0012-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0012-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=384000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0013-NewL]
+inputfile=vga.yuv
+outputfile=013.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0013-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0013-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong22}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0013-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_22}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0013-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0013-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0013-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=2000000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0014-NewL]
+inputfile=vga.yuv
+outputfile=014.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0014-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0014-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong30}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0014-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_3}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0014-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0014-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-0014-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=6000000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-record-h264-pause-resume-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,536 @@
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo.ini
+
+[dvr]
+name = dvr
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0001-NewL]
+inputfile=qcif.yuv
+outputfile=001.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0001-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0001-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0001-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0001-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0001-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0001-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=45000
+pictureQuality=50
+picRate=10.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0002-NewL]
+inputfile=qcif.yuv
+outputfile=002.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0002-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0002-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0002-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0002-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0002-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0002-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=64000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0003-NewL]
+inputfile=qcif.yuv
+outputfile=003.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0003-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0003-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0003-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0003-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0003-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0003-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=128000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0004-NewL]
+inputfile=sqcif.yuv
+outputfile=004.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0004-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0004-SetOutputFormatL]
+mimeType= {MIME,KH264MimeShort}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0004-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0004-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0004-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0004-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=30000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0005-NewL]
+inputfile=sqcif.yuv
+outputfile=005.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0005-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0005-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0005-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvCodingStandard
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0005-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0005-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0005-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=64000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0006-NewL]
+inputfile=sqcif.yuv
+outputfile=006.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0006-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0006-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong10}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0006-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_1b}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0006-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0006-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0006-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=128000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0007-NewL]
+inputfile=cif.yuv
+outputfile=007.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0007-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0007-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong12}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0007-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0007-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0007-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0007-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=128000
+pictureQuality=50
+picRate=10.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0008-NewL]
+inputfile=cif.yuv
+outputfile=008.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0008-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0008-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong12}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0008-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0008-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0008-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0008-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=384000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0009-NewL]
+inputfile=cif.yuv
+outputfile=009.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0009-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0009-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong20}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0009-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0009-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0009-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0009-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=2000000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0010-NewL]
+inputfile=qvga.yuv
+outputfile=010.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0010-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0010-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong12}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0010-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0010-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0010-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0010-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=128000
+pictureQuality=50
+picRate=10.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0011-NewL]
+inputfile=qvga.yuv
+outputfile=011.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0011-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0011-SetOutputFormatL]
+mimeType= {MIME,KH264MimeShort}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0011-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0011-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0011-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0011-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=384000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0012-NewL]
+inputfile=qvga.yuv
+outputfile=012.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0012-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0012-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong12}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0012-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_12}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0012-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0012-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0012-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=384000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0013-NewL]
+inputfile=vga.yuv
+outputfile=013.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0013-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0013-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong22}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0013-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_22}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0013-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0013-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0013-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=2000000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0014-NewL]
+inputfile=vga.yuv
+outputfile=014.h264
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0014-SelectEncoderL]
+uid={ENCODERS, H264_2}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0014-SetOutputFormatL]
+mimeType= {MIME,KH264MimeLong30}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0014-SetBufferOptionsL]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize={H264_BUFFER_SIZE,KMaxCodedPictureLevel_3}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0014-SetMinRandomAccessRate]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0014-SetComplexityLevel]
+complexityLevel=0
+
+[MULTIMEDIA-MMF-DevVideo-Recording-H264-Pause-Resume-0014-SetRateControlOptions]
+layer=0
+bitrateControlType={TBitrateControlType,EBrControlStream}
+bitrate=6000000
+pictureQuality=50
+picRate=15.0
+qualityTempTradeOff=0.8
+latencyQuality=1.0
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-record-mpeg4-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1448 @@
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo.ini
+
+[dvr]
+name = dvr
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0001-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=018.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0001-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=30
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0001-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0001-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0001-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0001-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0002-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=019.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0002-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0002-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0002-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0002-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0002-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0003-0001-NewL_command01]
+inputfile=qcif.yuv
+outputfile=020.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0003-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0003-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0003-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0003-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0003-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0004-0001-NewL_command01]
+inputfile=qcif.yuv
+outputfile=021.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0004-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0004-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0004-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0004-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0004-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0005-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=022.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0005-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0005-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0005-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0005-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0005-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0006-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=023.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0006-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0006-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0006-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0006-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0006-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0007-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=024.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0007-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0007-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0007-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0007-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0007-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0008-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=025.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0008-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0008-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0008-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0008-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0008-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0009-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=026.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0009-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0009-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0009-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0009-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0009-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0010-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=027.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0010-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0010-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0010-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0010-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0010-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0011-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=028.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0011-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0011-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0011-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0011-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0011-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0012-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=029.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0012-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0012-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0012-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0012-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0012-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0013-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=030.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0013-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0013-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0013-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0013-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0013-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0014-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=031.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0014-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0014-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0014-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0014-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0014-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0015-0001-NewL_command01]
+inputfile=pal.yuv
+outputfile=032.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0015-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, PAL}
+picWidth={WIDTH,PAL}
+picHeight={HEIGHT,PAL}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0015-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0015-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0015-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0015-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0016-0001-NewL_command01]
+inputfile=pal.yuv
+outputfile=033.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0016-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, PAL}
+picWidth={WIDTH,PAL}
+picHeight={HEIGHT,PAL}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0016-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0016-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0016-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0016-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0017-0001-NewL_command01]
+inputfile=pal.yuv
+outputfile=034.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0017-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, PAL}
+picWidth={WIDTH,PAL}
+picHeight={HEIGHT,PAL}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0017-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0017-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0017-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0017-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0018-0001-NewL_command01]
+inputfile=ntsc.yuv
+outputfile=035.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0018-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, NTSC}
+picWidth={WIDTH,NTSC}
+picHeight={HEIGHT,NTSC}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0018-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0018-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0018-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0018-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0019-0001-NewL_command01]
+inputfile=ntsc.yuv
+outputfile=036.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0019-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, NTSC}
+picWidth={WIDTH,NTSC}
+picHeight={HEIGHT,NTSC}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0019-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0019-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0019-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0019-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0020-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=037.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0020-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=30
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0020-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0020-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0020-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0020-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0021-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=038.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0021-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0021-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0021-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0021-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0021-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0022-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=040.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0022-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0022-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0022-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0022-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0022-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0023-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=041.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0023-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0023-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0023-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0023-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0023-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0024-0001-NewL_command01]
+inputfile=ntsc.yuv
+outputfile=044.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0024-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, NTSC}
+picWidth={WIDTH,NTSC}
+picHeight={HEIGHT,NTSC}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0024-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0024-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0024-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0024-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0025-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=068.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0025-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=30
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0025-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0025-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0025-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0025-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0026-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=069.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0026-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0026-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0026-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0026-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0026-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0027-0001-NewL_command01]
+inputfile=qcif.yuv
+outputfile=070.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0027-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0027-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0027-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0027-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0027-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0028-0001-NewL_command01]
+inputfile=qcif.yuv
+outputfile=071.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0028-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0028-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0028-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0028-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0028-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0029-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=072.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0029-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0029-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0029-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0029-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0029-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0030-0001-NewL_command01]
+inputfile=cif.yuv
+outputfile=073.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0030-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, CIF}
+picWidth={WIDTH,CIF}
+picHeight={HEIGHT,CIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0030-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0030-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0030-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0030-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0031-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=074.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0031-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0031-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0031-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0031-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0031-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0032-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=075.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0032-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0032-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0032-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0032-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0032-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0033-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=076.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0033-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0033-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0033-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0033-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0033-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0034-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=077.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0034-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0034-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0034-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0034-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0034-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0035-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=078.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0035-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0035-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0035-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0035-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0035-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0036-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=079.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0036-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0036-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0036-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0036-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0036-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0037-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=080.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0037-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0037-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0037-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0037-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0037-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0038-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=081.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0038-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0038-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0038-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0038-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0038-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0039-0001-NewL_command01]
+inputfile=pal.yuv
+outputfile=082.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0039-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, PAL}
+picWidth={WIDTH,PAL}
+picHeight={HEIGHT,PAL}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0039-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0039-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0039-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0039-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0040-0001-NewL_command01]
+inputfile=pal.yuv
+outputfile=083.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0040-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, PAL}
+picWidth={WIDTH,PAL}
+picHeight={HEIGHT,PAL}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0040-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0040-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0040-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0040-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0041-0001-NewL_command01]
+inputfile=pal.yuv
+outputfile=084.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0041-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, PAL}
+picWidth={WIDTH,PAL}
+picHeight={HEIGHT,PAL}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0041-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0041-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0041-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0041-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0042-0001-NewL_command01]
+inputfile=ntsc.yuv
+outputfile=085.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0042-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, NTSC}
+picWidth={WIDTH,NTSC}
+picHeight={HEIGHT,NTSC}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0042-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0042-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0042-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0042-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0043-0001-NewL_command01]
+inputfile=ntsc.yuv
+outputfile=086.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0043-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, NTSC}
+picWidth={WIDTH,NTSC}
+picHeight={HEIGHT,NTSC}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0043-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0043-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0043-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0043-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0044-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=087.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0044-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=30
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0044-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0044-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0044-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0044-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0045-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=088.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0045-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0045-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0045-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0045-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0045-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0046-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=090.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0046-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0046-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0046-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0046-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0046-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0047-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=091.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0047-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0047-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0047-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0047-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0047-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0048-0001-NewL_command01]
+inputfile=ntsc.yuv
+outputfile=094.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0048-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, NTSC}
+picWidth={WIDTH,NTSC}
+picHeight={HEIGHT,NTSC}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0048-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0048-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0048-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-0048-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,548 @@
+
+[include]
+file1 = \multimedia\mmf\devvideo\t_devvideo_environment.ini
+file2 = \multimedia\mmf\devvideo\t_devvideo.ini
+
+[dvr]
+name = dvr
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0001-0001-NewL_command01]
+inputfile=qcif.yuv
+outputfile=039.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0001-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0001-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV1}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0001-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0001-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0001-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0002-0001-NewL_command01]
+inputfile=ntsc.yuv
+outputfile=042.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0002-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, NTSC}
+picWidth={WIDTH,NTSC}
+picHeight={HEIGHT,NTSC}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0002-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0002-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0002-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0002-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0003-0001-NewL_command01]
+inputfile=pal.yuv
+outputfile=043.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0003-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, PAL}
+picWidth={WIDTH,PAL}
+picHeight={HEIGHT,PAL}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0003-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0003-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0003-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0003-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0004-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=045.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0004-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0004-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0004-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0004-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0004-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0005-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=046.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0005-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0005-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0005-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0005-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0005-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0006-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=047.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0006-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0006-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0006-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0006-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0006-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0007-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=048.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0007-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0007-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0007-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0007-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0007-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0008-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=049.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0008-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0008-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0008-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0008-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0008-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0009-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=050.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0009-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_SW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0009-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0009-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0009-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0009-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0010-0001-NewL_command01]
+inputfile=qcif.yuv
+outputfile=089.h263
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0010-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, QCIF}
+picWidth={WIDTH,QCIF}
+picHeight={HEIGHT,QCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0010-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV1}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0010-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0010-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0010-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0011-0001-NewL_command01]
+inputfile=ntsc.yuv
+outputfile=092.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0011-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, NTSC}
+picWidth={WIDTH,NTSC}
+picHeight={HEIGHT,NTSC}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0011-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0011-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0011-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0011-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0012-0001-NewL_command01]
+inputfile=pal.yuv
+outputfile=093.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0012-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, PAL}
+picWidth={WIDTH,PAL}
+picHeight={HEIGHT,PAL}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0012-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0012-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0012-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0012-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0013-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=095.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0013-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0013-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0013-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0013-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0013-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0014-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=096.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0014-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0014-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0014-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0014-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0014-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0015-0001-NewL_command01]
+inputfile=qvga.yuv
+outputfile=097.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0015-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, QVGA}
+picWidth={WIDTH,QVGA}
+picHeight={HEIGHT,QVGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0015-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0015-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0015-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0015-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0016-0001-NewL_command01]
+inputfile=sqcif.yuv
+outputfile=098.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0016-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, SQCIF}
+picWidth={WIDTH,SQCIF}
+picHeight={HEIGHT,SQCIF}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0016-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV3}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0016-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0016-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0016-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0017-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=099.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0017-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0017-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0017-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0017-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0017-0001-SetComplexityLevel_command09]
+complexityLevel=0
+
+
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0018-0001-NewL_command01]
+inputfile=vga.yuv
+outputfile=100.m4v
+inputPath={PATHVIDEOS,inputPath}
+outputPath={PATHVIDEOS,outputPath}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0018-0001-SelectEncoderL_command02]
+uid={ENCODERS, MPEG4_HW}
+rawPicLength={RAWPICLENGTH, VGA}
+picWidth={WIDTH,VGA}
+picHeight={HEIGHT,VGA}
+framerate=15
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0018-0001-SetOutputFormatL_command04]
+mimeType= {MIME,MP4V_LV4}
+DataUnitType={TVideoDataUnitType,EduCodedPicture}
+DataEncapsulation={TVideoDataUnitEncapsulation,EDuElementaryStream}
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0018-0001-SetBufferOptionsL_command05]
+HrdVbvSpecification=EHrdVbvNone
+maxPictureSize=10240
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0018-0001-SetMinRandomAccessRate_command07]
+randomAccessRate=1
+
+[MULTIMEDIA-MMF-DevVideo-Recording-Mpeg4-Pause-Resume-0018-0001-SetComplexityLevel_command09]
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/t_devvideo_environment.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,154 @@
+[MIME]
+H263		=	video/H263-2000
+H263_1998	=	video/H263-1998
+H263_LV10	=	video/H263-2000;profile=0;level=10
+H263_LV20	=	video/H263-2000;profile=0;level=20
+H263_LV30	=	video/H263-2000;profile=0;level=30
+H263_LV45	=	video/H263-2000;profile=0;level=10
+MP4V		=	video/mp4v-es
+MP4V_LV1	=	video/mp4v-es;profile-level-id=1
+MP4V_LV2	=	video/mp4v-es;profile-level-id=2
+MP4V_LV3	=	video/mp4v-es;profile-level-id=3
+MP4V_LV4	=	video/mp4v-es;profile-level-id=4
+MP4V_LV5	=	video/mp4v-es;profile-level-id=5
+MP4V_LV8	=	video/mp4v-es;profile-level-id=8
+MP4V_LV9	=	video/mp4v-es;profile-level-id=9
+MPEG		=	video/mpeg
+ANY			=	ANY
+KH264MimeShort  = video/h264
+KH264MimeLong10 = video/h264; profile-level-id=42800A
+KH264MimeLong10b= video/h264; profile-level-id=42900B
+KH264MimeLong11 = video/h264; profile-level-id=42800B
+KH264MimeLong12 = video/h264; profile-level-id=42800C
+KH264MimeLong13 = video/h264; profile-level-id=42800D
+KH264MimeLong20 = video/h264; profile-level-id=428014
+KH264MimeLongMix= vIdeo/h264; prOfile-LEVEl-id=42800a
+KH264MimeLong22 = video/h264; profile-level-id=428016
+KH264MimeLong30 = video/h264; profile-level-id=42801E
+
+[RAWPICLENGTH]
+QCIF=38016
+QVGA=115200
+SQCIF=18432
+CIF=152064
+VGA=460800
+PAL=663552
+NTSC=518400
+
+[WIDTH]
+SQCIF = 96
+QCIF = 144
+CIF = 288
+QVGA = 240
+VGA = 480
+PAL = 576
+NTSC = 480
+
+[HEIGHT]
+SQCIF = 128
+QCIF = 176
+CIF = 352
+QVGA = 320
+VGA = 640
+PAL = 768
+NTSC = 720
+
+[DISPLAYMODE]
+ENone = 0 
+EGray2 = 1
+EGray4 = 2
+EGray16 = 3
+EGray256 = 4
+EColor16 = 5
+EColor256 = 6
+EColor64K = 7
+EColor16M = 8
+ERgb = 9
+EColor4K = 10 
+EColor16MU = 11
+EColor16MA = 12
+EColor16MAP = 13
+EColorLast = 14
+
+[BUFFER_SIZE]
+KH263MaxCodedSizeQCIF=8192 
+KH263MaxCodedSizeCIF=32768 
+KMP4MaxCodedSizeQCIF=20480
+KMP4MaxCodedSizeCIF=81920
+KMP4MaxCodedSizeVGA=163840
+
+
+[TVideoDataUnitType]
+EduCodedPicture=0x00000001
+EduVideoSegment=0x00000002
+EduSeveralSegments=0x00000004
+EDuArbitraryStreamSection=0x00000008
+
+[TVideoDataUnitEncapsulation]
+EDuElementaryStream = 0x00010000
+EDuGenericPayload   = 0x00020000
+EDuRtpPayload	    = 0x00040000
+
+[THrdVbvSpecification]
+EHrdVbvNone	= 0x00000001
+EHrdVbvCodingStandard = 0x00000002
+EHrdVbv3GPP	= 0x00000004
+
+[BUFFER_MANAGEMENT]
+CIbuffoff = 0
+CIbuffon = 1
+
+[HWDEVICE]
+PostProcessor = 0
+Decoder = 1
+[TBitrateControlType]
+EBrControlNone = 1
+EBrControlStream = 2 
+EBrControlPicture = 4
+[VideoDataUnitType]
+EDuCodedPicture = 1
+EDuVideoSegment = 2
+EDuSeveralSegments = 3
+EDuArbitraryStreamSection = 4
+
+[VideoDataUnitEncapsulation]
+EDuElementaryStream = 1
+EDuGenericPayload = 2
+EDuRtpPayload = 3
+
+[H264_BUFFER_SIZE]
+KMaxCodedPictureLevel_1 = 19688
+KMaxCodedPictureLevel_1b = 39375
+KMaxCodedPictureLevel_11 = 56250
+KMaxCodedPictureLevel_12 = 112500
+KMaxCodedPictureLevel_13_2 = 225000
+KMaxCodedPictureLevel_22 = 450000
+KMaxCodedPictureLevel_3 = 1125000
+[DataFormat]
+ERgbRawData = 1
+ERgbFbsBitmap = 2
+EYuvRawData = 3
+
+[YUVDatalayout]
+EYuvDataPlanar = 1
+EYuvDataInterleavedLE = 2
+EYuvDataInterleavedBE = 3
+EYuvDataSemiPlanar = 4
+
+[YUVPattern]
+EYuv420Chroma1 = 1
+EYuv420Chroma2 = 2
+EYuv420Chroma3 = 3
+EYuv422Chroma1 = 4
+EYuv422Chroma2 = 5
+
+[Coefficients]
+EYuvRange0 = 1
+EYuvRange1 = 2
+EYuvBt709 = 3
+EYuvBt709Range0 = 4
+EYuvBt709Range1 = 5
+EYuvBt601 = 6
+EYuvBt601Range0 = 7
+EYuvBt601Range1 = 8 
+ECustomYuvMatrix = 9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/tube/t_devvideo.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,42 @@
+[DECODERS]
+MPEG4 = 0x10204bfb
+H263  = 0x10204bfa
+
+
+
+[MPEG4]
+uid = 0x10204bfb
+[H263]
+uid = 0x10204bfa
+[EPOC]
+uid = 0x10206674
+
+[CODECTYPES]
+H263 = 1
+MPEG4 = 2
+H264 = 3
+
+[POSTPROCESSOR]
+uid = 0x10273417
+
+
+
+[ENCODERS]
+MPEG4_HW = 0x101f86d5
+H263_HW = 0x101f850a
+
+MPEG4_SW = 0x10282cfd
+H263_SW = 0x10282cfc
+
+H264_1 = 0x10282cff
+H264_2 = 0x20001c13
+
+[drive]
+mmc=e:
+
+[PATHVIDEOS]
+inputPath = {drive,mmc}\InputData\
+outputPath = {drive,mmc}\OutputData\
+
+[DISPLAYMODE]
+displayMode = EColor64K
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testdata/tube/t_devvideo.tcs	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,75 @@
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0001
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0002
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0003
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0004
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0007
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0033
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0035
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0036
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-AUTOMATED-0038
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0001
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-BACKWARD-AUTOMATED-0002
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0001
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-FORWARD-AUTOMATED-0002
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0001
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-PAUSE-RESUME-AUTOMATED-0002
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0001
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0002
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0009
+MM-MMF-DEVVIDEO-PLAYBACK-MPEG4-ROTATION-AUTOMATED-0010
+
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0005
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0006
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0007 
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0008
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0009
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0010
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0011
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0012
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0013
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0014
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0015
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0016
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0017
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0018
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0019 
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0021
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0022
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0023
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0024
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0029
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0030
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0031
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0032
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0033
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0034
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0035
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0036
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0037
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0038
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0039
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0040
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0041
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0042
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0043
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0045
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0046
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0047
+MM-MMF-DEVVIDEO-RECORD-MPEG4-AUTOMATED-0048
+
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0002
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0003
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0004
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0005
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0006
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0008
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0009
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0011
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0012
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0013
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0014
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0015
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0017
+MM-MMF-DEVVIDEO-RECORD-MPEG4-PAUSE-RESUME-AUTOMATED-0018
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testsuites/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,23 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTEXPORTS
+#if defined(TEST_DEVICE_H6HRP)
+../multimedia/h6_devvideohai.driver		/epoc32/testdriver/salt/devvideohai.driver
+#else
+../multimedia/devvideohai.driver		/epoc32/testdriver/salt/devvideohai.driver
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testsuites/multimedia/devvideohai.driver	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<driver:driver xmlns:driver="http://www.symbian.com/TestDriver">
+      <task name="devvideohai">
+        <executeOnPC>
+          <build testBuild="true" URI="${sourceroot}\group\">
+            <componentName>t_devvideo</componentName>
+          </build>
+        </executeOnPC>
+        <transferToSymbian>
+          <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo_environment.ini" SymbianPath="$:\multimedia\mmf\devvideo\t_devvideo_environment.ini"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.ini" SymbianPath="$:\multimedia\mmf\devvideo\t_devvideo.ini"/>
+		  <!--
+          <transfer move="false" PCPath="${epocroot}\epoc32\data\Z\Resource\Plugins\ArmPostProcHwDevice.RSC" SymbianPath="$:\resource\plugins\ArmPostProcHwDevice.RSC"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\release\armv5\UREL\camch263ehwdarm.dll" SymbianPath="$:\sys\bin\camch263ehwdarm.dll"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\data\Z\Resource\Plugins\camch263ehwdarm.rsc" SymbianPath="$:\resource\plugins\camch263ehwdarm.rsc"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\release\armv5\UREL\H263Encoder.dll" SymbianPath="$:\sys\bin\H263Encoder.dll"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\release\armv5\UREL\armh264enchwdevice.dll" SymbianPath="$:\sys\bin\armh264enchwdevice.dll"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\data\Z\Resource\Plugins\armh264enchwdevice.rsc" SymbianPath="$:\resource\plugins\armh264enchwdevice.rsc"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\release\armv5\UREL\armutilities.dll" SymbianPath="$:\sys\bin\armutilities.dll"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\release\armv5\UREL\armprocessengine.dll" SymbianPath="$:\sys\bin\armprocessengine.dll"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\release\armv5\UREL\armh264codec.dll" SymbianPath="$:\sys\bin\armh264codec.dll"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\release\armv5\UREL\armh264encoder.dll" SymbianPath="$:\sys\bin\armh264encoder.dll"/>
+		  -->
+          <!--<transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs" SymbianPath="$:\multimedia\mmf\devvideo\t_devvideo.tcs"/>-->
+        </transferToSymbian>
+        <task name="validation"  timeout="0">
+          <task name="manual"/>
+          <task name="automated">
+            <task name="mm-mmf-devvideo-playback-h264-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-h264-scale-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-scale-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-scale-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-scale-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-scale-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-h264-backward-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-backward-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-backward-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-backward-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-backward-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-h264-forward-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-forward-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-forward-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-forward-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-forward-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-h264-pause-resume-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-pause-resume-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-pause-resume-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-pause-resume-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-pause-resume-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-h264-negative-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-negative-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-negative-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-negative-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h264-negative-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-h263-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-h263-scale-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-scale-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-scale-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-scale-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-scale-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+
+            <task name="mm-mmf-devvideo-playback-mpeg4-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-mpeg4-backward-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-mpeg4-forward-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-mpeg4-pause-resume-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-mpeg4-rotation-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-mpeg4-scale-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-record-h263-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-record-h263-pause-resume-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-record-mpeg4-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-record-mpeg4-pause-resume-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-record-h264-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-record-h264-pause-resume-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-pause-resume-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-pause-resume-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-pause-resume-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h264-pause-resume-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+          </task>
+        </task>
+        <task name="performance">
+          <task name="manual"/>
+          <task name="automated"/>
+        </task>
+        <task name="conformance" timeout="0">
+          <task name="manual"/>
+          <task name="automated"/>
+        </task>
+        <task name="stress">
+          <task name="manual"/>
+          <task name="automated"/>
+        </task>
+      </task>
+</driver:driver>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/devvideohaitest/testsuites/multimedia/h6_devvideohai.driver	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<driver:driver xmlns:driver="http://www.symbian.com/TestDriver">
+      <task name="devvideohai">
+        <executeOnPC>
+          <build testBuild="true" URI="${sourceroot}\group\">
+            <componentName>t_devvideo</componentName>
+          </build>
+        </executeOnPC>
+        <transferToSymbian>
+          <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo_environment.ini" SymbianPath="$:\multimedia\mmf\devvideo\t_devvideo_environment.ini"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.ini" SymbianPath="$:\multimedia\mmf\devvideo\t_devvideo.ini"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\data\Z\Resource\Plugins\ArmPostProcHwDevice.RSC" SymbianPath="$:\resource\plugins\ArmPostProcHwDevice.RSC"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\data\Z\Resource\Plugins\camch263ehwdarm.rsc" SymbianPath="$:\resource\plugins\camch263ehwdarm.rsc"/>
+          <transfer move="false" PCPath="${epocroot}\epoc32\data\Z\Resource\Plugins\armh264enchwdevice.rsc" SymbianPath="$:\resource\plugins\armh264enchwdevice.rsc"/>
+
+          <!--<transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs" SymbianPath="$:\multimedia\mmf\devvideo\t_devvideo.tcs"/>-->
+        </transferToSymbian>
+        <task name="validation"  timeout="0">
+          <task name="manual"/>
+          <task name="automated">
+            <task name="mm-mmf-devvideo-playback-h263-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-h263-scale-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-scale-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-scale-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-scale-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-h263-scale-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+
+            <task name="mm-mmf-devvideo-playback-mpeg4-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-mpeg4-backward-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-backward-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-mpeg4-forward-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-forward-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-mpeg4-pause-resume-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-pause-resume-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-mpeg4-rotation-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-rotation-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-playback-mpeg4-scale-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-playback-mpeg4-scale-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-record-h263-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-record-h263-pause-resume-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-h263-pause-resume-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-record-mpeg4-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+            <task name="mm-mmf-devvideo-record-mpeg4-pause-resume-automated">
+              <transferToSymbian>
+                <transfer move="false" PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.ini"/>
+              </transferToSymbian>
+              <executeOnSymbian>
+                <testExecuteScript PCPath="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.script" SymbianPath="$:\multimedia\mmf\devvideo\mm-mmf-devvideo-record-mpeg4-pause-resume-automated.script">
+                  <testCasesList operator="exclude">
+                    <testCase target="${epocroot}\epoc32\data\c\multimedia\mmf\devvideo\t_devvideo.tcs"/>
+                  </testCasesList>
+                </testExecuteScript>
+              </executeOnSymbian>
+            </task>
+          </task>
+        </task>
+        <task name="performance">
+          <task name="manual"/>
+          <task name="automated"/>
+        </task>
+        <task name="conformance" timeout="0">
+          <task name="manual"/>
+          <task name="automated"/>
+        </task>
+        <task name="stress">
+          <task name="manual"/>
+          <task name="automated"/>
+        </task>
+      </task>
+</driver:driver>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/group/mmsvs.mrp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,20 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+component	mmsvs
+source	\sf\os\mm\mmapitest\mmsvs
+notes_source	\sf\os\mm\mmapitest\mmsvs\group\release.txt
+ipr T 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/group/release.txt	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,5 @@
+NOTESRC_RELEASER
+Nokia Corporation
+
+NOTESRC_RELEASE_REASON
+Multimedia SVS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/common/inc/DataWrapperBase.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __DATA_WRAPPER_BASE__)
+#define __DATA_WRAPPER_BASE__
+
+//	EPOC includes
+#include <datawrapper.h>
+
+class CDataWrapperBase : public CDataWrapper
+	{
+public:
+	TBool	GetBoolFromConfig(const TDesC& aSectName,const TDesC& aKeyName,TBool& aResult);
+	TBool	GetIntFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult);
+	TBool	GetStringFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult);
+	TBool	GetHexFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult);
+	virtual void	InitialiseL();
+	inline RFs&		FileServer() { return iFs; }
+
+protected:
+	CDataWrapperBase();
+	virtual ~CDataWrapperBase();
+
+
+private:
+	TBool	GetCommandStringParameterL(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult);
+
+private:
+	// Included ini files
+	RPointerArray<CIniData>	iInclude;
+	RPointerArray<HBufC>	iBuffer;
+	RFs                     iFs;
+	};
+
+#endif /* __DATA_WRAPPER_BASE__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/common/inc/T_MMUtil.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MM_UTIL_H__)
+#define __T_MM_UTIL_H__
+
+#include <mmf/common/mmfutilities.h>
+#include <mda/common/audio.h>
+#include <imageconversion.h>
+#include <datawrapper.h>
+#include <mmf/common/mmfvideo.h>
+#include <mmf/common/mmfcontrollerpluginresolver.h>
+#include <midiclientutility.h>
+
+class CT_MMUtil
+	{
+public:
+	static TBool		ReadMdaPriority(CDataWrapper& aDataWrapper, const TDesC& aSection, TInt& aPriority);
+	static TBool		ReadMdaPriorityPreference(CDataWrapper& aDataWrapper, const TDesC& aSection, TMdaPriorityPreference& aPreference);
+	static TBool		ReadThreadPriority(CDataWrapper& aDataWrapper, const TDesC& aSection, TThreadPriority& aPriority);
+	static TBool		ReadFourCC(CDataWrapper& aDataWrapper, const TDesC& aSection, TFourCC& aFourCC);
+	static TBool		ReadImageType(CDataWrapper& aDataWrapper, const TDesC& aSection, CImageDecoder::TImageType& aImageType);
+	static TBool		ReadIntent(CDataWrapper& aDataWrapper, const TDesC& aSection, ContentAccess::TIntent& aIntent);
+	static TBool		ReadMidiState(CDataWrapper& aDataWrapper, const TDesC& aSection, const TDesC& aKeyName, TMidiState& aState);
+	static TBool		ConvertToAudioCaps(const TDesC& aDesc, TMdaAudioDataSettings::TAudioCaps& aAudioCaps);
+	static TBool		ConvertToAudioFlags(const TDesC& aDesc, TMdaAudioDataSettings::TAudioFlags& aAudioFlags);
+	static TBool		ConvertToOption(const TDesC& aDesc, CImageDecoder::TOptions& aOption);
+	static TBool		ConvertToOption(const TDesC& aDesc, CImageEncoder::TOptions& aOption);
+	static TBool		ConvertToAgentProperty(const TDesC& aDesc, ContentAccess::TAgentProperty& aAgentProperty);
+	static const TDesC&	GetFourCCString(TUint32 aValue);
+	static TBool		ReadAudioDataSettings(CDataWrapper& aDataWrapper, TMdaAudioDataSettings& aSettings, const TDesC& aSection);
+	static TBool		ConvertToDisplayMode(const TDesC& aDisplayModeStr, TDisplayMode& aDisplayMode);
+	static TBool		ConvertToVideoRotation(const TDesC& aVideoRotationStr, TVideoRotation& aVideoRotation);
+	static const TDesC&	GetVideoRotationString(TVideoRotation& aVideoRotation);
+	static void			VerifyMIMETypeArrayL(CDataWrapper& aDataWrapper, const TDesC& aSection, const RFileExtensionMIMETypeArray& aFileExtensionArray);
+	static void			GetControllerAndFormatUidL(CDataWrapper& aDataWrapper, const TDesC& aFileName, TUid aMediaId, TBool aRecord, TUid& aControllerUid, TUid& aFormatUid);
+	static void			LogL(CDataWrapper& aDataWrapper, const CMMFControllerImplementationInformation& aControllerInfo);
+
+private:
+	static void			LogL(CDataWrapper& aDataWrapper, const CMMFFormatImplementationInformation& aFormatInfo);
+	};
+
+#endif /* __T_MM_UTIL_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/common/src/DataWrapperBase.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,224 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "DataWrapperBase.h"
+
+/*@{*/
+///	Constant Literals used.
+_LIT(KIncludeSection,		"include");
+_LIT(KFile,					"file%d");
+_LIT(KMatch,				"*{*,*}*");
+_LIT(KStart,				"{");
+_LIT(KSeparator,			",");
+_LIT(KEnd,					"}");
+_LIT(KDataRead,				"INI READ : %S %S %S");
+/*@}*/
+
+CDataWrapperBase::CDataWrapperBase()
+:	CDataWrapper()
+	{
+	}
+
+CDataWrapperBase::~CDataWrapperBase()
+/**
+ * Public destructor
+ */
+	{
+	iInclude.ResetAndDestroy();
+	iBuffer.ResetAndDestroy();
+	iFs.Close();
+	}
+
+void CDataWrapperBase::InitialiseL()
+	{
+	CDataWrapper::InitialiseL();
+
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TPtrC		fileName;
+	TBool		moreData=ETrue;
+	TBool		index=0;
+	while ( moreData )
+		{
+		tempStore.Format(KFile(), ++index);
+		moreData=GetStringFromConfig(KIncludeSection, tempStore, fileName);
+		
+		if (moreData)
+			{
+			CIniData*	iniData=CIniData::NewL(fileName);
+			CleanupStack::PushL(iniData);
+			iInclude.Append(iniData);
+			CleanupStack::Pop(iniData);
+			}
+		}
+	User::LeaveIfError(iFs.Connect());
+	}
+
+TBool CDataWrapperBase::GetBoolFromConfig(const TDesC& aSectName,const TDesC& aKeyName,TBool& aResult)
+	{
+	TBool	ret=EFalse;
+	TPtrC	result;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	if ( ret )
+		{
+		_LIT(KTrue,"true");
+		aResult=(result.FindF(KTrue) != KErrNotFound);
+		}
+
+	return ret;
+	}
+
+TBool CDataWrapperBase::GetIntFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult)
+	{
+	TPtrC	result;
+	TBool	ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	if ( ret )
+		{
+		TLex	lex(result);
+		ret=(lex.Val(aResult)==KErrNone);
+		}
+
+	return ret;
+	}
+
+TBool CDataWrapperBase::GetStringFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult)
+	{
+	TBool	ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, aResult));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	return ret;
+	}
+
+TBool CDataWrapperBase::GetHexFromConfig(const TDesC& aSectName, const TDesC& aKeyName, TInt& aResult)
+	{
+	TPtrC	result;
+	TBool	ret=EFalse;
+	TRAPD(err, ret=GetCommandStringParameterL(aSectName, aKeyName, result));
+	if ( err != KErrNone )
+		{
+		ret=EFalse;
+		}
+	if ( ret )
+		{
+		TLex	lex(result);
+		ret=(lex.Val((TUint &)aResult, EHex)==KErrNone);
+		}
+
+	return ret;
+	}
+
+TBool CDataWrapperBase::GetCommandStringParameterL(const TDesC& aSectName, const TDesC& aKeyName, TPtrC& aResult)
+	{
+	TBool	ret=EFalse;
+
+	if ( aSectName.Length()!=0 )
+		{
+		ret=CDataWrapper::GetStringFromConfig(aSectName, aKeyName, aResult);
+
+		for ( TInt index=iInclude.Count(); (index>0) && (!ret); )
+			{
+			ret=iInclude[--index]->FindVar(aSectName, aKeyName, aResult);
+			}
+		}
+
+	if ( ret )
+		{
+		if ( aResult.Match(KMatch)!=KErrNotFound )
+			{
+			//	We have an entry of the format
+			//	entry =*{section,entry}*
+			//	where * is one or more characters
+			//	We need to construct this from other data in the ini file replacing {*,*}
+			//	with the data from
+			//	[section]
+			//	entry =some_value
+			HBufC*	buffer=HBufC::NewLC(aResult.Length());
+			buffer->Des().Copy(aResult);
+
+			TInt	startLength=KStart().Length();
+			TInt	sparatorLength=KSeparator().Length();
+			TInt	endLength=KEnd().Length();
+			TInt	bufferLength;
+			TInt	start;
+			TInt	sparator;
+			TInt	end;
+			TPtrC	remaining;
+			TLex	lex;
+			do
+				{
+				bufferLength=buffer->Length();
+				start=buffer->Find(KStart);
+
+				remaining.Set(buffer->Des().Right(bufferLength-start-startLength));
+				sparator=remaining.Find(KSeparator);
+				remaining.Set(remaining.Right(remaining.Length()-sparator-sparatorLength));
+				sparator += (start + startLength);
+
+				end=remaining.Find(KEnd) + sparator + sparatorLength;
+
+				TPtrC	sectionName(buffer->Ptr()+start+startLength, sparator-start-startLength);
+				TPtrC	keyName(buffer->Ptr()+sparator+sparatorLength, end-sparator-sparatorLength);
+				sectionName.Set(TLex(sectionName).NextToken());
+				keyName.Set(TLex(keyName).NextToken());
+
+				TInt	entrySize=0;
+				TPtrC	entryData;
+				TBool	found=CDataWrapper::GetStringFromConfig(sectionName, keyName, entryData);
+				for ( TInt index=iInclude.Count(); (index>0) && (!found);  )
+					{
+					found=iInclude[--index]->FindVar(sectionName, keyName, entryData);
+					}
+				if ( found )
+					{
+					entrySize=entryData.Length();
+					}
+
+				TInt	newLength=start + bufferLength - end - endLength + entrySize;
+				HBufC*	bufferNew=HBufC::NewLC(newLength);
+				bufferNew->Des().Copy(buffer->Ptr(), start);
+				if ( entrySize>0 )
+					{
+					bufferNew->Des().Append(entryData);
+					}
+				bufferNew->Des().Append(buffer->Ptr() + end + endLength, bufferLength - end - endLength);
+				CleanupStack::Pop(bufferNew);
+				CleanupStack::PopAndDestroy(buffer);
+				buffer=bufferNew;
+				CleanupStack::PushL(buffer);
+				}
+			while ( buffer->Match(KMatch)!=KErrNotFound );
+			iBuffer.Append(buffer);
+			CleanupStack::Pop(buffer);
+			aResult.Set(*buffer);
+			INFO_PRINTF4(KDataRead, &aSectName, &aKeyName , &aResult);
+			}
+		}
+
+	return ret;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/common/src/T_MMUtil.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1233 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <e32std.h>
+#include <mmf/common/mmffourcc.h>
+
+//	User Includes
+#include "T_MMUtil.h"
+#include "DataWrapperBase.h"
+
+/*@{*/
+_LIT(KPriority,								"priority");
+
+_LIT(KMdaPriorityMin,						"EMdaPriorityMin");
+_LIT(KMdaPriorityNormal,					"EMdaPriorityNormal");
+_LIT(KMdaPriorityMax,						"EMdaPriorityMax");
+
+_LIT(KPriorityPreference,					"prioritypreference");
+
+_LIT(KMdaPriorityPreferenceNone,			"None");
+_LIT(KMdaPriorityPreferenceTime,			"Time");
+_LIT(KMdaPriorityPreferenceQuality,			"Quality");
+_LIT(KMdaPriorityPreferenceTimeAndQuality,	"TimeAndQuality");
+
+_LIT(KThreadPriority,						"threadpriority");
+
+_LIT(KEPriorityNull,						"EPriorityNull");
+_LIT(KEPriorityMuchLess,					"EPriorityMuchLess");
+_LIT(KEPriorityLess,						"EPriorityLess");
+_LIT(KEPriorityNormal,						"EPriorityNormal");
+_LIT(KEPriorityMore,						"EPriorityMore");
+_LIT(KEPriorityMuchMore,					"EPriorityMuchMore");
+_LIT(KEPriorityRealTime,					"EPriorityRealTime");
+_LIT(KEPriorityAbsoluteVeryLow,				"EPriorityAbsoluteVeryLow");
+_LIT(KEPriorityAbsoluteLow,					"EPriorityAbsoluteLow");
+_LIT(KEPriorityAbsoluteBackground,			"EPriorityAbsoluteBackground");
+_LIT(KEPriorityAbsoluteForeground,			"EPriorityAbsoluteForeground");
+_LIT(KEPriorityAbsoluteHigh,				"EPriorityAbsoluteHigh");
+
+_LIT(KFourCC,								"fourcc");
+
+_LIT(KDesMMFFourCCCodePCM8, 				"KMMFFourCCCodePCM8");
+_LIT(KDesMMFFourCCCodePCMU8,		 		"KMMFFourCCCodePCMU8");
+_LIT(KDesMMFFourCCCodePCM16, 				"KMMFFourCCCodePCM16");
+_LIT(KDesMMFFourCCCodePCMU16,		 		"KMMFFourCCCodePCMU16");
+_LIT(KDesMMFFourCCCodePCM16B, 				"KMMFFourCCCodePCM16B");
+_LIT(KDesMMFFourCCCodePCMU16B,		 		"KMMFFourCCCodePCMU16B");
+_LIT(KDesMMFFourCCCodeIMAD, 				"KMMFFourCCCodeIMAD");
+_LIT(KDesMMFFourCCCodeIMAS,		 			"KMMFFourCCCodeIMAS");
+_LIT(KDesMMFFourCCCodeALAW,					"KMMFFourCCCodeALAW");
+_LIT(KDesMMFFourCCCodeMuLAW,		 		"KMMFFourCCCodeMuLAW");
+_LIT(KDesMMFFourCCCodeGSM610,				"KMMFFourCCCodeGSM610");
+_LIT(KDesFourCCCodeNULL,					"KMMFFourCCCodeNULL");
+_LIT(KDesMMFFourCCCodeAMR,					"KMMFFourCCCodeAMR");
+_LIT(KDesMMFFourCCCodeAAC,					"KMMFFourCCCodeAAC");
+_LIT(KDesMMFFourCCCodeAWB,					"KMMFFourCCCodeAWB");
+_LIT(KDesMMFFourCCCodeMP3,					"KMMFFourCCCodeMP3");
+_LIT(KDesMMFFourCCCodeATRAC3, 				"KMMFFourCCCodeATRAC3");
+_LIT(KDesMMFFourCCCodeSBC,					"KMMFFourCCCodeSBC");
+_LIT(KDesMMFFourCCCodeAMRW,					"KMMFFourCCCodeAMRW");
+_LIT(KDesMMFFourCCCodeADTS,					"KMMFFourCCCodeADTS");
+_LIT(KDesMMFFourCCCodeUnknown,				"KMMFFourCCCodeUnknown");
+
+_LIT(KImageType,							"imagetype");
+
+_LIT(KImageTypeThumbnail,					"EImageTypeThumbnail");
+_LIT(KImageTypeMain,						"EImageTypeMain");
+
+_LIT(KIntent,								"intent");
+
+_LIT(KIntentPeek,							"EPeek");
+_LIT(KIntentPlay,							"EPlay");
+_LIT(KIntentView,							"EView");
+_LIT(KIntentExecute,						"EExecute");
+_LIT(KIntentPrint,							"EPrint");
+_LIT(KIntentPause,							"EPause");
+_LIT(KIntentContinue,						"EContinue");
+_LIT(KIntentStop,							"EStop");
+_LIT(KIntentUnknown,						"EUnknown");
+_LIT(KIntentInstall,						"EInstall");
+
+_LIT(KMidiStateClosedDisengaged,			"EMidiStateClosedDisengaged");
+_LIT(KMidiStateOpenDisengaged,				"EMidiStateOpenDisengaged");
+_LIT(KMidiStateOpenPlaying,					"EMidiStateOpenPlaying");
+_LIT(KMidiStateClosedEngaged,				"EMidiStateClosedEngaged");
+_LIT(KMidiStateOpenEngaged,					"EMidiStateOpenEngaged");
+
+_LIT(KSampleRateFixed,						"SampleRateFixed");
+_LIT(KSampleRateAnyInRange,					"SampleRateAnyInRange");
+_LIT(KSampleRate8000Hz,						"SampleRate8000Hz");
+_LIT(KSampleRate11025Hz,					"SampleRate11025Hz");
+_LIT(KSampleRate12000Hz,					"SampleRate12000Hz");
+_LIT(KSampleRate16000Hz,					"SampleRate16000Hz");
+_LIT(KSampleRate22050Hz,					"SampleRate22050Hz");
+_LIT(KSampleRate24000Hz,					"SampleRate24000Hz");
+_LIT(KSampleRate32000Hz,					"SampleRate32000Hz");
+_LIT(KSampleRate44100Hz,					"SampleRate44100Hz");
+_LIT(KSampleRate48000Hz,					"SampleRate48000Hz");
+_LIT(KSampleRate96000Hz,					"SampleRate96000Hz");
+_LIT(KSampleRate64000Hz,					"SampleRate64000Hz");
+_LIT(KChannelsMono,							"ChannelsMono");
+_LIT(KChannelsStereo,						"ChannelsStereo");
+_LIT(KRoutingControl,						"RoutingControl");
+_LIT(KRealTime,								"RealTime");
+
+_LIT(KNoLocalRouting,						"NoLocalRouting");
+_LIT(KNoNetworkRouting,						"NoNetworkRouting");
+
+_LIT(KOptionNone,							"OptionNone");
+_LIT(KOptionNoDither,						"OptionNoDither");
+_LIT(KOptionAlwaysThread,					"OptionAlwaysThread");
+_LIT(KOptionAllowZeroFrameOpen,				"OptionAllowZeroFrameOpen");
+_LIT(KAllowGeneratedMask,					"AllowGeneratedMask");
+
+_LIT(KAgentPropertyBufferSize,				"AgentPropertyBufferSize");
+_LIT(KAgentPropertyAgentUI,					"AgentPropertyAgentUI");
+_LIT(KAgentPropertyMultipleSequence,		"AgentPropertyMultipleSequence");
+
+_LIT(KCmdCapabilty,							"capabilty%d");
+_LIT(KCmdChannels,							"channels");
+_LIT(KCmdFlags,								"flags");
+_LIT(KCmdMaxVolume,							"maxvolume");
+_LIT(KCmdSampleRate,						"samplerate");
+_LIT(KCmdVolume,							"volume");
+
+_LIT(KDModeNone,							"None");
+_LIT(KDModeGray2,							"Gray2");
+_LIT(KDModeGray4,							"Gray4");
+_LIT(KDModeGray16,							"Gray16");
+_LIT(KDModeGray256,							"Gray256");
+_LIT(KDModeColor16,							"Color16");
+_LIT(KDModeColor256,						"Color256");
+_LIT(KDModeColor64K,						"Color64K");
+_LIT(KDModeColor16M,						"Color16M");
+_LIT(KDModeRgb,								"Rgb");
+_LIT(KDModeColor4K,							"Color4K");
+_LIT(KDModeColor16MU,						"Color16MU");
+_LIT(KDModeColor16MA,						"Color16MA");
+_LIT(KDModeColorLast,						"ColorLast");
+
+_LIT(KEVideoRotationNone,					"None");
+_LIT(KEVideoRotationClockwise90,			"Clockwise90");
+_LIT(KEVideoRotationClockwise180,			"Clockwise180");
+_LIT(KEVideoRotationClockwise270,			"Clockwise270");
+_LIT(KEVideoRotationUnknown,				"Unknown");
+
+
+
+_LIT(KCount,								"count");
+/*@}*/
+
+TBool CT_MMUtil::ReadMdaPriority(CDataWrapper& aDataWrapper, const TDesC& aSection, TInt& aPriority)
+	{
+	TPtrC	str;
+	TBool	ret=aDataWrapper.GetStringFromConfig(aSection, KPriority(), str);
+	if ( ret )
+		{
+		if ( str==KMdaPriorityMin )
+			{
+			aPriority=EMdaPriorityMin;
+			}
+		else if ( str==KMdaPriorityNormal )
+			{
+			aPriority=EMdaPriorityNormal;
+			}
+		else if ( str==KMdaPriorityMax )
+			{
+			aPriority=EMdaPriorityMax;
+			}
+		else
+			{
+			if ( !aDataWrapper.GetIntFromConfig(aSection, KPriority(), aPriority) )
+				{
+				aDataWrapper.ERR_PRINTF2(_L("Illegal priority %S"), &KPriority());
+				aDataWrapper.SetBlockResult(EFail);
+				}
+			}
+		}
+
+	aDataWrapper.INFO_PRINTF3(_L("ReadMdaPriority %S = %d"), &KPriority(), ret);
+
+	return ret;
+	}
+
+TBool CT_MMUtil::ReadMdaPriorityPreference(CDataWrapper& aDataWrapper, const TDesC& aSection, TMdaPriorityPreference& aPreference)
+	{
+	TPtrC	str;
+	TBool	ret=aDataWrapper.GetStringFromConfig(aSection, KPriorityPreference(), str);
+	if ( ret )
+		{
+		if ( str==KMdaPriorityPreferenceNone )
+			{
+			aPreference=EMdaPriorityPreferenceNone;
+			}
+		else if ( str==KMdaPriorityPreferenceTime )
+			{
+			aPreference=EMdaPriorityPreferenceTime;
+			}
+		else if ( str==KMdaPriorityPreferenceQuality )
+			{
+			aPreference=EMdaPriorityPreferenceQuality;
+			}
+		else if ( str==KMdaPriorityPreferenceTimeAndQuality )
+			{
+			aPreference=EMdaPriorityPreferenceTimeAndQuality;
+			}
+		else
+			{
+			TInt	intVal;
+			if ( aDataWrapper.GetIntFromConfig(aSection, KPriorityPreference(), intVal) )
+				{
+				aPreference=(TMdaPriorityPreference)intVal;
+				}
+			else
+				{
+				aDataWrapper.ERR_PRINTF2(_L("Illegal TMdaPriorityPreference %S"), &KPriorityPreference());
+				aDataWrapper.SetBlockResult(EFail);
+				}
+			}
+		}
+
+	aDataWrapper.INFO_PRINTF3(_L("ReadMdaPriorityPreference %S = %d"), &KPriorityPreference(), ret);
+
+	return ret;
+	}
+
+TBool CT_MMUtil::ReadThreadPriority(CDataWrapper& aDataWrapper, const TDesC& aSection, TThreadPriority& aPriority)
+	{
+	TPtrC	str;
+	TBool	ret=aDataWrapper.GetStringFromConfig(aSection, KThreadPriority(), str);
+	if ( ret )
+		{
+		if ( str==KEPriorityNull )
+			{
+			aPriority = EPriorityNull;
+			}
+		else if ( str==KEPriorityMuchLess )
+			{
+			aPriority = EPriorityMuchLess;
+			}
+		else if ( str==KEPriorityLess )
+			{
+			aPriority = EPriorityLess;
+			}
+		else if ( str==KEPriorityNormal )
+			{
+			aPriority = EPriorityNormal;
+			}
+		else if ( str==KEPriorityMore )
+			{
+			aPriority = EPriorityMore;
+			}
+		else if ( str==KEPriorityMuchMore )
+			{
+			aPriority = EPriorityMuchMore;
+			}
+		else if ( str==KEPriorityRealTime )
+			{
+			aPriority = EPriorityRealTime;
+			}
+		else if ( str==KEPriorityAbsoluteVeryLow )
+			{
+			aPriority = EPriorityAbsoluteVeryLow;
+			}
+		else if ( str==KEPriorityAbsoluteLow )
+			{
+			aPriority = EPriorityAbsoluteLow;
+			}
+		else if ( str==KEPriorityAbsoluteBackground )
+			{
+			aPriority = EPriorityAbsoluteBackground;
+			}
+		else if ( str==KEPriorityAbsoluteForeground )
+			{
+			aPriority = EPriorityAbsoluteForeground;
+			}
+		else if ( str==KEPriorityAbsoluteHigh )
+			{
+			aPriority = EPriorityAbsoluteHigh;
+			}
+		else
+			{
+			TInt	intVal;
+			if ( aDataWrapper.GetIntFromConfig(aSection, KThreadPriority(), intVal) )
+				{
+				aPriority=(TThreadPriority)intVal;
+				}
+			else
+				{
+				aDataWrapper.ERR_PRINTF2(_L("Illegal TThreadPriority %S"), &KThreadPriority());
+				aDataWrapper.SetBlockResult(EFail);
+				}
+			}
+		}
+
+	aDataWrapper.INFO_PRINTF3(_L("ReadThreadPriority %S = %d"), &KThreadPriority(), ret);
+
+	return ret;
+	}
+
+TBool CT_MMUtil::ReadFourCC(CDataWrapper& aDataWrapper, const TDesC& aSection, TFourCC& aFourCC)
+	{
+	TPtrC	str;
+	TBool	ret=aDataWrapper.GetStringFromConfig(aSection, KFourCC(), str);
+
+	if ( ret )
+		{
+		if( str==KDesMMFFourCCCodePCM8 )
+			{
+			aFourCC=KMMFFourCCCodePCM8;
+			}
+		else if( str==KDesMMFFourCCCodePCMU8 )
+			{
+	 		aFourCC=KMMFFourCCCodePCMU8;
+			}
+		else if( str==KDesMMFFourCCCodePCM16 )
+			{
+			aFourCC=KMMFFourCCCodePCM16;
+			}
+		else if( str==KDesMMFFourCCCodePCMU16 )
+			{
+			aFourCC=KMMFFourCCCodePCMU16;
+			}
+		else if( str==KDesMMFFourCCCodePCM16B )
+			{
+			aFourCC=KMMFFourCCCodePCM16B;
+			}
+		else if( str==KDesMMFFourCCCodePCMU16B )
+			{
+	 		aFourCC=KMMFFourCCCodePCMU16B;
+			}
+		else if( str==KDesMMFFourCCCodeIMAD )
+			{
+			aFourCC=KMMFFourCCCodeIMAD;
+			}
+		else if( str==KDesMMFFourCCCodeIMAS )
+			{
+	 		aFourCC=KMMFFourCCCodeIMAS;
+			}
+		else if( str==KDesMMFFourCCCodeALAW )
+			{
+	 		aFourCC=KMMFFourCCCodeALAW;
+			}
+		else if( str==KDesMMFFourCCCodeMuLAW )
+			{
+	 		aFourCC=KMMFFourCCCodeMuLAW;
+			}
+		else if( str==KDesMMFFourCCCodeGSM610 )
+			{
+	 		aFourCC=KMMFFourCCCodeGSM610;
+			}
+		else if( str==KDesFourCCCodeNULL )
+			{
+	 		aFourCC=KMMFFourCCCodeNULL;
+			}
+		else if( str==KDesMMFFourCCCodeAMR )
+			{
+	 		aFourCC=KMMFFourCCCodeAMR;
+			}
+		else if( str==KDesMMFFourCCCodeAAC )
+			{
+	 		aFourCC=KMMFFourCCCodeAAC;
+			}
+		else if( str==KDesMMFFourCCCodeAWB )
+			{
+	 		aFourCC=KMMFFourCCCodeAWB;
+			}
+		else if( str==KDesMMFFourCCCodeMP3	)
+			{
+	 		aFourCC=KMMFFourCCCodeMP3;
+			}
+		else if( str==KDesMMFFourCCCodeATRAC3 )
+			{
+	 		aFourCC=KMMFFourCCCodeATRAC3;
+			}
+		else if( str==KDesMMFFourCCCodeSBC )
+			{
+	 		aFourCC=KMMFFourCCCodeSBC;
+			}
+		else if( str==KDesMMFFourCCCodeAMRW )
+			{
+	 		aFourCC=KMMFFourCCCodeAMRW;
+			}
+		else if( str==KDesMMFFourCCCodeADTS )
+			{
+	 		aFourCC=KMMFFourCCCodeADTS;
+			}
+		else
+			{
+			TInt	intVal;
+			if ( aDataWrapper.GetIntFromConfig(aSection, KFourCC(), intVal) )
+				{
+				aFourCC=intVal;
+				}
+			else
+				{
+				aDataWrapper.ERR_PRINTF2(_L("Illegal TFourCC %S"), &KFourCC());
+				aDataWrapper.SetBlockResult(EFail);
+				}
+			}
+		}
+
+	return ret;
+	}
+
+TBool CT_MMUtil::ReadImageType(CDataWrapper& aDataWrapper, const TDesC& aSection, CImageDecoder::TImageType& aImageType)
+	{
+	TPtrC	str;
+	TBool	ret=aDataWrapper.GetStringFromConfig(aSection, KImageType(), str);
+
+	if ( ret )
+		{
+		if ( str==KImageTypeThumbnail )
+			{
+			aImageType=CImageDecoder::EImageTypeThumbnail;
+			}
+		else if ( str==KImageTypeMain )
+			{
+			aImageType=CImageDecoder::EImageTypeMain;
+			}
+		else
+			{
+			TInt	intVal;
+			if ( aDataWrapper.GetIntFromConfig(aSection, KImageType(), intVal) )
+				{
+				aImageType=(CImageDecoder::TImageType)intVal;
+				}
+			else
+				{
+				aDataWrapper.ERR_PRINTF2(_L("Illegal CImageDecoder::TImageType %S"), &KImageType());
+				aDataWrapper.SetBlockResult(EFail);
+				}
+			}
+		}
+
+	return ret;
+	}
+
+TBool CT_MMUtil::ReadIntent(CDataWrapper& aDataWrapper, const TDesC& aSection, ContentAccess::TIntent& aIntent)
+	{
+	TPtrC	str;
+	TBool	ret=aDataWrapper.GetStringFromConfig(aSection, KIntent(), str);
+
+	if ( ret )
+		{
+		if ( str==KIntentPeek )
+			{
+			aIntent=ContentAccess::EPeek;
+			}
+		else if ( str==KIntentPlay )
+			{
+			aIntent=ContentAccess::EPlay;
+			}
+		else if ( str==KIntentView )
+			{
+			aIntent=ContentAccess::EView;
+			}
+		else if ( str==KIntentExecute )
+			{
+			aIntent=ContentAccess::EExecute;
+			}
+		else if ( str==KIntentPrint )
+			{
+			aIntent=ContentAccess::EPrint;
+			}
+		else if ( str==KIntentPause )
+			{
+			aIntent=ContentAccess::EPause;
+			}
+		else if ( str==KIntentContinue )
+			{
+			aIntent=ContentAccess::EContinue;
+			}
+		else if ( str==KIntentStop )
+			{
+			aIntent=ContentAccess::EStop;
+			}
+		else if ( str==KIntentUnknown )
+			{
+			aIntent=ContentAccess::EUnknown;
+			}
+		else if ( str==KIntentInstall )
+			{
+			aIntent=ContentAccess::EInstall;
+			}
+		else
+			{
+			TInt	intVal;
+			if ( aDataWrapper.GetIntFromConfig(aSection, KIntent(), intVal) )
+				{
+				aIntent=(ContentAccess::TIntent)intVal;
+				}
+			else
+				{
+				aDataWrapper.ERR_PRINTF2(_L("Illegal ContentAccess::TIntent %S"), &KIntent());
+				aDataWrapper.SetBlockResult(EFail);
+				}
+			}
+		}
+
+	return ret;
+	}
+
+TBool CT_MMUtil::ReadMidiState(CDataWrapper& aDataWrapper, const TDesC& aSection, const TDesC& aKeyName, TMidiState& aState)
+	{
+	TPtrC	str;
+	TBool	ret=aDataWrapper.GetStringFromConfig(aSection, aKeyName, str);
+
+	if ( ret )
+		{
+		if ( str==KMidiStateClosedDisengaged )
+			{
+			aState=EMidiStateClosedDisengaged;
+			}
+		else if ( str==KMidiStateOpenDisengaged )
+			{
+			aState=EMidiStateOpenDisengaged;
+			}
+		else if ( str==KMidiStateOpenPlaying )
+			{
+			aState=EMidiStateOpenPlaying;
+			}
+		else if ( str==KMidiStateClosedEngaged )
+			{
+			aState=EMidiStateClosedEngaged;
+			}
+		else if ( str==KMidiStateOpenEngaged )
+			{
+			aState=EMidiStateOpenEngaged;
+			}
+		else
+			{
+			TInt	intVal;
+			if ( aDataWrapper.GetIntFromConfig(aSection, aKeyName, intVal) )
+				{
+				aState=(TMidiState)intVal;
+				}
+			else
+				{
+				ret=EFalse;
+				aDataWrapper.ERR_PRINTF2(_L("Illegal TMidiState %S"), &aKeyName);
+				aDataWrapper.SetBlockResult(EFail);
+				}
+			}
+		}
+
+	return ret;
+	}
+
+TBool CT_MMUtil::ConvertToAudioCaps(const TDesC& aDesc, TMdaAudioDataSettings::TAudioCaps& aAudioCaps)
+	{
+	TBool	ret=ETrue;
+
+	if ( aDesc==KSampleRateFixed )
+		{
+		aAudioCaps=TMdaAudioDataSettings::ESampleRateFixed;
+		}
+	else if ( aDesc==KSampleRateAnyInRange )
+		{
+		aAudioCaps=TMdaAudioDataSettings::ESampleRateAnyInRange;
+		}
+	else if ( aDesc==KSampleRate8000Hz )
+		{
+		aAudioCaps=TMdaAudioDataSettings::ESampleRate8000Hz;
+		}
+	else if ( aDesc==KSampleRate11025Hz )
+		{
+		aAudioCaps=TMdaAudioDataSettings::ESampleRate11025Hz;
+		}
+	else if ( aDesc==KSampleRate12000Hz )
+		{
+		aAudioCaps=TMdaAudioDataSettings::ESampleRate12000Hz;
+		}
+	else if ( aDesc==KSampleRate16000Hz )
+		{
+		aAudioCaps=TMdaAudioDataSettings::ESampleRate16000Hz;
+		}
+	else if ( aDesc==KSampleRate22050Hz )
+		{
+		aAudioCaps=TMdaAudioDataSettings::ESampleRate22050Hz;
+		}
+	else if ( aDesc==KSampleRate24000Hz )
+		{
+		aAudioCaps=TMdaAudioDataSettings::ESampleRate24000Hz;
+		}
+	else if ( aDesc==KSampleRate32000Hz )
+		{
+		aAudioCaps=TMdaAudioDataSettings::ESampleRate32000Hz;
+		}
+	else if ( aDesc==KSampleRate44100Hz )
+		{
+		aAudioCaps=TMdaAudioDataSettings::ESampleRate44100Hz;
+		}
+	else if ( aDesc==KSampleRate48000Hz )
+		{
+		aAudioCaps=TMdaAudioDataSettings::ESampleRate48000Hz;
+		}
+	else if ( aDesc==KSampleRate96000Hz )
+		{
+		aAudioCaps=TMdaAudioDataSettings::ESampleRate96000Hz;
+		}
+	else if ( aDesc==KSampleRate64000Hz )
+		{
+		aAudioCaps=TMdaAudioDataSettings::ESampleRate64000Hz;
+		}
+	else if ( aDesc==KChannelsMono )
+		{
+		aAudioCaps=TMdaAudioDataSettings::EChannelsMono;
+		}
+	else if ( aDesc==KChannelsStereo )
+		{
+		aAudioCaps=TMdaAudioDataSettings::EChannelsStereo;
+		}
+	else if ( aDesc==KRoutingControl )
+		{
+		aAudioCaps=TMdaAudioDataSettings::ERoutingControl;
+		}
+	else if ( aDesc==KRealTime )
+		{
+		aAudioCaps=TMdaAudioDataSettings::ERealTime;
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+TBool CT_MMUtil::ConvertToAudioFlags(const TDesC& aDesc, TMdaAudioDataSettings::TAudioFlags& aAudioFlags)
+	{
+	TBool	ret=ETrue;
+
+	if ( aDesc==KNoLocalRouting )
+		{
+		aAudioFlags=TMdaAudioDataSettings::ENoLocalRouting;
+		}
+	else if ( aDesc==KNoNetworkRouting )
+		{
+		aAudioFlags=TMdaAudioDataSettings::ENoNetworkRouting;
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+TBool CT_MMUtil::ConvertToOption(const TDesC& aDesc, CImageDecoder::TOptions& aOption)
+	{
+	TBool	ret=ETrue;
+
+	if ( aDesc==KOptionNone )
+		{
+		aOption=CImageDecoder::EOptionNone;
+		}
+	else if ( aDesc==KOptionNoDither )
+		{
+		aOption=CImageDecoder::EOptionNoDither;
+		}
+	else if ( aDesc==KOptionAlwaysThread )
+		{
+		aOption=CImageDecoder::EOptionAlwaysThread;
+		}
+	else if ( aDesc==KOptionAllowZeroFrameOpen )
+		{
+		aOption=CImageDecoder::EOptionAllowZeroFrameOpen;
+		}
+	else if ( aDesc==KAllowGeneratedMask )
+		{
+		aOption=CImageDecoder::EAllowGeneratedMask;
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+TBool CT_MMUtil::ConvertToOption(const TDesC& aDesc, CImageEncoder::TOptions& aOption)
+	{
+	TBool	ret=ETrue;
+
+	if ( aDesc==KOptionNone )
+		{
+		aOption=CImageEncoder::EOptionNone;
+		}
+	else if ( aDesc==KOptionAlwaysThread )
+		{
+		aOption=CImageEncoder::EOptionAlwaysThread;
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+TBool CT_MMUtil::ConvertToAgentProperty(const TDesC& aDesc, ContentAccess::TAgentProperty& aAgentProperty)
+	{
+	TBool	ret=ETrue;
+
+	if ( aDesc==KAgentPropertyBufferSize )
+		{
+		aAgentProperty=ContentAccess::EAgentPropertyBufferSize;
+		}
+	else if ( aDesc==KAgentPropertyAgentUI )
+		{
+		aAgentProperty=ContentAccess::EAgentPropertyAgentUI;
+		}
+	else if ( aDesc==KAgentPropertyMultipleSequence )
+		{
+		aAgentProperty=ContentAccess::EAgentPropertyMultipleSequence;
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+const TDesC& CT_MMUtil::GetFourCCString(TUint32 aValue)
+	{
+	switch(aValue)
+		{
+	case KMMFFourCCCodePCM8:
+		return KDesMMFFourCCCodePCM8;
+	case KMMFFourCCCodePCMU8:
+		return KDesMMFFourCCCodePCMU8;
+	case KMMFFourCCCodePCM16:
+		return KDesMMFFourCCCodePCM16;
+	case KMMFFourCCCodePCMU16:
+		return KDesMMFFourCCCodePCMU16;
+	case KMMFFourCCCodePCM16B:
+		return KDesMMFFourCCCodePCM16B;
+	case KMMFFourCCCodePCMU16B:
+		return KDesMMFFourCCCodePCMU16B;
+	case KMMFFourCCCodeIMAD:
+		return KDesMMFFourCCCodeIMAD;
+	case KMMFFourCCCodeIMAS:
+		return  KDesMMFFourCCCodeIMAS;
+	case KMMFFourCCCodeALAW:
+		return KDesMMFFourCCCodeALAW;
+	case KMMFFourCCCodeMuLAW:
+		return KDesMMFFourCCCodeMuLAW;
+	case KMMFFourCCCodeGSM610:
+		return KDesMMFFourCCCodeGSM610;
+	case KMMFFourCCCodeNULL:
+		return KDesFourCCCodeNULL;
+	case KMMFFourCCCodeAMR:
+		return KDesMMFFourCCCodeAMR;
+	case KMMFFourCCCodeAAC:
+		return KDesMMFFourCCCodeAAC;
+	case KMMFFourCCCodeAWB:
+		return KDesMMFFourCCCodeAWB;
+	case KMMFFourCCCodeMP3:
+		return KDesMMFFourCCCodeMP3;
+	case KMMFFourCCCodeATRAC3:
+		return KDesMMFFourCCCodeATRAC3;
+	case KMMFFourCCCodeSBC:
+		return KDesMMFFourCCCodeSBC;
+	case KMMFFourCCCodeAMRW:
+		return KDesMMFFourCCCodeAMRW;
+	case KMMFFourCCCodeADTS:
+		return KDesMMFFourCCCodeADTS;
+	default:
+		break;
+		};
+	return KDesMMFFourCCCodeUnknown;
+	}
+
+TBool CT_MMUtil::ReadAudioDataSettings(CDataWrapper& aDataWrapper, TMdaAudioDataSettings& aSettings, const TDesC& aSection)
+	{
+	TBool	ret=EFalse;
+	TBool	callQuery=ETrue;
+
+	//	Read capabilities
+	TInt	index=0;
+	TBool	moreData=ETrue;
+	TPtrC	capabilityString;
+	TInt	capability=0;
+	TBool	hasCapabilty=EFalse;
+	while ( moreData )
+		{
+		TBuf<KMaxTestExecuteCommandLength>	capabilityTemp;
+		capabilityTemp.Format(KCmdCapabilty(), ++index);
+		if ( aDataWrapper.GetStringFromConfig(aSection, capabilityTemp, capabilityString) )
+			{
+			TMdaAudioDataSettings::TAudioCaps	audioCap;
+			if ( ConvertToAudioCaps(capabilityString, audioCap) )
+				{
+				capability |= audioCap;
+				hasCapabilty=ETrue;
+				}
+			else
+				{
+				aDataWrapper.ERR_PRINTF2(_L("Illegal capability %S"), &capabilityString);
+				aDataWrapper.SetBlockResult(EFail);
+				}
+			}
+		else
+			{
+			moreData=EFalse;
+			}
+		}
+	if ( hasCapabilty )
+		{
+		aSettings.iCaps=capability;
+		ret=ETrue;
+		}
+
+	//	Read channels
+	TInt	channels=0;
+	if ( aDataWrapper.GetIntFromConfig(aSection, KCmdChannels(), channels) )
+		{
+		aSettings.iChannels=channels;
+		callQuery=EFalse;
+		ret=ETrue;
+		}
+
+	//	Read flags
+	TMdaAudioDataSettings::TAudioFlags	flags;
+	TPtrC								flagsString;
+	if ( aDataWrapper.GetStringFromConfig(aSection, KCmdFlags(), flagsString) )
+		{
+		if ( ConvertToAudioFlags(flagsString, flags) )
+			{
+			aSettings.iFlags=flags;
+			ret=ETrue;
+			}
+		else
+			{
+			aDataWrapper.ERR_PRINTF2(_L("Illegal flags %S"), &flagsString);
+			aDataWrapper.SetBlockResult(EFail);
+			}
+		}
+
+	//	Read max volume
+	TInt	maxVolume=0;
+	if ( aDataWrapper.GetIntFromConfig(aSection, KCmdMaxVolume(), maxVolume) )
+		{
+		aSettings.iMaxVolume=maxVolume;
+		ret=ETrue;
+		}
+
+	//	Read sample rate
+	TInt	sampleRate=0;
+	if ( aDataWrapper.GetIntFromConfig(aSection, KCmdSampleRate(), sampleRate) )
+		{
+		aSettings.iSampleRate=sampleRate;
+		callQuery=EFalse;
+		ret=ETrue;
+		}
+
+	//	Read volume
+	TInt	volume=0;
+	if ( aDataWrapper.GetIntFromConfig(aSection, KCmdVolume(), volume) )
+		{
+		aSettings.iVolume=volume;
+		callQuery=EFalse;
+		ret=ETrue;
+		}
+
+	if ( callQuery )
+		{
+		aSettings.Query();
+		}
+
+	return ret;
+	}
+
+TBool CT_MMUtil::ConvertToDisplayMode(const TDesC& aDisplayModeStr, TDisplayMode& aDisplayMode)
+	{
+	TBool	ret = ETrue;
+
+	if (aDisplayModeStr == KDModeNone)
+		{
+		aDisplayMode = ENone;
+		}
+	else if (aDisplayModeStr == KDModeGray2)
+		{
+		aDisplayMode = EGray2;
+		}
+	else if (aDisplayModeStr == KDModeGray4)
+		{
+		aDisplayMode = EGray4;
+		}
+	else if (aDisplayModeStr == KDModeGray16)
+		{
+		aDisplayMode = EGray16;
+		}
+	else if (aDisplayModeStr == KDModeGray256)
+		{
+		aDisplayMode = EGray256;
+		}
+	else if (aDisplayModeStr == KDModeColor16)
+		{
+		aDisplayMode = EColor16;
+		}
+	else if (aDisplayModeStr == KDModeColor256)
+		{
+		aDisplayMode = EColor256;
+		}
+	else if (aDisplayModeStr == KDModeColor64K)
+		{
+		aDisplayMode = EColor64K;
+		}
+	else if (aDisplayModeStr == KDModeColor16M)
+		{
+		aDisplayMode = EColor16M;
+		}
+	else if (aDisplayModeStr == KDModeRgb)
+		{
+		aDisplayMode = ERgb;
+		}
+	else if (aDisplayModeStr == KDModeColor4K)
+		{
+		aDisplayMode = EColor4K;
+		}
+	else if (aDisplayModeStr == KDModeColor16MU)
+		{
+		aDisplayMode = EColor16MU;
+		}
+	else if (aDisplayModeStr == KDModeColor16MA)
+		{
+		aDisplayMode = EColor16MA;
+		}
+	else if (aDisplayModeStr == KDModeColorLast)
+		{
+		aDisplayMode = EColorLast;
+		}
+	else
+		{
+		ret = EFalse;
+		}
+
+	return ret;
+	}
+
+TBool CT_MMUtil::ConvertToVideoRotation(const TDesC& aVideoRotationStr, TVideoRotation& aVideoRotation)
+	{
+	TBool	ret = ETrue;
+
+	if (aVideoRotationStr == KEVideoRotationNone)
+		{
+		aVideoRotation = EVideoRotationNone;
+		}
+	else if (aVideoRotationStr == KEVideoRotationClockwise90)
+		{
+		aVideoRotation = EVideoRotationClockwise90;
+		}
+	else if (aVideoRotationStr == KEVideoRotationClockwise180)
+		{
+		aVideoRotation = EVideoRotationClockwise180;
+		}
+	else if (aVideoRotationStr == KEVideoRotationClockwise270)
+		{
+		aVideoRotation = EVideoRotationClockwise270;
+		}
+	else
+		{
+		ret = EFalse;
+		}
+
+	return ret;
+	}
+
+const TDesC& CT_MMUtil::GetVideoRotationString(TVideoRotation& aVideoRotation)
+	{
+	switch(aVideoRotation)
+		{
+	case EVideoRotationNone:
+		return KEVideoRotationNone;
+	case EVideoRotationClockwise90:
+		return KEVideoRotationClockwise90;
+	case EVideoRotationClockwise180:
+		return KEVideoRotationClockwise180;
+	case EVideoRotationClockwise270:
+		return KEVideoRotationClockwise270;
+	default:
+		break;
+		};
+	return KEVideoRotationUnknown;
+	}
+
+
+void CT_MMUtil::VerifyMIMETypeArrayL(CDataWrapper& aDataWrapper, const TDesC& aSection, const RFileExtensionMIMETypeArray& aFileExtensionArray)
+	{
+
+
+	TInt	count=aFileExtensionArray.Count();
+	for ( TInt index=0; index<count; ++index )
+		{
+		CFileExtensionMIMEType*	data=aFileExtensionArray[index];
+		const TDesC&			displayName=data->DisplayName();
+		const TDesC&			fileExtension=data->FileExtension();
+		TUid					imageSubType=data->ImageSubType();
+		TUid					imageType=data->ImageType();
+		TUid					implementationUid=data->ImplementationUid();
+		const TDesC8&			mimeType8=data->MIMEType();
+		HBufC*					mimeType=HBufC::NewLC(mimeType8.Length());
+		TPtr					mimeDes=mimeType->Des();
+		mimeDes.Copy(mimeType8);
+		aDataWrapper.INFO_PRINTF3(_L("DisplayName[%d]      =%S"), index, &displayName);
+		aDataWrapper.INFO_PRINTF3(_L("FileExtension[%d]    =%S"), index, &fileExtension);
+		aDataWrapper.INFO_PRINTF3(_L("ImageSubType[%d]     =0x%X"), index, imageSubType.iUid);
+		aDataWrapper.INFO_PRINTF3(_L("ImageType[%d]        =0x%X"), index, imageType.iUid);
+		aDataWrapper.INFO_PRINTF3(_L("ImplementationUid[%d]=0x%X"), index, implementationUid.iUid);
+		aDataWrapper.INFO_PRINTF3(_L("MIMEType[%d]         =%S"), index, &mimeDes);
+		CleanupStack::PopAndDestroy(mimeType);
+
+		//	Verify that it is unique in the array
+		for ( TInt index2=index+1; index2<count; ++index2 )
+			{
+			CFileExtensionMIMEType*	data2=aFileExtensionArray[index2];
+			if	(	(fileExtension.Compare(data2->FileExtension())==0) &&
+					(imageSubType==data2->ImageSubType()) &&
+					(imageType==data2->ImageType()) &&
+					(implementationUid==data2->ImplementationUid()) &&
+					(mimeType8.Compare(data2->MIMEType())==0)
+				)
+				{
+				aDataWrapper.ERR_PRINTF3(_L("Duplicate Types in entries %d and %d"), index, index2);
+				aDataWrapper.SetBlockResult(EFail);
+				}
+			}
+		}
+	TInt	expectedCount=0;
+	if ( aDataWrapper.GetIntFromConfig(aSection, KCount(), expectedCount) )
+		{
+		if ( count != expectedCount )
+			{
+			aDataWrapper.ERR_PRINTF3(_L("count (%d) != expectedCount (%d)"), count, expectedCount);
+			aDataWrapper.SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMUtil::GetControllerAndFormatUidL(CDataWrapper& aDataWrapper, const TDesC& aFileName, TUid aMediaId, TBool aRecord, TUid& aControllerUid, TUid& aFormatUid)
+	{
+	RFs	fs;
+	User::LeaveIfError(fs.Connect());
+	CleanupClosePushL(fs);
+
+	TParse	parse;
+	fs.Parse(aFileName, parse);
+	TPtrC	extension=parse.Ext();
+
+	CMMFControllerPluginSelectionParameters*	controllerSelection = CMMFControllerPluginSelectionParameters::NewLC();
+	CMMFFormatSelectionParameters*				formatSelection = CMMFFormatSelectionParameters::NewLC();
+
+	// Set the play and record format selection parameters to be blank.
+	// Format support is only retrieved if requested.
+	controllerSelection->SetRequiredPlayFormatSupportL(*formatSelection);
+	controllerSelection->SetRequiredRecordFormatSupportL(*formatSelection);
+
+	// Set the media ids
+	RArray<TUid>	mediaIds;
+	CleanupClosePushL(mediaIds);
+	User::LeaveIfError(mediaIds.Append(aMediaId));
+
+	// Get plugins that support at least audio
+	controllerSelection->SetMediaIdsL(mediaIds, CMMFPluginSelectionParameters::EAllowOtherMediaIds);
+	controllerSelection->SetPreferredSupplierL(KNullDesC, CMMFPluginSelectionParameters::EPreferredSupplierPluginsFirstInList);
+
+	// Array to hold all the controllers support the match data
+	RMMFControllerImplInfoArray	controllers;
+	CleanupResetAndDestroyPushL(controllers);
+	controllerSelection->ListImplementationsL(controllers);
+
+	// Find the first controller with at least one record format available
+	aControllerUid=TUid::Null();
+	aFormatUid=TUid::Null();
+
+	TBool	set = EFalse;
+	TBool	stillNull = ETrue;
+	for( TInt controllerIndex=0; (controllerIndex<controllers.Count()) && !set; ++controllerIndex )
+		{
+		const CMMFControllerImplementationInformation*	controller=controllers[controllerIndex];
+		LogL(aDataWrapper, *controller);
+
+		if ( aRecord )
+			{
+			const RMMFFormatImplInfoArray&	formats=controller->RecordFormats();
+
+			for( TInt formatIndex=0; (formatIndex<formats.Count()) && !set; ++formatIndex )
+				{
+				CMMFFormatImplementationInformation*	formatInfo=formats[formatIndex];
+				const CDesC8Array&						extensions=formatInfo->SupportedFileExtensions();
+
+				for ( TInt extensionsIndex=0; (extensionsIndex<extensions.Count()) && !set; ++extensionsIndex )
+					{
+					HBufC*	buffer=HBufC::NewLC(extensions[extensionsIndex].Length());
+					TPtr	bufferPtr=buffer->Des();
+					bufferPtr.Copy(extensions[extensionsIndex]);	// Create a 16 bit copy of the 8 bit original
+
+					if ( stillNull )
+						{
+						aControllerUid = controller->Uid();
+						aFormatUid = formats[0]->Uid();
+						stillNull = EFalse;
+						}
+					if ( bufferPtr == extension )
+						{
+						aControllerUid = controller->Uid();
+						aFormatUid = formats[0]->Uid();
+						set = ETrue;
+						}
+					CleanupStack::PopAndDestroy(buffer);
+					}
+				}
+			}
+		else
+			{
+			const RMMFFormatImplInfoArray&	formats=controller->PlayFormats();
+
+			for( TInt formatIndex=0; (formatIndex<formats.Count()) && !set; ++formatIndex )
+				{
+				CMMFFormatImplementationInformation*	formatInfo=formats[formatIndex];
+				const CDesC8Array&						extensions=formatInfo->SupportedFileExtensions();
+
+				for ( TInt extensionsIndex=0; (extensionsIndex<extensions.Count()) && !set; ++extensionsIndex )
+					{
+					HBufC*	buffer=HBufC::NewLC(extensions[extensionsIndex].Length());
+					TPtr	bufferPtr=buffer->Des();
+					bufferPtr.Copy(extensions[extensionsIndex]);	// Create a 16 bit copy of the 8 bit original
+
+					if ( stillNull )
+						{
+						aControllerUid = controller->Uid();
+						aFormatUid = formats[0]->Uid();
+						stillNull = EFalse;
+						}
+					if ( bufferPtr == extension )
+						{
+						aControllerUid = controller->Uid();
+						aFormatUid = formats[0]->Uid();
+						set = ETrue;
+						}
+					CleanupStack::PopAndDestroy(buffer);
+					}
+				}
+			}
+		}
+
+	CleanupStack::PopAndDestroy(5, &fs);
+	}
+
+void CT_MMUtil::LogL(CDataWrapper& aDataWrapper, const CMMFControllerImplementationInformation& aControllerInfo)
+	{
+	aDataWrapper.INFO_PRINTF2(_L("Controller DisplayName = %S"),	&(aControllerInfo.DisplayName()));
+	aDataWrapper.INFO_PRINTF2(_L("Controller Supplier = %S"),		&(aControllerInfo.Supplier()));
+	aDataWrapper.INFO_PRINTF2(_L("Controller Format Uid = 0x%X"),	aControllerInfo.Uid().iUid);
+
+	// Print out Play Formats information
+	TInt	index;
+
+	const RMMFFormatImplInfoArray&	playFormatArray = aControllerInfo.PlayFormats();
+	for ( index=0; index<playFormatArray.Count(); ++index )
+		{
+		CMMFFormatImplementationInformation*	formatInfo=playFormatArray[index];
+		aDataWrapper.INFO_PRINTF2(_L("PlayFormat [%d]"),		index);
+		LogL(aDataWrapper, *formatInfo);
+		}
+
+	// Print out Record Formats information
+	const RMMFFormatImplInfoArray&	recordFormatArray = aControllerInfo.RecordFormats();
+	for ( index=0; index<recordFormatArray.Count(); ++index )
+		{
+		CMMFFormatImplementationInformation*	formatInfo=recordFormatArray[index];
+		aDataWrapper.INFO_PRINTF2(_L("RecordFormat [%d]"),		index);
+		LogL(aDataWrapper, *formatInfo);
+		}
+	}
+
+void CT_MMUtil::LogL(CDataWrapper& aDataWrapper, const CMMFFormatImplementationInformation& aFormatInfo)
+	{
+	aDataWrapper.INFO_PRINTF2(_L("  DisplayName = %S"),	&(aFormatInfo.DisplayName()));
+	aDataWrapper.INFO_PRINTF2(_L("  Supplier = %S"),		&(aFormatInfo.Supplier()));
+	aDataWrapper.INFO_PRINTF2(_L("  Uid = 0x%X"),			aFormatInfo.Uid().iUid);
+
+	TInt				index;
+	const CDesC8Array&	fileext=aFormatInfo.SupportedFileExtensions();
+
+	for ( index=0; index<fileext.Count(); ++index )
+		{
+		HBufC*	buffer=HBufC::NewLC(fileext[index].Length());
+		TPtr	bufferPtr=buffer->Des();
+		bufferPtr.Copy(fileext[index]);	// Create a 16 bit copy of the 8 bit original
+		aDataWrapper.INFO_PRINTF3(_L("    Supported file extension [%d]: %S"), index, &bufferPtr);
+		CleanupStack::PopAndDestroy(buffer);
+		}
+
+	const CDesC8Array&	mimetypes=aFormatInfo.SupportedMimeTypes();
+	for ( index=0; index<mimetypes.Count(); ++index )
+		{
+		HBufC*	buffer=HBufC::NewLC(mimetypes[index].Length());
+		TPtr	bufferPtr=buffer->Des();
+		bufferPtr.Copy(mimetypes[index]);	// Create a 16 bit copy of the 8 bit original
+		aDataWrapper.INFO_PRINTF3(_L("    Supported mime type [%d]: %S"), index, &bufferPtr);
+		CleanupStack::PopAndDestroy(buffer);
+		}
+
+	const CDesC8Array&	headerdata=aFormatInfo.SupportedHeaderData();
+	for ( index=0; index<headerdata.Count(); ++index )
+		{
+		HBufC*	buffer=HBufC::NewLC(headerdata[index].Length());
+		TPtr	bufferPtr=buffer->Des();
+		bufferPtr.Copy(headerdata[index]);	// Create a 16 bit copy of the 8 bit original
+		aDataWrapper.INFO_PRINTF3(_L("    Supported header data [%d]: %S"), index, &bufferPtr);
+		CleanupStack::PopAndDestroy(buffer);
+		}
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/config/t_multimedia.tcs	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,40 @@
+MM-ECM-PublicApi-0030
+MM-ECM-PublicApi-0033:MM-ECM-PublicApi-0036
+MM-MMF-MIDI-PublicAPI-0006:MM-MMF-MIDI-PublicAPI-0008
+MM-MMF-MIDI-PublicAPI-0013:MM-MMF-MIDI-PublicAPI-0018
+MM-MMF-MIDI-PublicAPI-0026
+MM-MMF-MIDI-PublicAPI-0034
+MM-MMF-MIDI-PublicAPI-0052
+MM-MMF-MIDI-PublicAPI-0055
+MM-MMF-MIDI-PublicAPI-0058
+MM-MMF-MIDI-PublicAPI-0063
+MM-MMF-MIDI-PublicAPI-0064
+MM-MMF-MIDI-PublicAPI-0067:MM-MMF-MIDI-PublicAPI-0081
+MM-MMF-MIDI-PublicAPI-0083
+MM-MMF-MIDI-PublicAPI-0089
+MM-MMF-MIDI-PublicAPI-0101:MM-MMF-MIDI-PublicAPI-0103
+MM-MMF-MIDI-PublicAPI-0105
+MM-MMF-MIDI-PublicAPI-0107
+MM-MMF-MIDI-PublicAPI-0114
+MM-MMF-MIDI-PublicAPI-0121:MM-MMF-MIDI-PublicAPI-0123
+MM-MMF-MIDI-PublicAPI-0127
+MM-MMF-MIDI-PublicAPI-0135
+MM-MMF-MIDI-PublicAPI-0151
+MM-MMF-MIDI-PublicAPI-0152
+MM-MMF-MIDI-PublicAPI-0154
+MM-MMF-MIDI-PublicAPI-0155
+MM-MMF-MIDI-PublicAPI-0159
+MM-MMF-MIDI-PublicAPI-0161
+MM-MMF-MIDI-PublicAPI-0162
+MM-MMF-MIDI-PublicAPI-0169
+MM-MMF-MIDI-PublicAPI-0174
+MM-MMF-MIDI-PublicAPI-0177:MM-MMF-MIDI-PublicAPI-0179
+MM-MMF-MIDI-PublicAPI-0183:MM-MMF-MIDI-PublicAPI-0185
+MM-MMF-MIDI-PublicAPI-0188:MM-MMF-MIDI-PublicAPI-0190
+MM-MMF-MIDI-PublicAPI-0193
+MM-MMF-VCLNT-RCRDR-PublicAPI-0023:MM-MMF-VCLNT-RCRDR-PublicAPI-0026
+MM-MMF-VCLNT-RCRDR-PublicAPI-0028
+MM-MMF-VCLNT-RCRDR-PublicAPI-0030
+MM-MMF-VCLNT-RCRDR-PublicAPI-0033
+MM-MMF-VCLNT-RCRDR-PublicAPI-0039
+MM-MMF-VCLNT-RCRDR-PublicAPI-0040
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/group/T_Camera.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+TARGET			t_camera.exe
+TARGETTYPE		exe
+UID				0x1000007A 0x20000F71
+VENDORID		0x70000001
+
+CAPABILITY		WriteUserData ReadUserData UserEnvironment MultimediaDD
+
+SOURCEPATH		../src
+
+SOURCE			../../../common/src/T_MMUtil.cpp
+SOURCE			../../../common/src/DataWrapperBase.cpp
+
+SOURCE			T_MMDataCamera.cpp
+SOURCE			T_CameraServer.cpp
+
+USERINCLUDE		../inc
+USERINCLUDE		../../../common/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE	/epoc32/include/test
+
+LIBRARY			euser.lib
+LIBRARY			efsrv.lib
+LIBRARY			fbscli.lib
+LIBRARY			ws32.lib
+LIBRARY			ecam.lib
+LIBRARY			testexecuteutils.lib
+LIBRARY			testexecutelogclient.lib
+LIBRARY			bafl.lib
+LIBRARY			imageconversion.lib
+LIBRARY			mmfcontrollerframework.lib
+LIBRARY			iniparser.lib
+
+SMPSAFE
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,34 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTEXPORTS
+t_camera.iby								/epoc32/rom/include/t_camera.iby
+t_camera_binaries.iby						/epoc32/rom/include/t_camera_binaries.iby
+t_camera_testdata.iby						/epoc32/rom/include/t_camera_testdata.iby
+
+../pkg/T_Camera.pkg						    /epoc32/pkg/t_camera.pkg
+../pkg/tcamera.bat							/epoc32/pkg/tcamera.bat
+../scripts/MM-ECM-PublicApi.script			/epoc32/pkg/mm-ecm-publicapi.script
+../testdata/MM-ECM-PublicApi.ini			/epoc32/pkg/mm-ecm-publicapi.ini
+
+../scripts/setup-MM-ECM-PublicApi.script	z:/multimedia/setup-mm-ecm-publicapi.script
+../scripts/MM-ECM-PublicApi.script			z:/multimedia/mm-ecm-publicapi.script
+
+../testdata/MM-ECM-PublicApi.ini			z:/multimedia/mm-ecm-publicapi.ini
+
+PRJ_TESTMMPFILES
+T_Camera.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/group/t_camera.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,24 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_CAMERA_IBY__)
+#define __T_CAMERA_IBY__
+
+#include <t_camera_binaries.iby>
+#include <t_camera_testdata.iby>
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/group/t_camera_binaries.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_CAMERA_BINARIES_IBY__)
+#define __T_CAMERA_BINARIES_IBY__
+
+#include <testexecute.iby>
+
+#if (!defined EKA2)
+file=ABI_DIR\BUILD_DIR\t_camera.exe 	system\libs\t_camera.exe
+#else
+file=ABI_DIR\BUILD_DIR\t_camera.exe 	system\bin\t_camera.exe
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/group/t_camera_testdata.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,25 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_CAMERA_TESTDATA_IBY__)
+#define __T_CAMERA_TESTDATA_IBY__
+
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-ECM-PublicApi.script			multimedia\MM-ECM-PublicApi.script
+
+data=EPOCROOT##Epoc32\data\z\multimedia\setup-MM-ECM-PublicApi.script	multimedia\setup-MM-ECM-PublicApi.script
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-ECM-PublicApi.ini			multimedia\MM-ECM-PublicApi.ini
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/inc/T_CameraParams.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 __T_CAMERA_PARAMS_H_INCLUDED__
+#define __T_CAMERA_PARAMS_H_INCLUDED__
+
+_LIT(KUnknown, "Unknown");
+// CCamera::TFormat
+_LIT(KFormatMonochrome, 		"EFormatMonochrome");
+_LIT(KFormat16bitRGB444, 		"EFormat16bitRGB444");
+_LIT(KFormat16BitRGB565, 		"EFormat16BitRGB565");
+_LIT(KFormat32BitRGB888, 		"EFormat32BitRGB888");
+_LIT(KFormatJpeg, 				"EFormatJpeg");
+_LIT(KFormatExif, 				"EFormatExif");
+_LIT(KFormatFbsBitmapColor4K, 	"EFormatFbsBitmapColor4K");
+_LIT(KFormatFbsBitmapColor64K, 	"EFormatFbsBitmapColor64K");
+_LIT(KFormatFbsBitmapColor16M, 	"EFormatFbsBitmapColor16M");
+_LIT(KFormatUserDefined, 		"EFormatUserDefined");
+_LIT(KFormatYUV420Interleaved, 	"EFormatYUV420Interleaved");
+_LIT(KFormatYUV420Planar, 		"EFormatYUV420Planar");
+_LIT(KFormatYUV422, 			"EFormatYUV422");
+_LIT(KFormatYUV422Reversed, 	"EFormatYUV422Reversed");
+_LIT(KFormatYUV444, 			"EFormatYUV444");
+_LIT(KFormatYUV420SemiPlanar, 	"EFormatYUV420SemiPlanar");
+_LIT(KFormatFbsBitmapColor16MU, "EFormatFbsBitmapColor16MU");
+
+// CCamera::TExposure params
+_LIT(KExposureAuto,				"EExposureAuto");
+_LIT(KExposureNight,			"EExposureNight");
+_LIT(KExposureBacklight,		"EExposureBacklight");
+_LIT(KExposureCenter,			"EExposureCenter");
+_LIT(KExposureSport,			"EExposureSport");
+_LIT(KExposureVeryLong,			"EExposureVeryLong");
+_LIT(KExposureSnow,				"EExposureSnow");
+_LIT(KExposureBeach,			"EExposureBeach");
+_LIT(KExposureProgram,			"EExposureProgram");
+_LIT(KExposureAperturePriority,	"EExposureAperturePriority");
+_LIT(KExposureShutterPriority,	"EExposureShutterPriority");
+_LIT(KExposureManual,			"EExposureManual");
+_LIT(KExposureSuperNight,		"EExposureSuperNight");
+_LIT(KExposureInfra,			"EExposureInfra");
+
+// CCamera::TFlash params
+_LIT(KFlashNone, 				"EFlashNone");
+_LIT(KFlashAuto, 				"EFlashAuto");
+_LIT(KFlashForced, 	 			"EFlashForced");
+_LIT(KFlashFillIn,			 	"EFlashFillIn");
+_LIT(KFlashRedEyeReduce, 		"EFlashRedEyeReduce");
+_LIT(KFlashSlowFrontSync,		"EFlashSlowFrontSync");
+_LIT(KFlashSlowRearSync, 		"EFlashSlowRearSync");
+_LIT(KFlashManual, 				"EFlashManual");
+
+// CCamera::TWhiteBalance params
+_LIT(KWBAuto,					"EWBAuto");
+_LIT(KWBCloudy,					"EWBCloudy");
+_LIT(KWBTungsten,				"EWBTungsten");
+_LIT(KWBFluorescent, 			"EWBFluorescent");
+_LIT(KWBFlash,					"EWBFlash");
+_LIT(KWBSnow,					"EWBSnow");
+_LIT(KWBBeach,					"EWBBeach");
+_LIT(KWBManual,					"EWBManual");
+
+// TCameraOrientation
+_LIT(KOrientationOutwards, 		"EOrientationOutwards");
+_LIT(KOrientationInwards, 		"EOrientationInwards");
+_LIT(KOrientationMobile,		"EOrientationMobile");
+_LIT(KOrientationUnknown,		"EOrientationUnknown");
+
+#endif // __T_CAMERA_PARAMS_H_INCLUDED__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/inc/T_CameraServer.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_CAMERA_SERVER_H__)
+#define __T_CAMERA_SERVER_H__
+
+//	EPOC Includes
+#include <testblockcontroller.h>
+#include <testserver2.h>
+
+class CT_CameraServer : public CTestServer2
+	{
+private:
+	class CT_CameraBlock : public CTestBlockController
+		{
+	public:
+		inline CT_CameraBlock();
+		inline ~CT_CameraBlock();
+
+		inline CDataWrapper*	CreateDataL(const TDesC& aData);
+		};
+
+public:
+	inline ~CT_CameraServer();
+
+	inline void	DeleteActiveSchedulerL();
+
+	static CT_CameraServer*	NewL();
+
+	inline CTestBlockController*	CreateTestBlock();
+
+protected:
+	inline CT_CameraServer();
+	};
+
+#include "T_CameraServer.inl"
+
+#endif /* __T_CAMERA_SERVER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/inc/T_CameraServer.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataCamera.h"
+
+_LIT(KT_CameraWrapper,	"CCamera");
+
+CT_CameraServer::CT_CameraBlock::CT_CameraBlock()
+:	CTestBlockController()
+	{
+	}
+
+CT_CameraServer::CT_CameraBlock::~CT_CameraBlock()
+	{
+	}
+
+CDataWrapper* CT_CameraServer::CT_CameraBlock::CreateDataL(const TDesC& aData)
+	{
+	CDataWrapper*	wrapper = NULL;
+
+	if( KT_CameraWrapper() == aData )
+		{
+		wrapper = CT_MMDataCamera::NewL();
+		}
+
+	return wrapper;
+	}
+
+CT_CameraServer::CT_CameraServer()
+	{
+	}
+
+CT_CameraServer::~CT_CameraServer()
+	{
+	}
+
+void CT_CameraServer::DeleteActiveSchedulerL()
+	{
+	}
+
+CTestBlockController* CT_CameraServer::CreateTestBlock()
+	{
+	return new CT_CameraBlock();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/inc/T_MMDataCamera.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,187 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MM_DATA_CAMERA_H__)
+#define __T_MM_DATA_CAMERA_H__
+
+//	User includes
+#include "DataWrapperBase.h"
+
+//	EPOC includes
+#include <ecam.h>
+#include <w32std.h>
+
+/**
+ * Test Active Notification class
+ *
+ */
+class CT_MMDataCamera : public CDataWrapperBase, public MCameraObserver, public MCameraObserver2
+	{
+public:
+	~CT_MMDataCamera();
+
+	static	CT_MMDataCamera*	NewL();
+
+	virtual TBool	DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+
+	virtual TAny*	GetObject();
+
+	virtual void	SetObjectL(TAny* aObject);
+
+	virtual void	DisownObjectL();
+
+	// from the MCameraObserverInterface
+	virtual void	ReserveComplete(TInt aError);
+	virtual void	PowerOnComplete(TInt aError);
+	virtual void	ViewFinderFrameReady(CFbsBitmap &aFrame);
+	virtual void	ImageReady(CFbsBitmap *aBitmap, HBufC8 *aData, TInt aError);
+	virtual void	FrameBufferReady(MFrameBuffer *aFrameBuffer, TInt aError);
+
+	// from the MCameraObserver2 interface
+	virtual void	HandleEvent(const TECAMEvent &aEvent);
+	virtual void	ViewFinderReady(MCameraBuffer &aCameraBuffer, TInt aError);
+	virtual void	ImageBufferReady(MCameraBuffer &aCameraBuffer, TInt aError);
+	virtual void	VideoBufferReady(MCameraBuffer &aCameraBuffer, TInt aError);
+
+protected:
+	CT_MMDataCamera();
+
+	void	ConstructL();
+
+private:
+	inline void			DoCmdBrightness(const TDesC& aSection);
+	inline void			DoCmdSetBrightness(const TDesC& aSection);
+	inline void			DoCmdContrast(const TDesC& aSection);
+	inline void			DoCmdSetContrastL(const TDesC& aSection);
+	inline void			DoCmdDigitalZoomFactor(const TDesC& aSection);
+	inline void			DoCmdSetDigitalZoomFactorL(const TDesC& aSection);
+	inline void			DoCmdExposure(const TDesC& aSection);
+	inline void			DoCmdSetExposureL(const TDesC& aSection);
+	inline void			DoCmdFlash(const TDesC& aSection);
+	inline void			DoCmdSetFlashL(const TDesC& aSection);
+	inline void			DoCmdViewFinderMirror(const TDesC& aSection);
+	inline void			DoCmdSetViewFinderMirrorL(const TDesC& aSection);
+	inline void			DoCmdWhiteBalance(const TDesC& aSection);
+	inline void			DoCmdSetWhiteBalanceL(const TDesC& aSection);
+	inline void			DoCmdZoomFactor(const TDesC& aSection);
+	inline void			DoCmdSetZoomFactorL(const TDesC& aSection);
+	inline void			DoCmdJpegQuality(const TDesC& aSection);
+	inline void			DoCmdSetJpegQuality(const TDesC& aSection);
+	inline void			DoCmdBuffersInUse(const TDesC& aSection);
+	inline void			DoCmdCameraInfo(const TDesC& aSection);
+	inline void			DoCmdCamerasAvailable(const TDesC& aSection);
+	inline void			DoCmdCancelCaptureImage();
+	inline void			DoCmdCaptureImage(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void			DoCmdCustomInterface(const TDesC& aSection);
+	inline void			DoCmdEnumerateCaptureSizes(const TDesC& aSection);
+	inline void			DoCmdEnumerateVideoFrameRates(const TDesC& aSection);
+	inline void			DoCmdEnumerateVideoFrameSizes(const TDesC& aSection);
+	inline void			DoCmdFrameRate(const TDesC& aSection);
+	inline void			DoCmdFramesPerBuffer(const TDesC& aSection);
+	inline void			DoCmdGetFrameSize(const TDesC& aSection);
+	inline void			DoCmdHandle();
+	inline void			DoCmdNewDuplicateL(const TDesC& aSection);
+	inline void			DoCmdNewL(const TDesC& aSection);
+	inline void			DoCmdPowerOff();
+	inline void			DoCmdPowerOn(const TInt aAsyncErrorIndex);
+	inline void			DoCmdPrepareImageCaptureL(const TDesC& aSection);
+	inline void			DoCmdPrepareVideoCaptureL(const TDesC& aSection);
+	inline void			DoCmdRelease();
+	inline void			DoCmdReserve(const TInt aAsyncErrorIndex);
+	inline void			DoCmdStartVideoCapture(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void			DoCmdStartViewFinderBitmapsL(const TDesC& aSection);
+	inline void			DoCmdStartViewFinderDirectL(const TDesC& aSection);
+	inline void			DoCmdStartViewFinderL(const TDesC& aSection);
+	inline void			DoCmdStopVideoCapture();
+	inline void			DoCmdStopViewFinder();
+	inline void			DoCmdVideoCaptureActive(const TDesC& aSection);
+	inline void			DoCmdViewFinderActive(const TDesC& aSection);
+	inline void			DoCmdDestructor();
+
+	void				DestroyData();
+	TInt				GetDefaultDigitalZf();
+	TBool				GetParam(
+							CCamera::TFormat&					aFormat,
+							const TDesC&						aSection);
+	TBool				GetParam(
+							TRect&								aRect,
+							const TDesC&						aTag,
+							const TDesC&						aSection);
+	TBool				GetParam(
+							TSize&								aSize,
+							const TDesC&						aTag,
+							const TDesC&						aSection);
+	TBool				GetParam(
+							CCamera::TExposure&					aExposure,
+							const TDesC&						aSection);
+	TBool				GetParam(
+							CCamera::TFlash&					aFlash,
+							const TDesC&						aSection);
+	TBool				GetParam(
+							CCamera::TWhiteBalance&				aWhiteBalance,
+							const TDesC&						aSection);
+	TBool				GetParam(
+							TCameraInfo::TCameraOrientation&	aOrientation,
+							const TDesC&						aSection);
+	static TBool		ConvertToCameraFormat(
+							const TDesC&						aFormatDes,
+							CCamera::TFormat&					aFormat);
+	static TBool		ConvertToCameraExposure(
+							const TDesC&						aExposureDes,
+							CCamera::TExposure&					aExposure);
+	static TBool		ConvertToCameraFlash(
+							const TDesC&						aFlashDes,
+							CCamera::TFlash&					aFlash);
+	static TBool		ConvertToCameraWhiteBalance(
+							const TDesC&						aWhiteBalanceDes,
+							CCamera::TWhiteBalance&				aWhiteBalance);
+	static const TDesC&	GetParamString(const CCamera::TWhiteBalance aWb);
+	static const TDesC&	GetParamString(const CCamera::TFlash aFlash);
+	static const TDesC&	GetParamString(const CCamera::TExposure aExposure);
+	static const TDesC&	GetParamString(const CCamera::TFormat aFormat);
+
+	// TCameraOrientation
+	static TBool		ConvertToOrientation(
+							const TDesC& aOrientationDes,
+							TCameraInfo::TCameraOrientation& aOrientation);
+	static const TDesC&	GetParamString(TCameraInfo::TCameraOrientation aOrientation);
+
+private:
+	CCamera*				iCamera;
+	TCameraInfo				iCameraInfo;
+	TBool					iPrepareCaptureOk;
+	TInt					iPrepareCaptureErr;
+	TBool					iCapturing;
+	TPtrC					iBitmapFile;
+	TBool					iHasBitmapFile;
+	TInt					iAsyncErrorIndex;
+
+	// vars neccessary for CCamera
+	RFbsSession				iFbsSession;
+	TBool					iFbsSessionConnected;
+
+	// vars neccessary for StartViewFinderDirectL
+	RWsSession				iWsSession;
+	TBool					iWsSessionConnected;
+	CWsScreenDevice* 		iScrDevice;
+	RWindowGroup*			iWindowGroup;
+	RWindow*				iWindow;
+	};
+
+#endif /* __T_MM_DATA_CAMERA_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/pkg/T_Camera.pkg	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,52 @@
+;
+; Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+;
+;
+; Install file for T_Camera.exe
+;
+
+; Languages - 
+&EN
+
+; Installation header
+; UID is the app's UID
+#{"T_Camera"},(0x20000F71),1,0,0
+
+;%{"Vendor-EN"}
+;:"Symbian"
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+
+"T_Camera.exe"-"!:\sys\bin\T_Camera.exe"
+"tcamera.bat"-"!:\multimedia\tcamera.bat"
+"MM-ECM-PublicApi.script"-"!:\multimedia\MM-ECM-PublicApi.script"
+"t_multimedia.tcs"-"!:\multimedia\t_multimedia.tcs"
+"MM-ECM-PublicApi.ini"-"!:\multimedia\MM-ECM-PublicApi.ini"
+"t_multimedia.ini"-"!:\multimedia\t_multimedia.ini"
+"102070CC.txt"-"!:\102070CC.txt"
+
+
+
+; Required files
+; None
+
+; Component .sis files
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/pkg/tcamera.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testexecute \multimedia\MM-ECM-PublicApi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/scripts/MM-ECM-PublicApi.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,3605 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName		MM-ECM-PublicApi
+//! @SYMScriptTestEnvironment	This test script requires a basic ROM with either a test Camera implementation
+//!				or hardware that has one or more cameras.
+/////////////////////////////////////////////////////////////////////
+// MM-ECM-PublicApi.script
+//
+// Tests all public elements of the CCamera class
+// as a means of confidence that the APIs work as expected.
+//
+// The purpose is to provide a regression test suite of PublishedAll APIs for CCamera.
+// Negative testing is performed to confirm that correct errors are returned when incorrect parameters are given.
+// The tests are fully automated.
+/////////////////////////////////////////////////////////////////////
+
+LOAD_SUITE	T_Camera
+
+
+START_TESTCASE 			MM-ECM-PublicApi-0001
+//! @SYMTestCaseID		MM-ECM-PublicApi-0001
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		25/11/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Setup camera and take a picture
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), Handle(), EnumerateCaptureSizes(), PrepareImageCaptureL(), CaptureImage(), CaptureImage(), CancelCaptureImage(), PowerOff(), Release()
+//! @SYMTestActions		Initialise the camera enumerate capture sizesand
+//!				use it to capture a still image
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Camera is initialised and and several images (3) captured, a 4th image is then
+//!				taken and its capture cancelled
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0001-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0001-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	Handle
+		COMMAND		camera1	EnumerateCaptureSizes	MM-ECM-PublicApi-0001-001-EnumerateCaptureSizes_command07
+		COMMAND		camera1	PrepareImageCaptureL
+		COMMAND		camera1	CaptureImage
+		OUTSTANDING
+		COMMAND		camera1	CaptureImage
+		OUTSTANDING
+		COMMAND		camera1	CaptureImage		MM-ECM-PublicApi-0001-001-CaptureImage_command11
+		OUTSTANDING
+		COMMAND		camera1	CaptureImage
+		COMMAND		camera1	CancelCaptureImage
+		OUTSTANDING
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0001
+
+START_TESTCASE	 		MM-ECM-PublicApi-0002
+//! @SYMTestCaseID		MM-ECM-PublicApi-0002
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		25/11/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Check T_Camera getter / setter methods
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), SetBrightnessL(), Brightness(), SetContrastL(), Contrast(), SetDigitalZoomFactorL(), DigitalZoomFactor(), SetJpegQuality(), JpegQuality(), SetViewFinderMirrorL(), ViewFinderMirror(), SetWhiteBalanceL(), WhiteBalance(), SetZoomFactorL(), ZoomFactor(), PowerOff(), Release()
+//! @SYMTestActions		Initialise the camera test setter / getter methods
+//!				for white balance, contrast, brightness zoom etc..
+//!				Test enumeration functions
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Camera is initialised get values match set values, enumeration functions work ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0002-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0002-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetBrightnessL		MM-ECM-PublicApi-0002-001-SetBrightnessL_command06
+		COMMAND		camera1	Brightness		MM-ECM-PublicApi-0002-001-Brightness_command07
+		COMMAND		camera1	SetContrastL		MM-ECM-PublicApi-0002-001-SetContrastL_command08
+		COMMAND		camera1	Contrast		MM-ECM-PublicApi-0002-001-Contrast_command09
+		COMMAND		camera1	SetDigitalZoomFactorL
+		COMMAND		camera1	DigitalZoomFactor
+		COMMAND		camera1	SetJpegQuality		MM-ECM-PublicApi-0002-001-SetJpegQuality_command12
+		COMMAND		camera1	JpegQuality		MM-ECM-PublicApi-0002-001-JpegQuality_command13
+		COMMAND		camera1	SetViewFinderMirrorL	MM-ECM-PublicApi-0002-001-SetViewFinderMirrorL_command14
+		COMMAND		camera1	ViewFinderMirror	MM-ECM-PublicApi-0002-001-ViewFinderMirror_command15
+		COMMAND		camera1	SetWhiteBalanceL	MM-ECM-PublicApi-0002-001-SetWhiteBalanceL_command16
+		COMMAND		camera1	WhiteBalance		MM-ECM-PublicApi-0002-001-WhiteBalance_command17
+		COMMAND		camera1	SetZoomFactorL
+		COMMAND		camera1	ZoomFactor
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0002
+
+START_TESTCASE 			MM-ECM-PublicApi-0003
+//! @SYMTestCaseID		MM-ECM-PublicApi-0003
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		25/11/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests start viewfinder bitmaps
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), ViewFinderActive(), StartViewFinderBitmapsL(), ViewFinderActive(), StopViewFinder(), PowerOff(), Release()
+//! @SYMTestActions		Call to viewfinder  bitmaps starts vf ok
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Camera is initialised and viewfinder bitmaps started ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0003-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0003-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0003-001-ViewFinderActive_command06
+		COMMAND		camera1	StartViewFinderBitmapsL
+		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0003-001-ViewFinderActive_command08
+		DELAY	5000000
+		COMMAND		camera1	StopViewFinder
+		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0003-001-ViewFinderActive_command11
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0003
+
+START_TESTCASE 			MM-ECM-PublicApi-0004
+//! @SYMTestCaseID		MM-ECM-PublicApi-0004
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		25/11/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests start viewfinder direct
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), ViewFinderActive(), StartViewFinderDirectL(), ViewFinderActive(), StopViewFinder(), PowerOff(), Release()
+//! @SYMTestActions		Test startup of viewfinder direct.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Camera is initialised and viewfinder direct started ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0004-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0004-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0004-001-ViewFinderActive_command06
+		COMMAND		camera1	StartViewFinderDirectL
+		DELAY	5000000
+		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0004-001-ViewFinderActive_command09
+		COMMAND		camera1	StopViewFinder
+		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0004-001-ViewFinderActive_command11
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0004
+
+START_TESTCASE	 		MM-ECM-PublicApi-0005
+//! @SYMTestCaseID		MM-ECM-PublicApi-0005
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		25/11/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests start viewfinder
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), ViewFinderActive(), StartViewFinderL(), ViewFinderActive(), StopViewFinder(), PowerOff(), Release()
+//! @SYMTestActions		Tests startup of camera viewfinder
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults 	Camera is initialised and viewfinder started ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0005-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0005-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0005-001-ViewFinderActive_command06
+		COMMAND		camera1	StartViewFinderL
+		DELAY	5000000
+		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0005-001-ViewFinderActive_command09
+		COMMAND		camera1	StopViewFinder
+		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0005-001-ViewFinderActive_command11
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0005
+
+START_TESTCASE 			MM-ECM-PublicApi-0006
+//! @SYMTestCaseID		MM-ECM-PublicApi-0006
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		25/11/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Test video recording
+//! @SYMTestActions		Initialise the camera , enumerate video properties and
+//!				use it to record some video then stop the recording
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), NewDuplicateL(), PowerOff(), Release()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Camera is initialised and a new duplicate created ok
+//!				using MObserver interface
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CCamera	camera2
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0006-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0006-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera2	NewDuplicateL		MM-ECM-PublicApi-0006-001-NewDuplicateL_command07
+		DELAY	3000000
+		COMMAND		camera2	PowerOff
+		COMMAND		camera2	Release
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0006
+
+START_TESTCASE 			MM-ECM-PublicApi-0007
+//! @SYMTestCaseID		MM-ECM-PublicApi-0007
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		25/11/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Test creating a duplicate camera
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), NewDuplicateL(), PowerOff(), Release()
+//! @SYMTestActions		Initialise the camera, and create a duplicate
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Camera is initialised and a new duplicate created ok
+//!				Using the MObserver2 interface
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CCamera	camera2
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0007-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0007-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera2	NewDuplicateL		MM-ECM-PublicApi-0007-001-NewDuplicateL_command07
+		DELAY	3000000
+		COMMAND		camera2	PowerOff
+		COMMAND		camera2	Release
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0007
+
+START_TESTCASE 			MM-ECM-PublicApi-0008
+//! @SYMTestCaseID		MM-ECM-PublicApi-0008
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		25/11/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Test video recording
+//! @SYMTestActions		Initialise the camera , enumerate video properties and
+//!				use it to record some video using EFormat16bitRGB444
+//!				then stop the recording
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), EnumerateVideoFrameRates(), EnumerateVideoFrameSizes(), PrepareVideoCaptureL(), FrameRate(), FramesPerBuffer(), GetFrameSize(), StartVideoCapture(), VideoCaptureActive(), StopVideoCapture(), PowerOff(), Release()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Camera is initialised and video recorded ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable		MM-ECM-PublicApi-0008-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL				MM-ECM-PublicApi-0008-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	EnumerateVideoFrameRates	MM-ECM-PublicApi-0008-001-EnumerateVideoFrameRates_command06
+		COMMAND		camera1	EnumerateVideoFrameSizes	MM-ECM-PublicApi-0008-001-EnumerateVideoFrameSizes_command07
+		COMMAND		camera1	PrepareVideoCaptureL		MM-ECM-PublicApi-0008-001-PrepareVideoCaptureL_command08
+		COMMAND		camera1	FrameRate			MM-ECM-PublicApi-0008-001-FrameRate_command09
+		COMMAND		camera1	FramesPerBuffer			MM-ECM-PublicApi-0008-001-FramesPerBuffer_command10
+		COMMAND		camera1	GetFrameSize			MM-ECM-PublicApi-0008-001-GetFrameSize_command11
+		COMMAND		camera1	StartVideoCapture
+		COMMAND		camera1	VideoCaptureActive		MM-ECM-PublicApi-0008-001-VideoCaptureActive_command13
+		ASYNC_DELAY	5000
+		COMMAND		camera1	StopVideoCapture
+		COMMAND		camera1	VideoCaptureActive		MM-ECM-PublicApi-0008-001-VideoCaptureActive_command15
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0008
+
+START_TESTCASE 			MM-ECM-PublicApi-0009
+//! @SYMTestCaseID		MM-ECM-PublicApi-0009
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), Handle(), PrepareImageCaptureL(), CaptureImage(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormat16bitRGB444
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0009-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0009-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	Handle
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0009-001-PrepareImageCaptureL_command07
+		COMMAND		camera1	CaptureImage		MM-ECM-PublicApi-0009-001-CaptureImage_command08
+		OUTSTANDING
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0009
+
+START_TESTCASE 			MM-ECM-PublicApi-0010
+//! @SYMTestCaseID		MM-ECM-PublicApi-0010
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Test taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), CaptureImage(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormatMonochrome
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0010-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0010-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0010-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	CaptureImage		MM-ECM-PublicApi-0010-001-CaptureImage_command07
+		OUTSTANDING
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0010
+
+START_TESTCASE 			MM-ECM-PublicApi-0011
+//! @SYMTestCaseID		MM-ECM-PublicApi-0011
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), CaptureImage(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormat16BitRGB565
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0011-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0011-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0011-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	CaptureImage		MM-ECM-PublicApi-0011-001-CaptureImage_command07
+		OUTSTANDING
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0011
+
+START_TESTCASE 			MM-ECM-PublicApi-0012
+//! @SYMTestCaseID		MM-ECM-PublicApi-0012
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), CaptureImage(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormat32BitRGB888
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0012-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0012-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0012-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	CaptureImage		MM-ECM-PublicApi-0012-001-CaptureImage_command07
+		OUTSTANDING
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE	 		MM-ECM-PublicApi-0012
+
+START_TESTCASE 			MM-ECM-PublicApi-0013
+//! @SYMTestCaseID		MM-ECM-PublicApi-0013
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), CaptureImage(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormatJpeg
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0013-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0013-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0013-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	CaptureImage		MM-ECM-PublicApi-0013-001-CaptureImage_command07
+		OUTSTANDING
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0013
+
+START_TESTCASE 			MM-ECM-PublicApi-0014
+//! @SYMTestCaseID		MM-ECM-PublicApi-0014
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), CaptureImage(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormatExif
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults 	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0014-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0014-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0014-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	CaptureImage		MM-ECM-PublicApi-0014-001-CaptureImage_command07
+		OUTSTANDING
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0014
+
+START_TESTCASE 			MM-ECM-PublicApi-0015
+//! @SYMTestCaseID		MM-ECM-PublicApi-0015
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), CaptureImage(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormatFbsBitmapColor4K
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0015-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0015-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0015-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	CaptureImage		MM-ECM-PublicApi-0015-001-CaptureImage_command07
+		OUTSTANDING
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0015
+
+START_TESTCASE 			MM-ECM-PublicApi-0016
+//! @SYMTestCaseID		MM-ECM-PublicApi-0016
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), CaptureImage(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormatFbsBitmapColor64K
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0016-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0016-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0016-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	CaptureImage		MM-ECM-PublicApi-0016-001-CaptureImage_command07
+		OUTSTANDING
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0016
+
+START_TESTCASE 			MM-ECM-PublicApi-0017
+//! @SYMTestCaseID		MM-ECM-PublicApi-0017
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), CaptureImage(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormatFbsBitmapColor16M
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0017-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0017-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0017-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	CaptureImage		MM-ECM-PublicApi-0017-001-CaptureImage_command07
+		OUTSTANDING
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0017
+
+START_TESTCASE 			MM-ECM-PublicApi-0018
+//! @SYMTestCaseID		MM-ECM-PublicApi-0018
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), CaptureImage(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormatUserDefined
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0018-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0018-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0018-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	CaptureImage		MM-ECM-PublicApi-0018-001-CaptureImage_command07
+		OUTSTANDING
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0018
+
+START_TESTCASE 			MM-ECM-PublicApi-0019
+//! @SYMTestCaseID		MM-ECM-PublicApi-0019
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), CaptureImage(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormatYUV420Interleaved
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0019-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0019-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0019-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	CaptureImage		MM-ECM-PublicApi-0019-001-CaptureImage_command07
+		OUTSTANDING
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0019
+
+START_TESTCASE 			MM-ECM-PublicApi-0020
+//! @SYMTestCaseID		MM-ECM-PublicApi-0020
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), CaptureImage(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormatYUV422Reversed
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0020-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0020-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0020-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	CaptureImage		MM-ECM-PublicApi-0020-001-CaptureImage_command07
+		OUTSTANDING
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0020
+
+START_TESTCASE 			MM-ECM-PublicApi-0021
+//! @SYMTestCaseID		MM-ECM-PublicApi-0021
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormatYUV420
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0021-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0021-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0021-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0021
+
+START_TESTCASE 			MM-ECM-PublicApi-0022
+//! @SYMTestCaseID		MM-ECM-PublicApi-0022
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a stilll image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), PowerOff(), Release(),
+//! @SYMTestActions		Take a picture using EFormatYUV422Reversed
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0022-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0022-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0022-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0022
+
+START_TESTCASE 			MM-ECM-PublicApi-0023
+//! @SYMTestCaseID		MM-ECM-PublicApi-0023
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormatYUV444
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0023-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0023-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0023-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0023
+
+START_TESTCASE 			MM-ECM-PublicApi-0024
+//! @SYMTestCaseID		MM-ECM-PublicApi-0024
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormatYUV420SemiPlanar
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0024-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0024-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0024-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+	END_TEST_BLOCK
+END_TESTCASE			MM-ECM-PublicApi-0024
+
+START_TESTCASE 			MM-ECM-PublicApi-0025
+//! @SYMTestCaseID		MM-ECM-PublicApi-0025
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PrepareImageCaptureL(), PowerOff(), Release()
+//! @SYMTestActions		Take a picture using EFormatFbsBitmapColor16MU
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0025-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0025-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0025-001-PrepareImageCaptureL_command06
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0025
+
+START_TESTCASE 			MM-ECM-PublicApi-0026
+//! @SYMTestCaseID		MM-ECM-PublicApi-0026
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Tests taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), SetExposureL(), Exposure(), PowerOff(), Release()
+//! @SYMTestActions		Test the SetExposureL and GetExposure methods with all enums
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0026-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0026-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetExposureL		MM-ECM-PublicApi-0026-001-SetExposureL_command06
+		COMMAND		camera1	Exposure		MM-ECM-PublicApi-0026-001-Exposure_command07
+		COMMAND		camera1	SetExposureL		MM-ECM-PublicApi-0026-001-SetExposureL_command08
+		COMMAND		camera1	Exposure		MM-ECM-PublicApi-0026-001-Exposure_command09
+		COMMAND		camera1	SetExposureL		MM-ECM-PublicApi-0026-001-SetExposureL_command10
+		COMMAND		camera1	Exposure		MM-ECM-PublicApi-0026-001-Exposure_command11
+		COMMAND		camera1	SetExposureL		MM-ECM-PublicApi-0026-001-SetExposureL_command12
+		COMMAND		camera1	Exposure		MM-ECM-PublicApi-0026-001-Exposure_command13
+		COMMAND		camera1	SetExposureL		MM-ECM-PublicApi-0026-001-SetExposureL_command14
+		COMMAND		camera1	Exposure		MM-ECM-PublicApi-0026-001-Exposure_command15
+		COMMAND		camera1	SetExposureL		MM-ECM-PublicApi-0026-001-SetExposureL_command16
+		COMMAND		camera1	Exposure		MM-ECM-PublicApi-0026-001-Exposure_command17
+		COMMAND		camera1	SetExposureL		MM-ECM-PublicApi-0026-001-SetExposureL_command18
+		COMMAND		camera1	Exposure		MM-ECM-PublicApi-0026-001-Exposure_command19
+		COMMAND		camera1	SetExposureL		MM-ECM-PublicApi-0026-001-SetExposureL_command20
+		COMMAND		camera1	Exposure		MM-ECM-PublicApi-0026-001-Exposure_command21
+		COMMAND		camera1	SetExposureL		MM-ECM-PublicApi-0026-001-SetExposureL_command22
+		COMMAND		camera1	Exposure		MM-ECM-PublicApi-0026-001-Exposure_command23
+		COMMAND		camera1	SetExposureL		MM-ECM-PublicApi-0026-001-SetExposureL_command24
+		COMMAND		camera1	Exposure		MM-ECM-PublicApi-0026-001-Exposure_command25
+		COMMAND		camera1	SetExposureL		MM-ECM-PublicApi-0026-001-SetExposureL_command26
+		COMMAND		camera1	Exposure		MM-ECM-PublicApi-0026-001-Exposure_command27
+		COMMAND		camera1	SetExposureL		MM-ECM-PublicApi-0026-001-SetExposureL_command28
+		COMMAND		camera1	Exposure		MM-ECM-PublicApi-0026-001-Exposure_command29
+		COMMAND		camera1	SetExposureL		MM-ECM-PublicApi-0026-001-SetExposureL_command30
+		COMMAND		camera1	Exposure		MM-ECM-PublicApi-0026-001-Exposure_command31
+		COMMAND		camera1	SetExposureL		MM-ECM-PublicApi-0026-001-SetExposureL_command32
+		COMMAND		camera1	Exposure		MM-ECM-PublicApi-0026-001-Exposure_command33
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0026
+
+START_TESTCASE 			MM-ECM-PublicApi-0027
+//! @SYMTestCaseID		MM-ECM-PublicApi-0027
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Test the flash
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), SetFlashL(), Flash(), PowerOff(), Release()
+//! @SYMTestActions		Test the SetFlashL and GetFlash methods with all enums
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0027-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0027-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetFlashL		MM-ECM-PublicApi-0027-001-SetFlashL_command06
+		COMMAND		camera1	Flash			MM-ECM-PublicApi-0027-001-Flash_command07
+		COMMAND		camera1	SetFlashL		MM-ECM-PublicApi-0027-001-SetFlashL_command08
+		COMMAND		camera1	Flash			MM-ECM-PublicApi-0027-001-Flash_command09
+		COMMAND		camera1	SetFlashL		MM-ECM-PublicApi-0027-001-SetFlashL_command10
+		COMMAND		camera1	Flash			MM-ECM-PublicApi-0027-001-Flash_command11
+		COMMAND		camera1	SetFlashL		MM-ECM-PublicApi-0027-001-SetFlashL_command12
+		COMMAND		camera1	Flash			MM-ECM-PublicApi-0027-001-Flash_command13
+		COMMAND		camera1	SetFlashL		MM-ECM-PublicApi-0027-001-SetFlashL_command14
+		COMMAND		camera1	Flash			MM-ECM-PublicApi-0027-001-Flash_command15
+		COMMAND		camera1	SetFlashL		MM-ECM-PublicApi-0027-001-SetFlashL_command16
+		COMMAND		camera1	Flash			MM-ECM-PublicApi-0027-001-Flash_command17
+		COMMAND		camera1	SetFlashL		MM-ECM-PublicApi-0027-001-SetFlashL_command18
+		COMMAND		camera1	Flash			MM-ECM-PublicApi-0027-001-Flash_command19
+		COMMAND		camera1	SetFlashL		MM-ECM-PublicApi-0027-001-SetFlashL_command20
+		COMMAND		camera1	Flash			MM-ECM-PublicApi-0027-001-Flash_command21
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0027
+
+START_TESTCASE 			MM-ECM-PublicApi-0028
+//! @SYMTestCaseID		MM-ECM-PublicApi-0028
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		08/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Test white balance functionality
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), SetWhiteBalanceL(), WhiteBalance(), PowerOff(), Release()
+//! @SYMTestActions		Test the SetWhiteBalanceL and GetWhiteBalance methods with all enums
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0028-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0028-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetWhiteBalanceL	MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command06
+		COMMAND		camera1	WhiteBalance		MM-ECM-PublicApi-0028-001-WhiteBalance_command07
+		COMMAND		camera1	SetWhiteBalanceL	MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command08
+		COMMAND		camera1	WhiteBalance		MM-ECM-PublicApi-0028-001-WhiteBalance_command09
+		COMMAND		camera1	SetWhiteBalanceL	MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command10
+		COMMAND		camera1	WhiteBalance		MM-ECM-PublicApi-0028-001-WhiteBalance_command11
+		COMMAND		camera1	SetWhiteBalanceL	MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command12
+		COMMAND		camera1	WhiteBalance		MM-ECM-PublicApi-0028-001-WhiteBalance_command13
+		COMMAND		camera1	SetWhiteBalanceL	MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command14
+		COMMAND		camera1	WhiteBalance		MM-ECM-PublicApi-0028-001-WhiteBalance_command15
+		COMMAND		camera1	SetWhiteBalanceL	MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command16
+		COMMAND		camera1	WhiteBalance		MM-ECM-PublicApi-0028-001-WhiteBalance_command17
+		COMMAND		camera1	SetWhiteBalanceL	MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command18
+		COMMAND		camera1	WhiteBalance		MM-ECM-PublicApi-0028-001-WhiteBalance_command19
+		COMMAND		camera1	SetWhiteBalanceL	MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command20
+		COMMAND		camera1	WhiteBalance		MM-ECM-PublicApi-0028-001-WhiteBalance_command21
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0028
+
+START_TESTCASE 			MM-ECM-PublicApi-0029
+//! @SYMTestCaseID		MM-ECM-PublicApi-0029
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		12/12/2005
+//! @SYMTestCaseDependencies	setup_t_multimedia.script
+//! @SYMTestCaseDesc		Test camera info
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), PowerOff(), Release()
+//! @SYMTestActions		Initialise the camera and check camera info
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Camera info is obtained and actual values match expected values
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0029-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0029-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo		MM-ECM-PublicApi-0029-001-CameraInfo_command05
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0029
+
+START_TESTCASE 			MM-ECM-PublicApi-0030
+//! @SYMTestCaseID		MM-ECM-PublicApi-0030
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Create a camera object, using an out-of-range camera index, with MCameraObserver2.
+//!				Uses API elements: NewL().
+//! @SYMTestActions    		1. Create camera object using out-of-range camera index.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0030-001-CamerasAvailable_command01
+		COMMAND	!Error=-5	camera1	NewL			MM-ECM-PublicApi-0030-001-NewL_command02
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0030
+
+START_TESTCASE 			MM-ECM-PublicApi-0033
+//! @SYMTestCaseID		MM-ECM-PublicApi-0033
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Create a camera object, using an out-of-range camera index, with MCameraObserver.
+//!				Uses API elements: NewL().
+//! @SYMTestActions    		1. Create camera object using out-of-range camera index.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0033-001-CamerasAvailable_command01
+		COMMAND	!Error=-5	camera1	NewL			MM-ECM-PublicApi-0033-001-NewL_command02
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0033
+
+START_TESTCASE 			MM-ECM-PublicApi-0034
+//! @SYMTestCaseID		MM-ECM-PublicApi-0034
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Create a duplicate camera object, using an invalid camera handle, with MCameraObserver2.
+//!				Uses API elements: NewL(), NewDuplicateL().
+//! @SYMTestActions    		1. Create camera object. 2. Create duplicate camera object using invalid camera handle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CCamera	camera2
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0034-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0034-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-1	camera2	NewDuplicateL		MM-ECM-PublicApi-0034-001-NewDuplicateL_command07
+		DELAY	3000000
+		COMMAND			camera2	PowerOff
+		COMMAND			camera2	Release
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0034
+
+START_TESTCASE 			MM-ECM-PublicApi-0035
+//! @SYMTestCaseID		MM-ECM-PublicApi-0035
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Create a duplicate camera object, using an invalid camera handle, with MCameraObserver.
+//!				Uses API elements: NewL(), NewDuplicateL().
+//! @SYMTestActions    		1. Create camera object. 2. Create duplicate camera object using invalid camera handle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CCamera	camera2
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0035-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0035-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-1	camera2	NewDuplicateL		MM-ECM-PublicApi-0035-001-NewDuplicateL_command07
+		DELAY	3000000
+		COMMAND			camera2	PowerOff
+		COMMAND			camera2	Release
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0035
+
+START_TESTCASE 			MM-ECM-PublicApi-0036
+//! @SYMTestCaseID		MM-ECM-PublicApi-0036
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Try to power on the camera without calling Reserve.
+//!				Uses API elements: NewL(), PowerOn().
+//! @SYMTestActions    		1. Create camera object. 2. Power on camera.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	NewL		MM-ECM-PublicApi-0036-001-NewL_command01
+		COMMAND	!AsyncError=-18	camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0036
+
+START_TESTCASE 			MM-ECM-PublicApi-0037
+//! @SYMTestCaseID		MM-ECM-PublicApi-0037
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Set zoom factor lower than minimum value.
+//!				Uses API elements: NewL(), SetZoomFactorL().
+//! @SYMTestActions    		1. Create camera object. 2. Set zoom factor lower than minimum value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0037-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0037-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-5	camera1	SetZoomFactorL		MM-ECM-PublicApi-0037-001-SetZoomFactorL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0037
+
+START_TESTCASE 			MM-ECM-PublicApi-0038
+//! @SYMTestCaseID		MM-ECM-PublicApi-0038
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Set zoom factor higher than maximum value.
+//!				Uses API elements: NewL(), SetZoomFactorL().
+//! @SYMTestActions    		1. Create camera object. 2. Set zoom factor higher than maximum value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0038-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0038-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-5	camera1	SetZoomFactorL		MM-ECM-PublicApi-0038-001-SetZoomFactorL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0038
+
+START_TESTCASE 			MM-ECM-PublicApi-0039
+//! @SYMTestCaseID		MM-ECM-PublicApi-0039
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Set digital zoom factor lower than minimum value.
+//!				Uses API elements: NewL(), SetDigitalZoomFactorL().
+//! @SYMTestActions    		1. Create camera object. 2. Set digital zoom factor lower than minimum value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrInUse is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0039-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0039-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-5	camera1	SetDigitalZoomFactorL	MM-ECM-PublicApi-0039-001-SetDigitalZoomFactorL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0039
+
+START_TESTCASE 			MM-ECM-PublicApi-0040
+//! @SYMTestCaseID		MM-ECM-PublicApi-0040
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Set digital zoom factor higher than maximum value.
+//!				Uses API elements: NewL(), SetDigitalZoomFactorL().
+//! @SYMTestActions    		1. Create camera object. 2. Set digital zoom factor higher than maximum value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrInUse is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0040-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0040-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-5	camera1	SetDigitalZoomFactorL	MM-ECM-PublicApi-0040-001-SetDigitalZoomFactorL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0040
+
+START_TESTCASE 			MM-ECM-PublicApi-0041
+//! @SYMTestCaseID		MM-ECM-PublicApi-0041
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Set contrast lower than minimum value.
+//!				Uses API elements: NewL(), SetContrastL().
+//! @SYMTestActions    		1. Create camera object. 2. Set contrast lower than minimum value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Contrast is set to minimum.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0041-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0041-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetContrastL		MM-ECM-PublicApi-0041-001-SetContrastL_command06
+		COMMAND		camera1	Contrast		MM-ECM-PublicApi-0041-001-Contrast_command07
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0041
+
+START_TESTCASE 			MM-ECM-PublicApi-0042
+//! @SYMTestCaseID		MM-ECM-PublicApi-0042
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Set contrast higher than maximum value.
+//!				Uses API elements: NewL(), SetContrastL().
+//! @SYMTestActions    		1. Create camera object. 2. Set contrast higher than maximum value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Contrast is set to maximum.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0042-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0042-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetContrastL		MM-ECM-PublicApi-0042-001-SetContrastL_command06
+		COMMAND		camera1	Contrast		MM-ECM-PublicApi-0042-001-Contrast_command07
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0042
+
+START_TESTCASE 			MM-ECM-PublicApi-0043
+//! @SYMTestCaseID		MM-ECM-PublicApi-0043
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Set brightness lower than minimum value.
+//!				Uses API elements: NewL(), SetBrightnessL().
+//! @SYMTestActions    		1. Create camera object. 2. Set brightness lower than minimum value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Brightness is set to minimum.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0043-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0043-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetBrightnessL		MM-ECM-PublicApi-0043-001-SetBrightnessL_command06
+		COMMAND		camera1	Brightness		MM-ECM-PublicApi-0043-001-Brightness_command07
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0043
+
+START_TESTCASE 			MM-ECM-PublicApi-0044
+//! @SYMTestCaseID		MM-ECM-PublicApi-0044
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Set brightness higher than maximum value.
+//!				Uses API elements: NewL(), SetBrightnessL().
+//! @SYMTestActions    		1. Create camera object. 2. Set brightness higher than maximum value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Brightness is set to maximum.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0044-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0044-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetBrightnessL		MM-ECM-PublicApi-0044-001-SetBrightnessL_command06
+		COMMAND		camera1	Brightness		MM-ECM-PublicApi-0044-001-Brightness_command07
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0044
+
+START_TESTCASE 			MM-ECM-PublicApi-0045
+//! @SYMTestCaseID		MM-ECM-PublicApi-0045
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Set invalid flash mode.
+//!				Uses API elements: NewL(), SetFlashL().
+//! @SYMTestActions    		1. Create camera object. 2. Set flash to an invalid mode.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Invalid flash is not set.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0045-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0045-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetFlashL		MM-ECM-PublicApi-0045-001-SetFlashL_command06
+		COMMAND		camera1	Flash			MM-ECM-PublicApi-0045-001-Flash_command07
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0045
+
+START_TESTCASE 			MM-ECM-PublicApi-0046
+//! @SYMTestCaseID		MM-ECM-PublicApi-0046
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Set invalid exposure value.
+//!				Uses API elements: NewL(), SetExposureL().
+//! @SYMTestActions    		1. Create camera object. 2. Set exposure to an invalid value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Invalid exposure is not set.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0046-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0046-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetExposureL		MM-ECM-PublicApi-0046-001-SetExposureL_command06
+		COMMAND		camera1	Exposure		MM-ECM-PublicApi-0046-001-Exposure_command07
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0046
+
+START_TESTCASE 			MM-ECM-PublicApi-0047
+//! @SYMTestCaseID		MM-ECM-PublicApi-0047
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Set invalid white-balance value.
+//!				Uses API elements: NewL(), SetWhiteBalanceL().
+//! @SYMTestActions    		1. Create camera object. 2. Set white-balance to an invalid value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Invalid white-balance is not set.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0047-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0047-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetWhiteBalanceL	MM-ECM-PublicApi-0047-001-SetWhiteBalanceL_command06
+		COMMAND		camera1	WhiteBalance		MM-ECM-PublicApi-0047-001-WhiteBalance_command07
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0047
+
+//! START_TESTCASE 			MM-ECM-PublicApi-0048
+//! @SYMTestCaseID		MM-ECM-PublicApi-0048
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder Direct with invalid Window server session, and no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), StartViewFinderDirectL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on camera.
+//!				4. Start View Finder Direct with invalid Window server session.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	User Panic occurs.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK 	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+//! 		CREATE_OBJECT	CCamera	camera1
+//! 		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0048-001-CamerasAvailable_command01
+//! 		COMMAND		camera1	NewL			MM-ECM-PublicApi-0048-001-NewL_command02
+//! 		COMMAND		camera1	Reserve
+//! 		OUTSTANDING
+//! 		COMMAND		camera1	PowerOn
+//! 		OUTSTANDING
+//! 		COMMAND		camera1	CameraInfo
+//! 		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0048-001-ViewFinderActive_command06
+//! 		COMMAND		camera1	StartViewFinderDirectL	MM-ECM-PublicApi-0048-001-StartViewFinderDirectL_command07
+//! 		DELAY		5000000
+//! 		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0048-001-ViewFinderActive_command09
+//! 		COMMAND		camera1	StopViewFinder
+//! 		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0048-001-ViewFinderActive_command11
+//! 		COMMAND		camera1	PowerOff
+//! 		COMMAND		camera1	Release
+//! 		COMMAND		camera1	~
+//! 	END_TEST_BLOCK	!PanicString=USER
+//! END_TESTCASE 			MM-ECM-PublicApi-0048
+
+//! START_TESTCASE 			MM-ECM-PublicApi-0049
+//! @SYMTestCaseID		MM-ECM-PublicApi-0049
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder Direct with invalid Screen device, and no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), StartViewFinderDirectL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on camera.
+//!				4. Start View Finder Direct with invalid Screen device.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Kern-Exec Panic 3 occurs.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+//! 		CREATE_OBJECT	CCamera	camera1
+//! 		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0049-001-CamerasAvailable_command01
+//! 		COMMAND		camera1	NewL			MM-ECM-PublicApi-0049-001-NewL_command02
+//! 		COMMAND		camera1	Reserve
+//! 		OUTSTANDING
+//! 		COMMAND		camera1	PowerOn
+//! 		OUTSTANDING
+//! 		COMMAND		camera1	CameraInfo
+//! 		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0049-001-ViewFinderActive_command06
+//! 		COMMAND		camera1	StartViewFinderDirectL	MM-ECM-PublicApi-0049-001-StartViewFinderDirectL_command07
+//! 		DELAY	5000000
+//! 		COMMAND		camera1	StopViewFinder
+//! 		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0049-001-ViewFinderActive_command10
+//! 		COMMAND		camera1	PowerOff
+//! 		COMMAND		camera1	Release
+//! 		COMMAND		camera1	~
+//! 	END_TEST_BLOCK	!PanicCode=3
+//! END_TESTCASE 			MM-ECM-PublicApi-0049
+
+//! START_TESTCASE 			MM-ECM-PublicApi-0050
+//! @SYMTestCaseID		MM-ECM-PublicApi-0050
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder Direct with invalid Displayable window, and no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), StartViewFinderDirectL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on camera.
+//!				4. Start View Finder Direct with invalid Displayable window.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Kern-Exec Panic 3 occurs.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+//! 		CREATE_OBJECT	CCamera	camera1
+//! 		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0050-001-CamerasAvailable_command01
+//! 		COMMAND		camera1	NewL			MM-ECM-PublicApi-0050-001-NewL_command02
+//! 		COMMAND		camera1	Reserve
+//! 		OUTSTANDING
+//! 		COMMAND		camera1	PowerOn
+//! 		OUTSTANDING
+//! 		COMMAND		camera1	CameraInfo
+//! 		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0050-001-ViewFinderActive_command06
+//! 		COMMAND		camera1	StartViewFinderDirectL	MM-ECM-PublicApi-0050-001-StartViewFinderDirectL_command07
+//! 		DELAY	5000000
+//! 		COMMAND		camera1	StopViewFinder
+//! 		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0050-001-ViewFinderActive_command10
+//! 		COMMAND		camera1	PowerOff
+//! 		COMMAND		camera1	Release
+//! 		COMMAND		camera1	~
+//! 	END_TEST_BLOCK	!PanicCode=3
+//! END_TESTCASE 			MM-ECM-PublicApi-0050
+
+//! START_TESTCASE 			MM-ECM-PublicApi-0053
+//! @SYMTestCaseID		MM-ECM-PublicApi-0053
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder Direct with invalid Window server session, and valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), StartViewFinderDirectL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on camera.
+//!				4. Start View Finder Direct with invalid Window server session.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	User Panic occurs.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+//! 		CREATE_OBJECT	CCamera	camera1
+//! 		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0053-001-CamerasAvailable_command01
+//! 		COMMAND		camera1	NewL			MM-ECM-PublicApi-0053-001-NewL_command02
+//! 		COMMAND		camera1	Reserve
+//! 		OUTSTANDING
+//! 		COMMAND		camera1	PowerOn
+//! 		OUTSTANDING
+//! 		COMMAND		camera1	CameraInfo
+//! 		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0053-001-ViewFinderActive_command06
+//! 		COMMAND		camera1	StartViewFinderDirectL	MM-ECM-PublicApi-0053-001-StartViewFinderDirectL_command07
+//! 		DELAY	5000000
+//! 		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0053-001-ViewFinderActive_command09
+//! 		COMMAND		camera1	StopViewFinder
+//! 		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0053-001-ViewFinderActive_command11
+//! 		COMMAND		camera1	PowerOff
+//! 		COMMAND		camera1	Release
+//! 		COMMAND		camera1	~
+//! 	END_TEST_BLOCK	!PanicString=USER
+//! END_TESTCASE 			MM-ECM-PublicApi-0053
+
+//! START_TESTCASE 			MM-ECM-PublicApi-0054
+//! @SYMTestCaseID		MM-ECM-PublicApi-0054
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder Direct with invalid Screen device, and valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), StartViewFinderDirectL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on camera.
+//!				4. Start View Finder Direct with invalid Screen device.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Kern-Exec Panic 3 occurs.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+//! 		CREATE_OBJECT	CCamera	camera1
+//! 		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0054-001-CamerasAvailable_command01
+//! 		COMMAND		camera1	NewL			MM-ECM-PublicApi-0054-001-NewL_command02
+//! 		COMMAND		camera1	Reserve
+//! 		OUTSTANDING
+//! 		COMMAND		camera1	PowerOn
+//! 		OUTSTANDING
+//! 		COMMAND		camera1	CameraInfo
+//! 		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0054-001-ViewFinderActive_command06
+//! 		COMMAND		camera1	StartViewFinderDirectL	MM-ECM-PublicApi-0054-001-StartViewFinderDirectL_command07
+//! 		DELAY	5000000
+//! 		COMMAND		camera1	StopViewFinder
+//! 		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0054-001-ViewFinderActive_command10
+//! 		COMMAND		camera1	PowerOff
+//! 		COMMAND		camera1	Release
+//! 		COMMAND		camera1	~
+//! 	END_TEST_BLOCK	!PanicCode=3
+//! END_TESTCASE 			MM-ECM-PublicApi-0054
+
+//! START_TESTCASE 			MM-ECM-PublicApi-0055
+//! @SYMTestCaseID		MM-ECM-PublicApi-0055
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder Direct with invalid Displayable window, and valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), StartViewFinderDirectL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on camera.
+//!				4. Start View Finder Direct with invalid Displayable window.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Kern-Exec Panic 3 occurs.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+//! 		CREATE_OBJECT	CCamera	camera1
+//! 		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0055-001-CamerasAvailable_command01
+//! 		COMMAND		camera1	NewL			MM-ECM-PublicApi-0055-001-NewL_command02
+//! 		COMMAND		camera1	Reserve
+//! 		OUTSTANDING
+//! 		COMMAND		camera1	PowerOn
+//! 		OUTSTANDING
+//! 		COMMAND		camera1	CameraInfo
+//! 		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0055-001-ViewFinderActive_command06
+//! 		COMMAND		camera1	StartViewFinderDirectL	MM-ECM-PublicApi-0055-001-StartViewFinderDirectL_command07
+//! 		DELAY	5000000
+//! 		COMMAND		camera1	StopViewFinder
+//! 		COMMAND		camera1	ViewFinderActive	MM-ECM-PublicApi-0055-001-ViewFinderActive_command10
+//! 		COMMAND		camera1	PowerOff
+//! 		COMMAND		camera1	Release
+//! 		COMMAND		camera1	~
+//! 	END_TEST_BLOCK	!PanicCode=3
+//! END_TESTCASE 			MM-ECM-PublicApi-0055
+
+START_TESTCASE 			MM-ECM-PublicApi-0057
+//! @SYMTestCaseID		MM-ECM-PublicApi-0057
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder Direct without powering on, with no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), StartViewFinderDirectL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera.
+//!				3. Start View Finder Direct.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0057-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0057-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0057-001-ViewFinderActive_command05
+		COMMAND	!Error=-18	camera1	StartViewFinderDirectL
+		DELAY	5000000
+		COMMAND			camera1	StopViewFinder
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0057-001-ViewFinderActive_command09
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0057
+
+START_TESTCASE 			MM-ECM-PublicApi-0058
+//! @SYMTestCaseID		MM-ECM-PublicApi-0058
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder Direct without powering on, with valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), StartViewFinderDirectL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera.
+//!				3. Start View Finder Direct.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0058-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0058-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0058-001-ViewFinderActive_command05
+		COMMAND	!Error=-18	camera1	StartViewFinderDirectL	MM-ECM-PublicApi-0058-001-StartViewFinderDirectL_command06
+		DELAY	5000000
+		COMMAND			camera1	StopViewFinder
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0058-001-ViewFinderActive_command09
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0058
+
+START_TESTCASE 			MM-ECM-PublicApi-0059
+//! @SYMTestCaseID		MM-ECM-PublicApi-0059
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder Direct without reserving, with no clipped rectangle.
+//!				Uses API elements: NewL(), StartViewFinderDirectL().
+//! @SYMTestActions    		1. Create camera object. 2. Start View Finder Direct.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrInUse is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0059-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0059-001-NewL_command02
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0059-001-ViewFinderActive_command04
+		COMMAND	!Error=-14	camera1	StartViewFinderDirectL
+		DELAY	5000000
+		COMMAND			camera1	StopViewFinder
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0059-001-ViewFinderActive_command08
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0059
+
+START_TESTCASE 			MM-ECM-PublicApi-0060
+//! @SYMTestCaseID		MM-ECM-PublicApi-0060
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder Direct without reserving, with valid clipped rectangle.
+//!				Uses API elements: NewL(), StartViewFinderDirectL().
+//! @SYMTestActions    		1. Create camera object. 2. Start View Finder Direct.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrInUse is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0060-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0060-001-NewL_command02
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0060-001-ViewFinderActive_command04
+		COMMAND	!Error=-14	camera1	StartViewFinderDirectL	MM-ECM-PublicApi-0060-001-StartViewFinderDirectL_command05
+		DELAY	5000000
+		COMMAND			camera1	StopViewFinder
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0060-001-ViewFinderActive_command08
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0060
+
+START_TESTCASE 			MM-ECM-PublicApi-0061
+//! @SYMTestCaseID		MM-ECM-PublicApi-0061
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder Bitmaps without powering on, with no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), StartViewFinderBitmapsL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera.
+//!				3. Start View Finder Bitmaps.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0061-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0061-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0061-001-ViewFinderActive_command05
+		COMMAND	!Error=-18	camera1	StartViewFinderBitmapsL
+		DELAY	5000000
+		COMMAND			camera1	StopViewFinder
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0061-001-ViewFinderActive_command09
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0061
+
+START_TESTCASE 			MM-ECM-PublicApi-0062
+//! @SYMTestCaseID		MM-ECM-PublicApi-0062
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder Bitmaps without reserving, with no clipped rectangle.
+//!				Uses API elements: NewL(), StartViewFinderBitmapsL().
+//! @SYMTestActions    		1. Create camera object. 2. Start View Finder Bitmaps.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrInUse is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0062-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0062-001-NewL_command02
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0062-001-ViewFinderActive_command04
+		COMMAND	!Error=-14	camera1	StartViewFinderBitmapsL
+		DELAY	5000000
+		COMMAND			camera1	StopViewFinder
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0062-001-ViewFinderActive_command08
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0062
+
+START_TESTCASE 			MM-ECM-PublicApi-0063
+//! @SYMTestCaseID		MM-ECM-PublicApi-0063
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder Bitmaps without powering on, with valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), StartViewFinderBitmapsL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera.
+//!				3. Start View Finder Bitmaps.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0063-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0063-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0063-001-ViewFinderActive_command05
+		COMMAND	!Error=-18	camera1	StartViewFinderBitmapsL	MM-ECM-PublicApi-0063-001-StartViewFinderBitmapsL_command06
+		DELAY	5000000
+		COMMAND			camera1	StopViewFinder
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0063-001-ViewFinderActive_command09
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0063
+
+START_TESTCASE 			MM-ECM-PublicApi-0064
+//! @SYMTestCaseID		MM-ECM-PublicApi-0064
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder Bitmaps without reserving, with valid clipped rectangle.
+//!				Uses API elements: NewL(), StartViewFinderBitmapsL().
+//! @SYMTestActions    		1. Create camera object. 2. Start View Finder Bitmaps.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrInUse is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0064-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0064-001-NewL_command02
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0064-001-ViewFinderActive_command04
+		COMMAND	!Error=-14	camera1	StartViewFinderBitmapsL	MM-ECM-PublicApi-0064-001-StartViewFinderBitmapsL_command05
+		DELAY	5000000
+		COMMAND			camera1	StopViewFinder
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0064-001-ViewFinderActive_command08
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0064
+
+START_TESTCASE 			MM-ECM-PublicApi-0066
+//! @SYMTestCaseID		MM-ECM-PublicApi-0066
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder without powering on, with no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), StartViewFinderL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera.
+//!				3. Start View Finder.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0066-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0066-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0066-001-ViewFinderActive_command05
+		COMMAND	!Error=-18	camera1	StartViewFinderL
+		DELAY	5000000
+		COMMAND			camera1	StopViewFinder
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0066-001-ViewFinderActive_command09
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0066
+
+START_TESTCASE 			MM-ECM-PublicApi-0067
+//! @SYMTestCaseID		MM-ECM-PublicApi-0067
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder without reserving, with no clipped rectangle.
+//!				Uses API elements: NewL(), StartViewFinderL().
+//! @SYMTestActions    		1. Create camera object. 2. Start View Finder.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrInUse is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0067-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0067-001-NewL_command02
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0067-001-ViewFinderActive_command04
+		COMMAND	!Error=-14	camera1	StartViewFinderL
+		DELAY	5000000
+		COMMAND			camera1	StopViewFinder
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0067-001-ViewFinderActive_command08
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0067
+
+START_TESTCASE 			MM-ECM-PublicApi-0068
+//! @SYMTestCaseID		MM-ECM-PublicApi-0068
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder without powering on, with valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), StartViewFinderL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera.
+//!				3. Start View Finder.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0068-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0068-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0068-001-ViewFinderActive_command05
+		COMMAND	!Error=-18	camera1	StartViewFinderL	MM-ECM-PublicApi-0068-001-StartViewFinderL_command06
+		DELAY	5000000
+		COMMAND			camera1	StopViewFinder
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0068-001-ViewFinderActive_command09
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0068
+
+START_TESTCASE 			MM-ECM-PublicApi-0069
+//! @SYMTestCaseID		MM-ECM-PublicApi-0069
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Start View Finder without reserving, with valid clipped rectangle.
+//!				Uses API elements: NewL(), StartViewFinderL().
+//! @SYMTestActions    		1. Create camera object. 2. Start View Finder.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrInUse is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0069-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0069-001-NewL_command02
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0069-001-ViewFinderActive_command04
+		COMMAND	!Error=-14	camera1	StartViewFinderL	MM-ECM-PublicApi-0069-001-StartViewFinderL_command05
+		DELAY	5000000
+		COMMAND			camera1	StopViewFinder
+		COMMAND			camera1	ViewFinderActive	MM-ECM-PublicApi-0069-001-ViewFinderActive_command08
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0069
+
+START_TESTCASE 			MM-ECM-PublicApi-0073
+//! @SYMTestCaseID		MM-ECM-PublicApi-0073
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Image Capture without powering on, with no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PrepareImageCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera.
+//!				3. Prepare Image Capture.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0073-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0073-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-18	camera1	PrepareImageCaptureL
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0073
+
+START_TESTCASE 			MM-ECM-PublicApi-0074
+//! @SYMTestCaseID		MM-ECM-PublicApi-0074
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Image Capture without reserving, with no clipped rectangle.
+//!				Uses API elements: NewL(), PrepareImageCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2. Prepare Image Capture.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrInUse is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0074-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0074-001-NewL_command02
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-14	camera1	PrepareImageCaptureL
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0074
+
+START_TESTCASE 			MM-ECM-PublicApi-0075
+//! @SYMTestCaseID		MM-ECM-PublicApi-0075
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Image Capture without powering on, with valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PrepareImageCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera.
+//!				3. Prepare Image Capture specifying a rectangle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0075-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0075-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	Handle
+		COMMAND			camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0075-001-PrepareImageCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0075
+
+START_TESTCASE 			MM-ECM-PublicApi-0076
+//! @SYMTestCaseID		MM-ECM-PublicApi-0076
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Image Capture without reserving, with valid clipped rectangle.
+//!				Uses API elements: NewL(), PrepareImageCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2. Prepare Image Capture specifying a rectangle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0076-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0076-001-NewL_command02
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0076-001-PrepareImageCaptureL_command04
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0076
+
+START_TESTCASE 			MM-ECM-PublicApi-0077
+//! @SYMTestCaseID		MM-ECM-PublicApi-0077
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Image Capture  with invalid image format, and no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareImageCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Image Capture with invalid image format.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0077-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0077-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-5	camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0077-001-PrepareImageCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0077
+
+START_TESTCASE 			MM-ECM-PublicApi-0078
+//! @SYMTestCaseID		MM-ECM-PublicApi-0078
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Image Capture  with invalid image format, and valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareImageCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Image Capture with invalid image format, specifying a rectangle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0078-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0078-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0078-001-PrepareImageCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0078
+
+START_TESTCASE 			MM-ECM-PublicApi-0079
+//! @SYMTestCaseID		MM-ECM-PublicApi-0079
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Image Capture  with size index lower than minimum, and no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareImageCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Image Capture with size index lower than minimum.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0079-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0079-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-5	camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0079-001-PrepareImageCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0079
+
+START_TESTCASE 			MM-ECM-PublicApi-0080
+//! @SYMTestCaseID		MM-ECM-PublicApi-0080
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Image Capture  with size index lower than minimum, and valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareImageCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Image Capture with size index lower than minimum, specifying a rectangle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0080-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0080-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0080-001-PrepareImageCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0080
+
+START_TESTCASE 			MM-ECM-PublicApi-0082
+//! @SYMTestCaseID		MM-ECM-PublicApi-0082
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Image Capture with size index higher than maximum, and no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareImageCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Image Capture with size index higher than maximum.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0082-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0082-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-5	camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0082-001-PrepareImageCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0082
+
+START_TESTCASE 			MM-ECM-PublicApi-0083
+//! @SYMTestCaseID		MM-ECM-PublicApi-0083
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Image Capture with size index higher than maximum, and valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareImageCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Image Capture with size index higher than maximum, specifying a rectangle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0083-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0083-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	PrepareImageCaptureL	MM-ECM-PublicApi-0083-001-PrepareImageCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0083
+
+START_TESTCASE 			MM-ECM-PublicApi-0084
+//! @SYMTestCaseID		MM-ECM-PublicApi-0084
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Enumerate Capture Sizes with size index lower than minimum.
+//!				Uses API elements: NewL(), EnumerateCaptureSizes().
+//! @SYMTestActions    		1. Create camera object. 2. Enumerate Capture Sizes with size index lower than minimum.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Zero capture size is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0084-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0084-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	Handle
+		COMMAND		camera1	EnumerateCaptureSizes	MM-ECM-PublicApi-0084-001-EnumerateCaptureSizes_command07
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0084
+
+START_TESTCASE 			MM-ECM-PublicApi-0085
+//! @SYMTestCaseID		MM-ECM-PublicApi-0085
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Enumerate Capture Sizes with size index higher than maximum.
+//!				Uses API elements: NewL(), EnumerateCaptureSizes().
+//! @SYMTestActions    		1. Create camera object. 2. Enumerate Capture Sizes with size index higher than maximum.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Zero capture size is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0085-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0085-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	Handle
+		COMMAND		camera1	EnumerateCaptureSizes	MM-ECM-PublicApi-0085-001-EnumerateCaptureSizes_command07
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0085
+
+START_TESTCASE 			MM-ECM-PublicApi-0088
+//! @SYMTestCaseID		MM-ECM-PublicApi-0088
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture without powering on, with no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera.
+//!				3. Prepare Video Capture.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0088-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0088-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-18	camera1	PrepareVideoCaptureL
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0088
+
+START_TESTCASE 			MM-ECM-PublicApi-0089
+//! @SYMTestCaseID		MM-ECM-PublicApi-0089
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture without reserving, with no clipped rectangle.
+//!				Uses API elements: NewL(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2. Prepare Video Capture.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrInUse is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0089-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0089-001-NewL_command02
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-14	camera1	PrepareVideoCaptureL
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0089
+
+START_TESTCASE 			MM-ECM-PublicApi-0090
+//! @SYMTestCaseID		MM-ECM-PublicApi-0090
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture without powering on, with valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera.
+//!				3. Prepare Video Capture specifying a rectangle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0090-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0090-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0090-001-PrepareVideoCaptureL_command05
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0090
+
+START_TESTCASE 			MM-ECM-PublicApi-0091
+//! @SYMTestCaseID		MM-ECM-PublicApi-0091
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture without reserving, with valid clipped rectangle.
+//!				Uses API elements: NewL(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2. Prepare Video Capture specifying a rectangle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0091-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0091-001-NewL_command02
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0091-001-PrepareVideoCaptureL_command04
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0091
+
+START_TESTCASE 			MM-ECM-PublicApi-0092
+//! @SYMTestCaseID		MM-ECM-PublicApi-0092
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture  with invalid Video format, and no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Video Capture with invalid Video format.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0092-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0092-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-5	camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0092-001-PrepareVideoCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0092
+
+START_TESTCASE 			MM-ECM-PublicApi-0093
+//! @SYMTestCaseID		MM-ECM-PublicApi-0093
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture  with invalid Video format, and valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Video Capture with invalid Video format, specifying a rectangle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0093-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0093-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0093-001-PrepareVideoCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0093
+
+START_TESTCASE 			MM-ECM-PublicApi-0094
+//! @SYMTestCaseID		MM-ECM-PublicApi-0094
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture  with size index lower than minimum, and no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Video Capture with size index lower than minimum.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0094-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0094-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-5	camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0094-001-PrepareVideoCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0094
+
+START_TESTCASE 			MM-ECM-PublicApi-0095
+//! @SYMTestCaseID		MM-ECM-PublicApi-0095
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture  with size index lower than minimum, and valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Video Capture with size index lower than minimum, specifying a rectangle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0095-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0095-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0095-001-PrepareVideoCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0095
+
+START_TESTCASE 			MM-ECM-PublicApi-0096
+//! @SYMTestCaseID		MM-ECM-PublicApi-0096
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture with size index higher than maximum, and no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Video Capture with size index higher than maximum.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0096-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0096-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-5	camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0096-001-PrepareVideoCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0096
+
+START_TESTCASE 			MM-ECM-PublicApi-0097
+//! @SYMTestCaseID		MM-ECM-PublicApi-0097
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture with size index higher than maximum, and valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Video Capture with size index higher than maximum, specifying a rectangle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0097-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0097-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0097-001-PrepareVideoCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0097
+
+START_TESTCASE 			MM-ECM-PublicApi-0098
+//! @SYMTestCaseID		MM-ECM-PublicApi-0098
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture  with rate index lower than minimum, and no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Video Capture with rate index lower than minimum.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0098-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0098-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-5	camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0098-001-PrepareVideoCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0098
+
+START_TESTCASE 			MM-ECM-PublicApi-0099
+//! @SYMTestCaseID		MM-ECM-PublicApi-0099
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture  with rate index lower than minimum, and valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Video Capture with rate index lower than minimum, specifying a rectangle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0099-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0099-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0099-001-PrepareVideoCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0099
+
+START_TESTCASE 			MM-ECM-PublicApi-0100
+//! @SYMTestCaseID		MM-ECM-PublicApi-0100
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture with rate index higher than maximum, and no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Video Capture with rate index higher than maximum.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0100-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0100-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-5	camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0100-001-PrepareVideoCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0100
+
+START_TESTCASE 			MM-ECM-PublicApi-0101
+//! @SYMTestCaseID		MM-ECM-PublicApi-0101
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture with rate index higher than maximum, and valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Video Capture with rate index higher than maximum, specifying a rectangle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0101-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0101-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0101-001-PrepareVideoCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0101
+
+START_TESTCASE 			MM-ECM-PublicApi-0102
+//! @SYMTestCaseID		MM-ECM-PublicApi-0102
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture with invalid number of buffers, and no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Video Capture with invalid number of buffers.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0102-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0102-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-5	camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0102-001-PrepareVideoCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0102
+
+START_TESTCASE 			MM-ECM-PublicApi-0103
+//! @SYMTestCaseID		MM-ECM-PublicApi-0103
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture with invalid number of buffers, and valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Video Capture with invalid number of buffers, specifying a rectangle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0103-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0103-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0103-001-PrepareVideoCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0103
+
+START_TESTCASE 			MM-ECM-PublicApi-0104
+//! @SYMTestCaseID		MM-ECM-PublicApi-0104
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture with invalid frames per buffer value, and no clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Video Capture with invalid frames per buffer value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0104-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0104-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND	!Error=-5	camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0104-001-PrepareVideoCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0104
+
+START_TESTCASE 			MM-ECM-PublicApi-0105
+//! @SYMTestCaseID		MM-ECM-PublicApi-0105
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Prepare Video Capture with invalid frames per buffer value, and valid clipped rectangle.
+//!				Uses API elements: NewL(), Reserve(), PowerOn(), PrepareVideoCaptureL().
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Video Capture with invalid frames per buffer value specifying a rectangle.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0105-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0105-001-NewL_command02
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	PrepareVideoCaptureL	MM-ECM-PublicApi-0105-001-PrepareVideoCaptureL_command06
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0105
+
+START_TESTCASE 			MM-ECM-PublicApi-0107
+//! @SYMTestCaseID		MM-ECM-PublicApi-0107
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Enumerate Video Frame Sizes with size index lower than minimum.
+//!				Uses API elements: NewL(), EnumerateVideoFrameSizes().
+//! @SYMTestActions    		1. Create camera object. 2. Enumerate Video Frame Sizes with size index lower than minimum.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Zero frame size is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable		MM-ECM-PublicApi-0107-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL				MM-ECM-PublicApi-0107-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	EnumerateVideoFrameSizes	MM-ECM-PublicApi-0107-001-EnumerateVideoFrameSizes_command06
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0107
+
+START_TESTCASE 			MM-ECM-PublicApi-0108
+//! @SYMTestCaseID		MM-ECM-PublicApi-0108
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Enumerate Video Frame Sizes with size index higher than maximum.
+//!				Uses API elements: NewL(), EnumerateVideoFrameSizes().
+//! @SYMTestActions    		1. Create camera object. 2. Enumerate Video Frame Sizes with size index higher than maximum.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Zero frame size is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable		MM-ECM-PublicApi-0108-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL				MM-ECM-PublicApi-0108-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	EnumerateVideoFrameSizes	MM-ECM-PublicApi-0108-001-EnumerateVideoFrameSizes_command06
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0108
+
+START_TESTCASE 			MM-ECM-PublicApi-0110
+//! @SYMTestCaseID		MM-ECM-PublicApi-0110
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Enumerate Video Frame Rates with size index lower than minimum.
+//!				Uses API elements: NewL(), EnumerateVideoFrameRates().
+//! @SYMTestActions    		1. Create camera object. 2. Enumerate Video Frame Rates with size index lower than minimum.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Zero frame rate is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable		MM-ECM-PublicApi-0110-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL				MM-ECM-PublicApi-0110-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	EnumerateVideoFrameRates	MM-ECM-PublicApi-0110-001-EnumerateVideoFrameRates_command06
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0110
+
+START_TESTCASE 			MM-ECM-PublicApi-0111
+//! @SYMTestCaseID		MM-ECM-PublicApi-0111
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Enumerate Video Frame Rates with size index higher than maximum.
+//!				Uses API elements: NewL(), EnumerateVideoFrameRates().
+//! @SYMTestActions    		1. Create camera object. 2. Enumerate Video Frame Rates with size index higher than maximum.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Zero frame rate is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable		MM-ECM-PublicApi-0111-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL				MM-ECM-PublicApi-0111-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	EnumerateVideoFrameRates	MM-ECM-PublicApi-0111-001-EnumerateVideoFrameRates_command06
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0111
+
+START_TESTCASE 			MM-ECM-PublicApi-0113
+//! @SYMTestCaseID		MM-ECM-PublicApi-0113
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Enumerate Video Frame Rates with rate index lower than minimum.
+//!				Uses API elements: NewL(), EnumerateVideoFrameRates().
+//! @SYMTestActions    		1. Create camera object. 2. Enumerate Video Frame Rates with rate index lower than minimum.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Zero frame rate is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable		MM-ECM-PublicApi-0113-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL				MM-ECM-PublicApi-0113-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	EnumerateVideoFrameRates	MM-ECM-PublicApi-0113-001-EnumerateVideoFrameRates_command06
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0113
+
+START_TESTCASE 			MM-ECM-PublicApi-0114
+//! @SYMTestCaseID		MM-ECM-PublicApi-0114
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Enumerate Video Frame Rates with rate index higher than maximum.
+//!				Uses API elements: NewL(), EnumerateVideoFrameRates().
+//! @SYMTestActions    		1. Create camera object. 2. Enumerate Video Frame Rates with rate index higher than maximum.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Zero frame rate is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable		MM-ECM-PublicApi-0114-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL				MM-ECM-PublicApi-0114-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	EnumerateVideoFrameRates	MM-ECM-PublicApi-0114-001-EnumerateVideoFrameRates_command06
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0114
+
+START_TESTCASE 			MM-ECM-PublicApi-0115
+//! @SYMTestCaseID		MM-ECM-PublicApi-0115
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Enumerate Video Frame Rates with invalid exposure mode.
+//!				Uses API elements: NewL(), EnumerateVideoFrameRates().
+//! @SYMTestActions    		1. Create camera object. 2. Enumerate Video Frame Rates with invalid exposure mode.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Zero frame rates are returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable		MM-ECM-PublicApi-0115-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL				MM-ECM-PublicApi-0115-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	EnumerateVideoFrameRates	MM-ECM-PublicApi-0115-001-EnumerateVideoFrameRates_command06
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0115
+
+START_TESTCASE 			MM-ECM-PublicApi-0116
+//! @SYMTestCaseID		MM-ECM-PublicApi-0116
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Set Jpeg Quality below minimum value.
+//!				Uses API elements: NewL(), SetJpegQuality(), JpegQuality().
+//! @SYMTestActions    		1. Create camera object. 2. Set valid Jpeg Quality. 3. Set Jpeg Quality below minimum value.
+//!				4. Check that Jpeg Quality is the valid value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Invalid Jpeg Quality is ignored and no error is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0116-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0116-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetJpegQuality		MM-ECM-PublicApi-0116-001-SetJpegQuality_command06
+		COMMAND		camera1	JpegQuality		MM-ECM-PublicApi-0116-001-JpegQuality_command07
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0116
+
+START_TESTCASE 			MM-ECM-PublicApi-0117
+//! @SYMTestCaseID		MM-ECM-PublicApi-0117
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		25/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Set Jpeg Quality above maximum value.
+//!				Uses API elements: NewL(), SetJpegQuality(), JpegQuality().
+//! @SYMTestActions    		1. Create camera object. 2. Set valid Jpeg Quality. 3. Set Jpeg Quality above maximum value.
+//!				4. Check that Jpeg Quality is the valid value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Invalid Jpeg Quality is ignored and no error is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0117-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0117-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetJpegQuality		MM-ECM-PublicApi-0117-001-SetJpegQuality_command06
+		COMMAND		camera1	JpegQuality		MM-ECM-PublicApi-0117-001-JpegQuality_command07
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0117
+
+START_TESTCASE 			MM-ECM-PublicApi-0118
+//! @SYMTestCaseID		MM-ECM-PublicApi-0118
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Create duplicate camera and take a picture
+//!				Uses API elements: CamerasAvailable(), NewL(), NewDuplicateL(), Reserve(), PowerOn(), CameraInfo(), Handle(), EnumerateCaptureSizes(), PrepareImageCaptureL(), CaptureImage(), CaptureImage(), CancelCaptureImage(), PowerOff(), Release()
+//! @SYMTestActions		Dulicate a camera and use it to capture a still image
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Camera is duplicated and and several images (3) captured, a 4th image is then
+//!				taken and its capture cancelled
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CCamera	camera2
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0118-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0118-001-NewL_command02
+		COMMAND		camera2	NewDuplicateL		MM-ECM-PublicApi-0118-001-NewDuplicateL_command04
+		COMMAND		camera2	Reserve
+		OUTSTANDING
+		COMMAND		camera2	PowerOn
+		OUTSTANDING
+		COMMAND		camera2	CameraInfo
+		COMMAND		camera2	Handle
+		COMMAND		camera2	EnumerateCaptureSizes	MM-ECM-PublicApi-0118-001-EnumerateCaptureSizes_command09
+		COMMAND		camera2	PrepareImageCaptureL
+		COMMAND		camera2	CaptureImage
+		OUTSTANDING
+		COMMAND		camera2	CaptureImage
+		OUTSTANDING
+		COMMAND		camera2	CaptureImage		MM-ECM-PublicApi-0118-001-CaptureImage_command13
+		OUTSTANDING
+		COMMAND		camera2	CaptureImage
+		COMMAND		camera2	CancelCaptureImage
+		OUTSTANDING
+		COMMAND		camera2	PowerOff
+		COMMAND		camera2	Release
+		COMMAND		camera2	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0118
+
+START_TESTCASE 			MM-ECM-PublicApi-0119
+//! @SYMTestCaseID		MM-ECM-PublicApi-0119
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Create duplicate camera and check T_Camera getter / setter methods
+//!				Uses API elements: CamerasAvailable(), NewL(), NewDuplicateL(), Reserve(), PowerOn(), CameraInfo(), SetBrightnessL(), Brightness(), SetContrastL(), Contrast(), SetDigitalZoomFactorL(), DigitalZoomFactor(), SetJpegQuality(), JpegQuality(), SetViewFinderMirrorL(), ViewFinderMirror(), SetWhiteBalanceL(), WhiteBalance(), SetZoomFactorL(), ZoomFactor(), PowerOff(), Release()
+//! @SYMTestActions		Dulicate a camera and test setter / getter methods
+//!				for white balance, contrast, brightness zoom etc..
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Camera is duplicated, get values match set values, enumeration functions work ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CCamera	camera2
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0119-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0119-001-NewL_command02
+		COMMAND		camera2	NewDuplicateL		MM-ECM-PublicApi-0119-001-NewDuplicateL_command04
+		COMMAND		camera2	Reserve
+		OUTSTANDING
+		COMMAND		camera2	PowerOn
+		OUTSTANDING
+		COMMAND		camera2	CameraInfo
+		COMMAND		camera2	SetBrightnessL		MM-ECM-PublicApi-0119-001-SetBrightnessL_command08
+		COMMAND		camera2	Brightness		MM-ECM-PublicApi-0119-001-Brightness_command09
+		COMMAND		camera2	SetContrastL		MM-ECM-PublicApi-0119-001-SetContrastL_command10
+		COMMAND		camera2	Contrast		MM-ECM-PublicApi-0119-001-Contrast_command11
+		COMMAND		camera2	SetDigitalZoomFactorL
+		COMMAND		camera2	DigitalZoomFactor
+		COMMAND		camera2	SetJpegQuality		MM-ECM-PublicApi-0119-001-SetJpegQuality_command14
+		COMMAND		camera2	JpegQuality		MM-ECM-PublicApi-0119-001-JpegQuality_command15
+		COMMAND		camera2	SetViewFinderMirrorL	MM-ECM-PublicApi-0119-001-SetViewFinderMirrorL_command16
+		COMMAND		camera2	ViewFinderMirror	MM-ECM-PublicApi-0119-001-ViewFinderMirror_command17
+		COMMAND		camera2	SetWhiteBalanceL	MM-ECM-PublicApi-0119-001-SetWhiteBalanceL_command18
+		COMMAND		camera2	WhiteBalance		MM-ECM-PublicApi-0119-001-WhiteBalance_command19
+		COMMAND		camera2	SetZoomFactorL
+		COMMAND		camera2	ZoomFactor
+		COMMAND		camera2	PowerOff
+		COMMAND		camera2	Release
+		COMMAND		camera2	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0119
+
+START_TESTCASE 			MM-ECM-PublicApi-0120
+//! @SYMTestCaseID		MM-ECM-PublicApi-0120
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Create duplicate camera and test start viewfinder bitmaps
+//!				Uses API elements: CamerasAvailable(), NewL(), NewDuplicateL(), Reserve(), PowerOn(), CameraInfo(), ViewFinderActive(), StartViewFinderBitmapsL(), ViewFinderActive(), StopViewFinder(), PowerOff(), Release()
+//! @SYMTestActions		Dulicate a camera and start viewfinder bitmaps
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Camera is duplicated and viewfinder bitmaps started ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CCamera	camera2
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0120-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0120-001-NewL_command02
+		COMMAND		camera2	NewDuplicateL		MM-ECM-PublicApi-0120-001-NewDuplicateL_command04
+		COMMAND		camera2	Reserve
+		OUTSTANDING
+		COMMAND		camera2	PowerOn
+		OUTSTANDING
+		COMMAND		camera2	CameraInfo
+		COMMAND		camera2	ViewFinderActive	MM-ECM-PublicApi-0120-001-ViewFinderActive_command08
+		COMMAND		camera2	StartViewFinderBitmapsL
+		COMMAND		camera2	ViewFinderActive	MM-ECM-PublicApi-0120-001-ViewFinderActive_command10
+		DELAY	5000000
+		COMMAND		camera2	StopViewFinder
+		COMMAND		camera2	ViewFinderActive	MM-ECM-PublicApi-0120-001-ViewFinderActive_command13
+		COMMAND		camera2	PowerOff
+		COMMAND		camera2	Release
+		COMMAND		camera2	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0120
+
+START_TESTCASE 			MM-ECM-PublicApi-0121
+//! @SYMTestCaseID		MM-ECM-PublicApi-0121
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Create duplicate camera and test video recording
+//!				Uses API elements: CamerasAvailable(), NewL(), NewDuplicateL(), Reserve(), PowerOn(), CameraInfo(), NewDuplicateL(), PowerOff(), Release()
+//! @SYMTestActions		Dulicate a camera, enumerate video properties and
+//!				use it to record some video then stop the recording
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video is recorded ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CCamera	camera2
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0121-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0121-001-NewL_command02
+		COMMAND		camera2	NewDuplicateL		MM-ECM-PublicApi-0121-001-NewDuplicateL_command04
+		COMMAND		camera2	Reserve
+		OUTSTANDING
+		COMMAND		camera2	PowerOn
+		OUTSTANDING
+		COMMAND		camera2	CameraInfo
+		COMMAND		camera2	NewDuplicateL		MM-ECM-PublicApi-0121-001-NewDuplicateL_command09
+		DELAY	3000000
+		COMMAND		camera2	PowerOff
+		COMMAND		camera2	Release
+		COMMAND		camera2	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0121
+
+START_TESTCASE 			MM-ECM-PublicApi-0122
+//! @SYMTestCaseID		MM-ECM-PublicApi-0122
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Create duplicate camera and test taking a still image
+//!				Uses API elements: CamerasAvailable(), NewL(), NewDuplicateL(), Reserve(), PowerOn(), CameraInfo(), Handle(), PrepareImageCaptureL(), CaptureImage(), PowerOff(), Release()
+//! @SYMTestActions		Dulicate a camera and take a picture using EFormat16bitRGB444
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Picture taken ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CCamera	camera2
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0122-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0122-001-NewL_command02
+		COMMAND		camera2	NewDuplicateL		MM-ECM-PublicApi-0122-001-NewDuplicateL_command04
+		COMMAND		camera2	Reserve
+		OUTSTANDING
+		COMMAND		camera2	PowerOn
+		OUTSTANDING
+		COMMAND		camera2	CameraInfo
+		COMMAND		camera2	Handle
+		COMMAND		camera2	PrepareImageCaptureL	MM-ECM-PublicApi-0122-001-PrepareImageCaptureL_command09
+		COMMAND		camera2	CaptureImage		MM-ECM-PublicApi-0122-001-CaptureImage_command10
+		OUTSTANDING
+		COMMAND		camera2	PowerOff
+		COMMAND		camera2	Release
+		COMMAND		camera2	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0122
+
+START_TESTCASE 			MM-ECM-PublicApi-0123
+//! @SYMTestCaseID		MM-ECM-PublicApi-0123
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Create duplicate camera and test the Exposure
+//!				Uses API elements: CamerasAvailable(), NewL(), NewDuplicateL(), Reserve(), PowerOn(), CameraInfo(), SetExposureL(), Exposure(), PowerOff(), Release()
+//! @SYMTestActions		Dulicate a camera and test the SetExposureL and GetExposure methods with all enums
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Exposure functionality works ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CCamera	camera2
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0123-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0123-001-NewL_command02
+		COMMAND		camera2	NewDuplicateL		MM-ECM-PublicApi-0123-001-NewDuplicateL_command04
+		COMMAND		camera2	Reserve
+		OUTSTANDING
+		COMMAND		camera2	PowerOn
+		OUTSTANDING
+		COMMAND		camera2	CameraInfo
+		COMMAND		camera2	SetExposureL		MM-ECM-PublicApi-0123-001-SetExposureL_command08
+		COMMAND		camera2	Exposure		MM-ECM-PublicApi-0123-001-Exposure_command09
+		COMMAND		camera2	SetExposureL		MM-ECM-PublicApi-0123-001-SetExposureL_command10
+		COMMAND		camera2	Exposure		MM-ECM-PublicApi-0123-001-Exposure_command11
+		COMMAND		camera2	SetExposureL		MM-ECM-PublicApi-0123-001-SetExposureL_command12
+		COMMAND		camera2	Exposure		MM-ECM-PublicApi-0123-001-Exposure_command13
+		COMMAND		camera2	SetExposureL		MM-ECM-PublicApi-0123-001-SetExposureL_command14
+		COMMAND		camera2	Exposure		MM-ECM-PublicApi-0123-001-Exposure_command15
+		COMMAND		camera2	SetExposureL		MM-ECM-PublicApi-0123-001-SetExposureL_command16
+		COMMAND		camera2	Exposure		MM-ECM-PublicApi-0123-001-Exposure_command17
+		COMMAND		camera2	SetExposureL		MM-ECM-PublicApi-0123-001-SetExposureL_command18
+		COMMAND		camera2	Exposure		MM-ECM-PublicApi-0123-001-Exposure_command19
+		COMMAND		camera2	SetExposureL		MM-ECM-PublicApi-0123-001-SetExposureL_command20
+		COMMAND		camera2	Exposure		MM-ECM-PublicApi-0123-001-Exposure_command21
+		COMMAND		camera2	SetExposureL		MM-ECM-PublicApi-0123-001-SetExposureL_command22
+		COMMAND		camera2	Exposure		MM-ECM-PublicApi-0123-001-Exposure_command23
+		COMMAND		camera2	SetExposureL		MM-ECM-PublicApi-0123-001-SetExposureL_command24
+		COMMAND		camera2	Exposure		MM-ECM-PublicApi-0123-001-Exposure_command25
+		COMMAND		camera2	SetExposureL		MM-ECM-PublicApi-0123-001-SetExposureL_command26
+		COMMAND		camera2	Exposure		MM-ECM-PublicApi-0123-001-Exposure_command27
+		COMMAND		camera2	SetExposureL		MM-ECM-PublicApi-0123-001-SetExposureL_command28
+		COMMAND		camera2	Exposure		MM-ECM-PublicApi-0123-001-Exposure_command29
+		COMMAND		camera2	SetExposureL		MM-ECM-PublicApi-0123-001-SetExposureL_command30
+		COMMAND		camera2	Exposure		MM-ECM-PublicApi-0123-001-Exposure_command31
+		COMMAND		camera2	SetExposureL		MM-ECM-PublicApi-0123-001-SetExposureL_command32
+		COMMAND		camera2	Exposure		MM-ECM-PublicApi-0123-001-Exposure_command33
+		COMMAND		camera2	SetExposureL		MM-ECM-PublicApi-0123-001-SetExposureL_command34
+		COMMAND		camera2	Exposure		MM-ECM-PublicApi-0123-001-Exposure_command35
+		COMMAND		camera2	PowerOff
+		COMMAND		camera2	Release
+		COMMAND		camera2	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0123
+
+START_TESTCASE 			MM-ECM-PublicApi-0124
+//! @SYMTestCaseID		MM-ECM-PublicApi-0124
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Create duplicate camera and test the flash
+//!				Uses API elements: CamerasAvailable(), NewL(), NewDuplicateL(), Reserve(), PowerOn(), CameraInfo(), SetFlashL(), Flash(), PowerOff(), Release()
+//! @SYMTestActions		Dulicate a camera and test the SetFlashL and GetFlash methods with all enums
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Flash functionality works ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CCamera	camera2
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0124-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0124-001-NewL_command02
+		COMMAND		camera2	NewDuplicateL		MM-ECM-PublicApi-0124-001-NewDuplicateL_command04
+		COMMAND		camera2	Reserve
+		OUTSTANDING
+		COMMAND		camera2	PowerOn
+		OUTSTANDING
+		COMMAND		camera2	CameraInfo
+		COMMAND		camera2	SetFlashL		MM-ECM-PublicApi-0124-001-SetFlashL_command08
+		COMMAND		camera2	Flash			MM-ECM-PublicApi-0124-001-Flash_command09
+		COMMAND		camera2	SetFlashL		MM-ECM-PublicApi-0124-001-SetFlashL_command10
+		COMMAND		camera2	Flash			MM-ECM-PublicApi-0124-001-Flash_command11
+		COMMAND		camera2	SetFlashL		MM-ECM-PublicApi-0124-001-SetFlashL_command12
+		COMMAND		camera2	Flash			MM-ECM-PublicApi-0124-001-Flash_command13
+		COMMAND		camera2	SetFlashL		MM-ECM-PublicApi-0124-001-SetFlashL_command14
+		COMMAND		camera2	Flash			MM-ECM-PublicApi-0124-001-Flash_command15
+		COMMAND		camera2	SetFlashL		MM-ECM-PublicApi-0124-001-SetFlashL_command16
+		COMMAND		camera2	Flash			MM-ECM-PublicApi-0124-001-Flash_command17
+		COMMAND		camera2	SetFlashL		MM-ECM-PublicApi-0124-001-SetFlashL_command18
+		COMMAND		camera2	Flash			MM-ECM-PublicApi-0124-001-Flash_command19
+		COMMAND		camera2	SetFlashL		MM-ECM-PublicApi-0124-001-SetFlashL_command20
+		COMMAND		camera2	Flash			MM-ECM-PublicApi-0124-001-Flash_command21
+		COMMAND		camera2	SetFlashL		MM-ECM-PublicApi-0124-001-SetFlashL_command22
+		COMMAND		camera2	Flash			MM-ECM-PublicApi-0124-001-Flash_command23
+		COMMAND		camera2	PowerOff
+		COMMAND		camera2	Release
+		COMMAND		camera2	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0124
+
+START_TESTCASE 			MM-ECM-PublicApi-0125
+//! @SYMTestCaseID		MM-ECM-PublicApi-0125
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Create duplicate camera and test white balance functionality
+//!				Uses API elements: CamerasAvailable(), NewL(), NewDuplicateL(), Reserve(), PowerOn(), CameraInfo(), SetWhiteBalanceL(), WhiteBalance(), PowerOff(), Release()
+//! @SYMTestActions		Dulicate a camera and test the SetWhiteBalanceL and GetWhiteBalance methods with all enums
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Balance functionality works ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera		\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CCamera	camera2
+		COMMAND		camera1	CamerasAvailable	MM-ECM-PublicApi-0125-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL			MM-ECM-PublicApi-0125-001-NewL_command02
+		COMMAND		camera2	NewDuplicateL		MM-ECM-PublicApi-0125-001-NewDuplicateL_command04
+		COMMAND		camera2	Reserve
+		OUTSTANDING
+		COMMAND		camera2	PowerOn
+		OUTSTANDING
+		COMMAND		camera2	CameraInfo
+		COMMAND		camera2	SetWhiteBalanceL	MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command08
+		COMMAND		camera2	WhiteBalance		MM-ECM-PublicApi-0125-001-WhiteBalance_command09
+		COMMAND		camera2	SetWhiteBalanceL	MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command10
+		COMMAND		camera2	WhiteBalance		MM-ECM-PublicApi-0125-001-WhiteBalance_command11
+		COMMAND		camera2	SetWhiteBalanceL	MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command12
+		COMMAND		camera2	WhiteBalance		MM-ECM-PublicApi-0125-001-WhiteBalance_command13
+		COMMAND		camera2	SetWhiteBalanceL	MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command14
+		COMMAND		camera2	WhiteBalance		MM-ECM-PublicApi-0125-001-WhiteBalance_command15
+		COMMAND		camera2	SetWhiteBalanceL	MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command16
+		COMMAND		camera2	WhiteBalance		MM-ECM-PublicApi-0125-001-WhiteBalance_command17
+		COMMAND		camera2	SetWhiteBalanceL	MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command18
+		COMMAND		camera2	WhiteBalance		MM-ECM-PublicApi-0125-001-WhiteBalance_command19
+		COMMAND		camera2	SetWhiteBalanceL	MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command20
+		COMMAND		camera2	WhiteBalance		MM-ECM-PublicApi-0125-001-WhiteBalance_command21
+		COMMAND		camera2	SetWhiteBalanceL	MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command22
+		COMMAND		camera2	WhiteBalance		MM-ECM-PublicApi-0125-001-WhiteBalance_command23
+		COMMAND		camera2	PowerOff
+		COMMAND		camera2	Release
+		COMMAND		camera2	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0125
+
+START_TESTCASE 			MM-ECM-PublicApi-0126
+//! @SYMTestCaseID		MM-ECM-PublicApi-0126
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Create duplicate camera and try to power on without calling Reserve.
+//!				Uses API elements: CamerasAvailable(), NewL(), NewDuplicateL(), PowerOn().
+//! @SYMTestActions    		1. Create duplicate camera object. 2. Power on camera.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrInUse is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CCamera	camera2
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0126-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0126-001-NewL_command02
+		COMMAND			camera2	NewDuplicateL		MM-ECM-PublicApi-0126-001-NewDuplicateL_command04
+		COMMAND	!AsyncError=-14	camera2	PowerOn
+		OUTSTANDING
+		COMMAND			camera2	PowerOff
+		COMMAND			camera2	Release
+		COMMAND			camera2	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0126
+
+START_TESTCASE 			MM-ECM-PublicApi-0127
+//! @SYMTestCaseID		MM-ECM-PublicApi-0127
+//! @SYMAPI			CCamera
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Create duplicate camera and prepare Image Capture with invalid image format.
+//!				Uses API elements: CamerasAvailable(), NewL(), NewDuplicateL(), Reserve(), PowerOn(), PrepareImageCaptureL().
+//! @SYMTestActions    		1. Create duplicate camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Image Capture with invalid image format.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CCamera	camera2
+		COMMAND			camera1	CamerasAvailable	MM-ECM-PublicApi-0127-001-CamerasAvailable_command01
+		COMMAND			camera1	NewL			MM-ECM-PublicApi-0127-001-NewL_command02
+		COMMAND			camera2	NewDuplicateL		MM-ECM-PublicApi-0127-001-NewDuplicateL_command04
+		COMMAND			camera2	Reserve
+		OUTSTANDING
+		COMMAND			camera2	PowerOn
+		OUTSTANDING
+		COMMAND			camera2	CameraInfo
+		COMMAND	!Error=-5	camera2	PrepareImageCaptureL	MM-ECM-PublicApi-0127-001-PrepareImageCaptureL_command08
+		COMMAND			camera2	PowerOff
+		COMMAND			camera2	Release
+		COMMAND			camera2	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ECM-PublicApi-0127
+
+START_TESTCASE 			MM-ECM-PublicApi-0128
+//! @SYMTestCaseID		MM-ECM-PublicApi-0128
+//! @SYMAPI			CCamera
+//! @SYMAuthor			Louis Henry Nayegon
+//! @SYMCreationDate		18/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ECM-PublicApi.script
+//! @SYMTestCaseDesc		Create camera and start viewfinder with size (0,0)
+//!				Uses API elements: CamerasAvailable(), NewL(), Reserve(), PowerOn(), CameraInfo(), StartViewFinderBitmapsL(), StopViewFinder(), PowerOff(), Release()
+//! @SYMTestActions    		1. Create camera object. 2, Reserve camera. 3. Power on.
+//!				4. Prepare Image Capture with viewfinder with size (0,0).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_Camera			\multimedia\MM-ECM-PublicApi.ini
+		CREATE_OBJECT	CCamera	camera1
+		COMMAND		camera1	CamerasAvailable		MM-ECM-PublicApi-0128-001-CamerasAvailable_command01
+		COMMAND		camera1	NewL				MM-ECM-PublicApi-0128-001-NewL_command02
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	ViewFinderActive		MM-ECM-PublicApi-0128-001-ViewFinderActive_command06
+		COMMAND		camera1	StartViewFinderBitmapsL		MM-ECM-PublicApi-0128-001-StartViewFinderBitmapsL_command07
+		COMMAND		camera1	StopViewFinder
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-ECM-PublicApi-0128
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/scripts/setup-MM-ECM-PublicApi.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,27 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\
+
+RUN_UTILS CopyFile	z:\multimedia\MM-ECM-PublicApi.script	${SYSDRIVE}\multimedia\MM-ECM-PublicApi.script
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-ECM-PublicApi.script
+
+RUN_UTILS CopyFile	z:\multimedia\t_multimedia.tcs	${SYSDRIVE}\multimedia\t_multimedia.tcs
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia.tcs
+
+RUN_UTILS CopyFile	z:\multimedia\MM-ECM-PublicApi.ini	${SYSDRIVE}\multimedia\MM-ECM-PublicApi.ini
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-ECM-PublicApi.ini
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/src/T_CameraServer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_CameraServer.h"
+
+
+CT_CameraServer* CT_CameraServer::NewL()
+/**
+ * @return - Instance of the test server
+ * Same code for Secure and non-secure variants
+ * Called inside the MainL() function to create and start the
+ * CTestServer derived server.
+ */
+	{
+    CT_CameraServer* server = new (ELeave) CT_CameraServer();
+    CleanupStack::PushL(server);
+    server->ConstructL();
+    CleanupStack::Pop(server);
+    return server;
+    }
+
+
+LOCAL_C void MainL()
+/**
+ * Secure variant
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+	{
+#if (defined __DATA_CAGING__)
+    RProcess().DataCaging(RProcess::EDataCagingOn);
+    RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+    CActiveScheduler*	sched=NULL;
+    sched=new(ELeave) CActiveScheduler;
+    CActiveScheduler::Install(sched);
+    CT_CameraServer* server = NULL;
+
+    // Create the CTestServer derived server
+    TRAPD(err,server = CT_CameraServer::NewL());
+    if(!err)
+	    {
+        // Sync with the client and enter the active scheduler
+        RProcess::Rendezvous(KErrNone);
+        sched->Start();
+        }
+
+    delete server;
+    delete sched;
+    }
+
+
+GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on process exit
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ */
+	{
+    __UHEAP_MARK;
+    CTrapCleanup* cleanup = CTrapCleanup::New();
+    if(cleanup == NULL)
+	    {
+        return KErrNoMemory;
+        }
+
+#if (defined TRAP_IGNORE)
+	TRAP_IGNORE(MainL());
+#else
+    TRAPD(err,MainL());
+#endif
+
+    delete cleanup;
+    __UHEAP_MARKEND;
+    return KErrNone;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/src/T_MMDataCamera.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,2783 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataCamera.h"
+#include "T_CameraParams.h"
+
+const TInt						KDefaultBrightness		= 66;
+const TInt						KDefaultContrast		= 53;
+const CCamera::TExposure		KDefaultExposure		= CCamera::EExposureNight;
+const CCamera::TFlash			KDefaultFlash			= CCamera::EFlashManual;
+const TInt						KDefaultJpgQuality		= 56;
+const TInt						KDefaultZf				= 0;
+const CCamera::TWhiteBalance	KDefaultWhiteBalance	= CCamera::EWBDaylight;
+const CCamera::TFormat			KDefaultFormat			= CCamera::EFormatFbsBitmapColor64K;
+const TInt						KDefaultBuffersToUse	= 2;
+const TInt						KDefaultViewFinderWidth	= 100;
+const TInt						KDefaultViewFinderHeight= 100;
+
+/*@{*/
+_LIT(KTrue,							"TRUE");
+_LIT(KFalse,						"FALSE");
+_LIT(KClipTag,						"clipRect");
+_LIT(KScreenTag,					"screenRect");
+_LIT(KViewFinderTag,				"viewfinder");
+_LIT(KCamerasAvailable,				"camerasAvailable");
+_LIT(KPriorityPcnt,					"ppcnt");
+_LIT(KCameraIndex, 					"camIndex");
+_LIT(KCustomUid, 					"customUid");
+_LIT(KCameraFormat, 				"cameraFormat");
+_LIT(KObserverInterface, 			"observerInterface");
+_LIT(KMObserver2, 					"MObserver2");
+_LIT(KRectTop,						"%STop");
+_LIT(KRectBottom,					"%SBottom");
+_LIT(KRectLeft,						"%SLeft");
+_LIT(KRectRight,					"%SRight");
+_LIT(KSizeWidth,					"%SWidth");
+_LIT(KSizeHeight,					"%SHeight");
+_LIT(KWsSession,					"wsSession");
+_LIT(KInvalidWsSession,				"InvalidWsSession");
+_LIT(KWsScreenDevice,				"wsScreenDevice");
+_LIT(KInvalidScrDev,				"InvalidScreenDevice");
+_LIT(KWindow,						"window");
+_LIT(KInvalidWindow,				"InvalidWindow");
+_LIT(KRateIndex, 					"rateIndex");
+_LIT(KSizeIndex, 					"sizeIndex");
+_LIT(KBuffersInUse, 				"buffersToUse");
+_LIT(KBrightness,					"brightness");
+_LIT(KContrast,						"contrast");
+_LIT(KWhiteBalance,					"whiteBalance");
+_LIT(KDigitalZoomFactor,			"digitalZoomFactor");
+_LIT(KZoomFactor,					"zoomFactor");
+_LIT(KExposure,						"exposure");
+_LIT(KJpegQuality,					"jpegQuality");
+_LIT(KViewFinderMirror,				"viewFinderMirror");
+_LIT(KFlash,						"flash");
+_LIT(KAmount,						"amount");
+_LIT(KFrameRate,					"frameRate");
+_LIT(KFramesPerBuffer, 				"framesPerBuffer");
+_LIT(KWidth,						"width");
+_LIT(KHeight, 						"height");
+_LIT(KHandle, 						"handle");
+_LIT(KVideoCaptureActive,			"videoCaptureActive");
+_LIT(KViewFinderActive,				"viewFinderActive");
+_LIT(KOrientation, 					"orientation");
+_LIT(KBrightnessSupported, 			"brightnessSupported");
+_LIT(KContrastSupported,			"contrastSupported");
+_LIT(KVfDirectSupported,			"vfDirectSupported");
+_LIT(KVfBitmapsSupported,			"vfBitmapsSupported");
+_LIT(KImageCaptureSupported, 		"imageCaptureSupported");
+_LIT(KVideoCaptureSupported, 		"videoCaptureSupported");
+_LIT(KVfMirrorSupported, 			"vfMirrorSupported");
+_LIT(KVfClippingSupported, 			"vfClippingSupported");
+_LIT(KImageClippingSupported, 		"imageClippingSupported");
+_LIT(KVideoClippingSupported, 		"videoClippingSupported");
+_LIT(KBitmapFile,					"bitmapfile");
+_LIT(KCamera,						"camera");
+
+_LIT(KCmdCamerasAvailable,			"CamerasAvailable");
+_LIT(KCmdCameraInfo,				"CameraInfo");
+_LIT(KCmdSetBrightnessL,			"SetBrightnessL");
+_LIT(KCmdBrightness,				"Brightness");
+_LIT(KCmdSetContrastL,				"SetContrastL");
+_LIT(KCmdContrast,					"Contrast");
+_LIT(KCmdSetDigitalZoomFactorL,		"SetDigitalZoomFactorL");
+_LIT(KCmdDigitalZoomFactor,			"DigitalZoomFactor");
+_LIT(KCmdSetExposureL,				"SetExposureL");
+_LIT(KCmdExposure,					"Exposure");
+_LIT(KCmdSetFlashL,					"SetFlashL");
+_LIT(KCmdFlash,						"Flash");
+_LIT(KCmdSetJpegQuality,			"SetJpegQuality");
+_LIT(KCmdJpegQuality,				"JpegQuality");
+_LIT(KCmdSetViewFinderMirrorL,		"SetViewFinderMirrorL");
+_LIT(KCmdViewFinderMirror,			"ViewFinderMirror");
+_LIT(KCmdSetWhiteBalanceL,			"SetWhiteBalanceL");
+_LIT(KCmdWhiteBalance,				"WhiteBalance");
+_LIT(KCmdSetZoomFactorL,			"SetZoomFactorL");
+_LIT(KCmdZoomFactor,				"ZoomFactor");
+_LIT(KCmdCaptureImage,				"CaptureImage");
+_LIT(KCmdCancelCaptureImage,		"CancelCaptureImage");
+_LIT(KCmdPrepareVideoCaptureL,		"PrepareVideoCaptureL"); // 2 overloads _LIT(PrepareVideoCaptureL(),
+_LIT(KCmdEnumerateVideoFrameRates,	"EnumerateVideoFrameRates");
+_LIT(KCmdEnumerateVideoFrameSizes,	"EnumerateVideoFrameSizes");
+_LIT(KCmdStartVideoCapture,			"StartVideoCapture");
+_LIT(KCmdVideoCaptureActive,		"VideoCaptureActive");
+_LIT(KCmdStopVideoCapture,			"StopVideoCapture");
+_LIT(KCmdCustomInterface,			"CustomInterface");
+_LIT(KCmdEnumerateCaptureSizes,		"EnumerateCaptureSizes");
+_LIT(KCmdFrameRate,					"FrameRate");
+_LIT(KCmdBuffersInUse,				"BuffersInUse");
+_LIT(KCmdFramesPerBuffer,			"FramesPerBuffer");
+_LIT(KCmdGetFrameSize,				"GetFrameSize");
+_LIT(KCmdHandle,					"Handle");
+_LIT(KCmdNewDuplicateL,				"NewDuplicateL"); // 2 overloads_LIT(NewDuplicateL(),
+_LIT(KCmdNewL,						"NewL"); // 2 overloads_LIT(NewL(),
+_LIT(KCmdPowerOff,					"PowerOff");
+_LIT(KCmdPowerOn,					"PowerOn");
+_LIT(KCmdPrepareImageCaptureL,		"PrepareImageCaptureL"); // 2 overloads _LIT(PrepareImageCaptureL(),
+_LIT(KCmdRelease,					"Release");
+_LIT(KCmdReserve,					"Reserve");
+_LIT(KCmdStartViewFinderBitmapsL,	"StartViewFinderBitmapsL"); // 2 overloads _LIT(KStartViewFinderBitmapsL, "StartViewFinderBitmapsL");
+_LIT(KCmdStartViewFinderDirectL,	"StartViewFinderDirectL"); // 2 overloads _LIT(StartViewFinderDirectL(),
+_LIT(KCmdStartViewFinderL,			"StartViewFinderL"); // 2 overloads _LIT(StartViewFinderL(),
+_LIT(KCmdStopViewFinder,			"StopViewFinder");
+_LIT(KCmdViewFinderActive,			"ViewFinderActive");
+_LIT(KCmdDestructor,				"~");
+/*@}*/
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+CT_MMDataCamera* CT_MMDataCamera::NewL()
+/**
+ * Two phase constructor
+ *
+ * @leave	system wide error
+ */
+	{
+	CT_MMDataCamera*	ret=new (ELeave) CT_MMDataCamera();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+CT_MMDataCamera::CT_MMDataCamera()
+/**
+ * Protected constructor. First phase construction
+ */
+:	iCamera(NULL)
+,	iPrepareCaptureOk(EFalse)
+,	iPrepareCaptureErr(KErrNone)
+,	iCapturing(EFalse)
+,	iHasBitmapFile(EFalse)
+,	iAsyncErrorIndex(0)
+,	iFbsSessionConnected(EFalse)
+,	iWsSessionConnected(EFalse)
+,	iScrDevice(NULL)
+,	iWindowGroup(NULL)
+,	iWindow(NULL)
+	{
+	}
+
+void CT_MMDataCamera::ConstructL()
+/**
+ * Second phase construction
+ *
+ * @internalComponent
+ *
+ * @return	N/A
+ *
+ * @pre		None
+ * @post	None
+ *
+ * @leave	system wide error
+ */
+	{
+	User::LeaveIfError(iFbsSession.Connect()); // Will leave with KErrNotFound if TextShell in epoc.ini
+	iFbsSessionConnected=ETrue;
+
+	User::LeaveIfError(iWsSession.Connect());
+	iWsSessionConnected=ETrue;
+
+	iScrDevice = new (ELeave) CWsScreenDevice(iWsSession);
+	User::LeaveIfError(iScrDevice->Construct());
+
+	iWindowGroup = new (ELeave) RWindowGroup(iWsSession);
+	User::LeaveIfError(iWindowGroup->Construct(reinterpret_cast<TUint32>(iWindowGroup), EFalse));
+
+	iWindow = new (ELeave) RWindow(iWsSession);
+	User::LeaveIfError(iWindow->Construct(*iWindowGroup, reinterpret_cast<TUint32>(iWindowGroup+1)));
+    iWindow->SetExtent(TPoint(0,0), TSize(100,100));
+    iWindow->SetVisible(ETrue);
+    iWindow->Activate();
+    iWsSession.Flush();
+	}
+
+CT_MMDataCamera::~CT_MMDataCamera()
+/**
+ * Public destructor
+ */
+	{
+	DestroyData();
+
+	if ( iWindow!=NULL )
+		{
+		iWindow->Close();
+		delete iWindow;
+		iWindow = NULL;
+		}
+
+	if ( iWindowGroup!=NULL )
+		{
+		iWindowGroup->Close();
+		delete iWindowGroup;
+		}
+
+	delete iScrDevice;
+	iScrDevice = NULL;
+
+	if ( iWsSessionConnected )
+		{
+		iWsSession.Close();
+		iWsSessionConnected=EFalse;
+		}
+
+	if ( iFbsSessionConnected )
+		{
+		iFbsSession.Disconnect();
+		iFbsSessionConnected=EFalse;
+		}
+	}
+
+void CT_MMDataCamera::DestroyData()
+	{
+	delete iCamera;
+	iCamera=NULL;
+	iCameraInfo=TCameraInfo();
+	iAsyncErrorIndex = 0;
+	}
+
+TAny* CT_MMDataCamera::GetObject()
+/**
+ * Return a pointer to the object that the data wraps
+ *
+ * @return	pointer to the object that the data wraps
+ */
+	{
+	return iCamera;
+	}
+
+void CT_MMDataCamera::SetObjectL(TAny* aObject)
+	{
+	DestroyData();
+	iCamera	= static_cast<CCamera*> (aObject);
+	}
+
+void CT_MMDataCamera::DisownObjectL()
+	{
+	iCamera = NULL;
+	}
+
+TBool CT_MMDataCamera::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+/**
+ * Process a command read from the ini file
+ *
+ * @param aCommand			The command to process
+ * @param aSection			The section in the ini containing data for the command
+ * @param aAsyncErrorIndex	Command index for async calls to return errors to
+ *
+ * @return					ETrue if the command is processed
+ *
+ * @leave					System wide error
+ */
+	{
+	TBool	ret=ETrue;
+
+	if(aCommand == KCmdBrightness)
+		{
+		DoCmdBrightness(aSection);
+		}
+	else if(aCommand == KCmdSetBrightnessL)
+		{
+		DoCmdSetBrightness(aSection);
+		}
+	else if(aCommand == KCmdContrast)
+		{
+		DoCmdContrast(aSection);
+		}
+	else if(aCommand == KCmdSetContrastL)
+		{
+		DoCmdSetContrastL(aSection);
+		}
+	else if(aCommand == KCmdDigitalZoomFactor)
+		{
+		DoCmdDigitalZoomFactor(aSection);
+		}
+	else if(aCommand == KCmdSetDigitalZoomFactorL)
+		{
+		DoCmdSetDigitalZoomFactorL(aSection);
+		}
+	else if(aCommand == KCmdExposure)
+		{
+		DoCmdExposure(aSection);
+		}
+	else if(aCommand == KCmdSetExposureL)
+		{
+		DoCmdSetExposureL(aSection);
+		}
+	else if(aCommand == KCmdFlash)
+		{
+		DoCmdFlash(aSection);
+		}
+	else if(aCommand == KCmdSetFlashL)
+		{
+		DoCmdSetFlashL(aSection);
+		}
+	else if(aCommand == KCmdViewFinderMirror)
+		{
+		DoCmdViewFinderMirror(aSection);
+		}
+	else if(aCommand == KCmdSetViewFinderMirrorL)
+		{
+		DoCmdSetViewFinderMirrorL(aSection);
+		}
+	else if(aCommand == KCmdWhiteBalance)
+		{
+		DoCmdWhiteBalance(aSection);
+		}
+	else if(aCommand == KCmdSetWhiteBalanceL)
+		{
+		DoCmdSetWhiteBalanceL(aSection);
+		}
+	else if(aCommand == KCmdZoomFactor)
+		{
+		DoCmdZoomFactor(aSection);
+		}
+	else if(aCommand == KCmdSetZoomFactorL)
+		{
+		DoCmdSetZoomFactorL(aSection);
+		}
+	else if(aCommand == KCmdJpegQuality)
+		{
+		DoCmdJpegQuality(aSection);
+		}
+	else if(aCommand == KCmdSetJpegQuality)
+		{
+		DoCmdSetJpegQuality(aSection);
+		}
+	else if(aCommand == KCmdBuffersInUse)
+		{
+		DoCmdBuffersInUse(aSection);
+		}
+	else if(aCommand == KCmdCameraInfo)
+		{
+		DoCmdCameraInfo(aSection);
+		}
+	else if(aCommand == KCmdCamerasAvailable)
+		{
+		DoCmdCamerasAvailable(aSection);
+		}
+	else if(aCommand == KCmdCancelCaptureImage)
+		{
+		DoCmdCancelCaptureImage();
+		}
+	else if(aCommand == KCmdCaptureImage)
+		{
+		DoCmdCaptureImage(aSection, aAsyncErrorIndex);
+		}
+	else if(aCommand == KCmdCustomInterface)
+		{
+		DoCmdCustomInterface(aSection);
+		}
+	else if(aCommand == KCmdEnumerateCaptureSizes)
+		{
+		DoCmdEnumerateCaptureSizes(aSection);
+		}
+	else if(aCommand == KCmdEnumerateVideoFrameRates)
+		{
+		DoCmdEnumerateVideoFrameRates(aSection);
+		}
+	else if(aCommand == KCmdEnumerateVideoFrameSizes)
+		{
+		DoCmdEnumerateVideoFrameSizes(aSection);
+		}
+	else if(aCommand == KCmdFrameRate)
+		{
+		DoCmdFrameRate(aSection);
+		}
+	else if(aCommand == KCmdFramesPerBuffer)
+		{
+		DoCmdFramesPerBuffer(aSection);
+		}
+	else if(aCommand == KCmdGetFrameSize)
+		{
+		DoCmdGetFrameSize(aSection);
+		}
+	else if(aCommand == KCmdHandle)
+		{
+		DoCmdHandle();
+		}
+	else if(aCommand == KCmdNewDuplicateL)
+		{
+		DoCmdNewDuplicateL(aSection);
+		}
+	else if ( aCommand==KCmdNewL )
+		{
+		DoCmdNewL(aSection);
+		}
+	else if(aCommand == KCmdPowerOff)
+		{
+		DoCmdPowerOff();
+		}
+	else if(aCommand == KCmdPowerOn)
+		{
+		DoCmdPowerOn(aAsyncErrorIndex);
+		}
+	else if(aCommand == KCmdPrepareImageCaptureL)
+		{
+		DoCmdPrepareImageCaptureL(aSection);
+		}
+	else if(aCommand == KCmdPrepareVideoCaptureL)
+		{
+		DoCmdPrepareVideoCaptureL(aSection);
+		}
+	else if(aCommand == KCmdRelease)
+		{
+		DoCmdRelease();
+		}
+	else if(aCommand == KCmdReserve)
+		{
+		DoCmdReserve(aAsyncErrorIndex);
+		}
+	else if(aCommand == KCmdStartVideoCapture)
+		{
+		DoCmdStartVideoCapture(aSection, aAsyncErrorIndex);
+		}
+	else if(aCommand == KCmdStartViewFinderBitmapsL)
+		{
+		DoCmdStartViewFinderBitmapsL(aSection);
+		}
+	else if(aCommand == KCmdStartViewFinderDirectL)
+		{
+		DoCmdStartViewFinderDirectL(aSection);
+		}
+	else if(aCommand == KCmdStartViewFinderL)
+		{
+		DoCmdStartViewFinderL(aSection);
+		}
+	else if(aCommand == KCmdStopVideoCapture)
+		{
+		DoCmdStopVideoCapture();
+		}
+	else if(aCommand == KCmdStopViewFinder)
+		{
+		DoCmdStopViewFinder();
+		}
+	else if(aCommand == KCmdVideoCaptureActive)
+		{
+		DoCmdVideoCaptureActive(aSection);
+		}
+	else if(aCommand == KCmdViewFinderActive)
+		{
+		DoCmdViewFinderActive(aSection);
+		}
+	else if(aCommand == KCmdDestructor)
+		{
+		DoCmdDestructor();
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+void CT_MMDataCamera::DoCmdBrightness(const TDesC& aSection)
+	{
+	TInt	actualBrightness = iCamera->Brightness();
+	INFO_PRINTF2(_L("Brightness=%d"), actualBrightness);
+
+	TInt	expectedBrightness = KDefaultBrightness;
+	GetIntFromConfig(aSection, KBrightness(), expectedBrightness);
+	if ( actualBrightness!=expectedBrightness )
+		{
+		//	Is brightness supported ?
+		if ( iCameraInfo.iOptionsSupported&TCameraInfo::EBrightnessSupported )
+			{
+			//	Brigtness supported. Report error.
+			ERR_PRINTF3(_L("Brightness actual(%d)!=expected(%d)"), actualBrightness, expectedBrightness);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdSetBrightness(const TDesC& aSection)
+	{
+	TInt	brightness = KDefaultBrightness;
+	GetIntFromConfig(aSection, KBrightness(), brightness);
+
+	TInt	expected=KErrNone;
+	if ( !(iCameraInfo.iOptionsSupported&TCameraInfo::EBrightnessSupported) )
+		{
+		expected=KErrNotSupported;
+		}
+
+	INFO_PRINTF2(_L("Setting brightness to %d"), brightness);
+
+	TRAPD(err, iCamera->SetBrightnessL(brightness));
+	if ( err!=expected )
+		{
+		ERR_PRINTF3(_L("CCamera::SetBrightnessL failed with error %d. Expected %d"), err, expected);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdContrast(const TDesC& aSection)
+	{
+
+	TInt	actualContrast = iCamera->Contrast();
+	INFO_PRINTF2(_L("contrast=%d"), actualContrast);
+
+	TInt	expectedContrast = KDefaultContrast;
+	GetIntFromConfig(aSection, KContrast(), expectedContrast);
+	if(actualContrast != expectedContrast)
+		{
+		//	Is contrast supported ?
+		if ( iCameraInfo.iOptionsSupported&TCameraInfo::EContrastSupported )
+			{
+			//	Contrast supported. Report error.
+			ERR_PRINTF3(_L("Contrast actual(%d)!=expected(%d)"), actualContrast, expectedContrast);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdSetContrastL(const TDesC& aSection)
+	{
+	TInt	contrast = KDefaultContrast;
+	GetIntFromConfig(aSection, KContrast(), contrast);
+
+	TInt	expected=KErrNone;
+	if ( !(iCameraInfo.iOptionsSupported&TCameraInfo::EContrastSupported) )
+		{
+		expected=KErrNotSupported;
+		}
+
+	INFO_PRINTF2(_L("Setting contrast to %d"), contrast);
+
+	TRAPD(err,iCamera->SetContrastL(contrast));
+	if ( err!=expected )
+		{
+		ERR_PRINTF3(_L("CCamera::SetContrastL failed with error %d. Expected %d"), err, expected);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdDigitalZoomFactor(const TDesC& aSection)
+	{
+	TInt	actualDigitalZf = iCamera->DigitalZoomFactor();
+	INFO_PRINTF2(_L("digital zoom factor=%d"), actualDigitalZf);
+
+	TInt	expectedDigitalZf = GetDefaultDigitalZf();
+	GetIntFromConfig(aSection, KDigitalZoomFactor(), expectedDigitalZf);
+	if(actualDigitalZf != expectedDigitalZf)
+		{
+		ERR_PRINTF3(_L("Digital Zoom Factor actual(%d)!=expected(%d)")
+					, actualDigitalZf, expectedDigitalZf);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdSetDigitalZoomFactorL(const TDesC& aSection)
+	{
+	TInt	digitalZf = GetDefaultDigitalZf();
+	GetIntFromConfig(aSection, KZoomFactor(), digitalZf);
+
+	INFO_PRINTF2(_L("Setting digital zoom factor to %d"), digitalZf);
+
+	TRAPD(err, iCamera->SetDigitalZoomFactorL(digitalZf));
+	if(err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CCamera::SetDigitalZoomFactorL failed with error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdExposure(const TDesC& aSection)
+	{
+	CCamera::TExposure	actualExposure = iCamera->Exposure();
+	const TDesC&		actualExpDes = GetParamString(actualExposure);
+	INFO_PRINTF2(_L("exposure %S"), &actualExpDes);
+
+	CCamera::TExposure	expectedExposure = KDefaultExposure;
+	GetParam(expectedExposure, aSection);
+	if ( actualExposure != expectedExposure )
+		{
+		//	Is exposure supported ?
+		if ( iCameraInfo.iExposureModesSupported&expectedExposure )
+			{
+			//	Exposure supported. Report error.
+			ERR_PRINTF3(_L("Actual(%S) and expected(%S) exposures do not match!")
+						, &actualExpDes, &GetParamString(expectedExposure));
+			SetBlockResult(EFail);
+			}
+		}
+	else
+		{
+		if ( !(iCameraInfo.iExposureModesSupported&actualExposure) && (actualExposure!=CCamera::EExposureAuto) )
+			{
+			//	Exposure not supported. Report error.
+			ERR_PRINTF2(_L("Actual(%S) exposure not supported ???"), &actualExpDes);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdSetExposureL(const TDesC& aSection)
+	{
+
+	CCamera::TExposure	exposure = KDefaultExposure;
+	GetParam(exposure, aSection);
+	INFO_PRINTF3(_L("Setting exposure to %S (%d)"), &GetParamString(exposure), exposure);
+
+	TInt	expected=KErrNone;
+	if ( !(iCameraInfo.iExposureModesSupported&exposure) && (exposure!=CCamera::EExposureAuto) )
+		{
+		expected=KErrNotSupported;
+		}
+	TRAPD(err, iCamera->SetExposureL(exposure));
+	if ( err!=expected )
+		{
+		ERR_PRINTF3(_L("CCamera::SetExposureL failed with error %d. Expected %d"), err, expected);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdFlash(const TDesC& aSection)
+	{
+	CCamera::TFlash	actualFlash = iCamera->Flash();
+	const TDesC&	actualFlashDes = GetParamString(actualFlash);
+	INFO_PRINTF2(_L("Flash Actual(%S)"), &actualFlashDes);
+
+	CCamera::TFlash	expectedFlash = KDefaultFlash;
+	GetParam(expectedFlash, aSection);
+
+	if ( actualFlash != expectedFlash )
+		{
+		//	Is flash supported ?
+		if ( iCameraInfo.iFlashModesSupported&expectedFlash )
+			{
+			//	Flash supported. Report error.
+			ERR_PRINTF3(_L("Actual(%S) and expected(%S) flash do not match!")
+					, &actualFlashDes, &GetParamString(expectedFlash));
+			SetBlockResult(EFail);
+			}
+		}
+	else
+		{
+		if ( !(iCameraInfo.iFlashModesSupported&actualFlash) && (actualFlash!=CCamera::EFlashNone) )
+			{
+			//	Flash not supported. Report error.
+			ERR_PRINTF2(_L("Actual(%S) flash not supported ???"), &actualFlashDes);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdSetFlashL(const TDesC& aSection)
+	{
+	CCamera::TFlash	flash = KDefaultFlash;
+	GetParam(flash, aSection);
+	INFO_PRINTF2(_L("Setting flash to %S"), &GetParamString(flash));
+
+	TInt	expected=KErrNone;
+	if ( !(iCameraInfo.iFlashModesSupported&flash) && (flash!=CCamera::EFlashNone) )
+		{
+		expected=KErrNotSupported;
+		}
+	TRAPD(err, iCamera->SetFlashL(flash));
+	if ( err!=expected )
+		{
+		ERR_PRINTF3(_L("CCamera::SetFlashL failed with error %d. Expected %d"), err, expected);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdViewFinderMirror(const TDesC& aSection)
+	{
+	TBool	actualVFM = iCamera->ViewFinderMirror();
+
+	if(actualVFM)
+		{
+		INFO_PRINTF1(_L("ViewFinderMirror = true"));
+		}
+	else
+		{
+		INFO_PRINTF1(_L("ViewFinderMirror = false"));
+		}
+	TBool	expectedVFM = EFalse;
+	if(GetBoolFromConfig(aSection, KViewFinderMirror(), expectedVFM))
+		{
+		if(actualVFM != expectedVFM)
+			{
+			ERR_PRINTF3(_L("Actual VFM(%d) != expectedVFM(%D)"), actualVFM, expectedVFM);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdSetViewFinderMirrorL(const TDesC& aSection)
+	{
+	TBool	mirror = EFalse;
+	GetBoolFromConfig(aSection, KViewFinderMirror(), mirror);
+
+	TInt	err = KErrNone;
+	TRAP(err, iCamera->SetViewFinderMirrorL(mirror));
+	if ( (err!=KErrNone) )
+		{
+		ERR_PRINTF2(_L("CCamera::SetViewFinderMirrorL failed with error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdWhiteBalance(const TDesC& aSection)
+	{
+	CCamera::TWhiteBalance	actualWb = iCamera->WhiteBalance();
+	const TDesC&			wbDes = GetParamString(actualWb);
+	INFO_PRINTF2(_L("Actual White Balance = %S"), &wbDes);
+	CCamera::TWhiteBalance	expectedWb = KDefaultWhiteBalance;
+	GetParam(expectedWb, aSection);
+
+	if(actualWb != expectedWb)
+		{
+		//	Is white balance supported ?
+		if ( iCameraInfo.iWhiteBalanceModesSupported&expectedWb )
+			{
+			//	White balance supported. Report error.
+			ERR_PRINTF3(_L("Actual(%S) and expected(%S) white balance do not match!")
+					, &wbDes, &GetParamString(expectedWb));
+			SetBlockResult(EFail);
+			}
+		}
+	else
+		{
+		if ( !(iCameraInfo.iWhiteBalanceModesSupported&actualWb) && (actualWb!=CCamera::EWBAuto) )
+			{
+			//	White balance not supported. Report error.
+			ERR_PRINTF2(_L("Actual(%S) white balance not supported ???"), &wbDes);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdSetWhiteBalanceL(const TDesC& aSection)
+	{
+	CCamera::TWhiteBalance	whiteBalance = CCamera::EWBAuto;
+	GetParam(whiteBalance, aSection);
+	INFO_PRINTF3(_L("Setting white balance to %S (%d)"), &GetParamString(whiteBalance), whiteBalance);
+
+	TInt	expected=KErrNone;
+	if ( !(iCameraInfo.iWhiteBalanceModesSupported&whiteBalance) && (whiteBalance!=CCamera::EWBAuto) )
+		{
+		expected=KErrNotSupported;
+		}
+	TRAPD(err, iCamera->SetWhiteBalanceL(whiteBalance));
+	if ( err!=expected )
+		{
+		ERR_PRINTF3(_L("CCamera::SetWhiteBalanceL failed with error %d. Expected %d"), err, expected);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdZoomFactor(const TDesC& aSection)
+	{
+	TInt	actualZf = iCamera->ZoomFactor();
+	INFO_PRINTF2(_L("Zoom Factor = %d"), actualZf);
+
+	TInt	expectedZf = KDefaultZf;
+	GetIntFromConfig(aSection, KZoomFactor(), expectedZf);
+	if(actualZf != expectedZf)
+		{
+		ERR_PRINTF3(_L("Actual zoom factor(%d)!=Expected zoom factor(%d)")
+					, actualZf, expectedZf);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdSetZoomFactorL(const TDesC& aSection)
+	{
+	TInt	zoomFactor = KDefaultZf;
+	GetIntFromConfig(aSection, KZoomFactor(), zoomFactor);
+	INFO_PRINTF2(_L("Setting zoom factor to %d"), zoomFactor);
+	TRAPD(err, iCamera->SetZoomFactorL(zoomFactor));
+	if(err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CCamera::SetZoomFactorL failed with error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdJpegQuality(const TDesC& aSection)
+	{
+	TInt	actualJpq = iCamera->JpegQuality();
+	INFO_PRINTF2(_L("Actual Jpeg Quality = %d"), actualJpq);
+
+	TInt	expectedJpq = KDefaultJpgQuality;
+	GetIntFromConfig(aSection, KJpegQuality(), expectedJpq);
+	if(actualJpq != expectedJpq)
+		{
+		//	Check jpeg supported
+		if ( iCameraInfo.iImageFormatsSupported&CCamera::EFormatJpeg )
+			{
+			//	Jpeg supported
+			ERR_PRINTF3(_L("Actual Jpeg Quality(%d)!=Expected Jpeg Quality(%d)")
+						, actualJpq, expectedJpq);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdSetJpegQuality(const TDesC& aSection)
+	{
+	TInt	quality = KDefaultJpgQuality;
+	GetIntFromConfig(aSection, KJpegQuality(), quality);
+	INFO_PRINTF2(_L("Setting Jpeg Quality to %d"), quality);
+	// how can we fail this step - returns void and doesn't leave !
+	iCamera->SetJpegQuality(quality);
+	}
+
+void CT_MMDataCamera::DoCmdBuffersInUse(const TDesC& aSection)
+	{
+	TInt	actualBIU = iCamera->BuffersInUse();
+	INFO_PRINTF2(_L("Buffers In Use=%d"), actualBIU);
+
+	TInt	expectedBIU = 0;
+	if(GetIntFromConfig(aSection, KBuffersInUse(), expectedBIU))
+		{
+		if(expectedBIU != actualBIU)
+			{
+			ERR_PRINTF3(_L("Actual buffers(%d)!= Expected buffers(%d)")
+						, actualBIU, expectedBIU);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdCameraInfo(const TDesC& aSection)
+	{
+	iCamera->CameraInfo(iCameraInfo);
+	INFO_PRINTF1(_L("CCamera::CameraInfo() called ok"));
+	INFO_PRINTF2(_L("TCameraInfo.iOptionsSupported            = %x"), iCameraInfo.iOptionsSupported);
+	INFO_PRINTF2(_L("TCameraInfo.iFlashModesSupported         = %x"), iCameraInfo.iFlashModesSupported);
+	INFO_PRINTF2(_L("TCameraInfo.iExposureModesSupported      = %x"), iCameraInfo.iExposureModesSupported);
+	INFO_PRINTF2(_L("TCameraInfo.iWhiteBalanceModesSupported  = %x"), iCameraInfo.iWhiteBalanceModesSupported);
+	INFO_PRINTF2(_L("TCameraInfo.iMinZoom                     = %d"), iCameraInfo.iMinZoom);
+	INFO_PRINTF2(_L("TCameraInfo.iMaxZoom                     = %d"), iCameraInfo.iMaxZoom);
+	INFO_PRINTF2(_L("TCameraInfo.iMaxDigitalZoom              = %d"), iCameraInfo.iMaxDigitalZoom);
+	INFO_PRINTF2(_L("TCameraInfo.iMinZoomFactor               = %f"), iCameraInfo.iMinZoomFactor);
+	INFO_PRINTF2(_L("TCameraInfo.iMaxZoomFactor               = %f"), iCameraInfo.iMaxZoomFactor);
+	INFO_PRINTF2(_L("TCameraInfo.iMaxDigitalZoomFactor        = %f"), iCameraInfo.iMaxDigitalZoomFactor);
+	INFO_PRINTF2(_L("TCameraInfo.iNumImageSizesSupported      = %d"), iCameraInfo.iNumImageSizesSupported);
+	INFO_PRINTF2(_L("TCameraInfo.iImageFormatsSupported       = %x"), iCameraInfo.iImageFormatsSupported);
+	INFO_PRINTF2(_L("TCameraInfo.iNumVideoFrameSizesSupported = %d"), iCameraInfo.iNumVideoFrameSizesSupported);
+	INFO_PRINTF2(_L("TCameraInfo.iNumVideoFrameRatesSupported = %d"), iCameraInfo.iNumVideoFrameRatesSupported);
+	INFO_PRINTF2(_L("TCameraInfo.iVideoFrameFormatsSupported  = %x"), iCameraInfo.iVideoFrameFormatsSupported);
+	INFO_PRINTF2(_L("TCameraInfo.iMaxFramesPerBufferSupported = %d"), iCameraInfo.iMaxFramesPerBufferSupported);
+	INFO_PRINTF2(_L("TCameraInfo.iMaxBuffersSupported         = %d"), iCameraInfo.iMaxBuffersSupported);
+
+	//EViewFinderDirectSupported View finder display direct-to-screen flag
+	TBool	flag=(iCameraInfo.iOptionsSupported & TCameraInfo::EViewFinderDirectSupported) != 0;
+	INFO_PRINTF2(_L("VF direct supported = %S"), (flag ? &KTrue() : &KFalse()));
+	TBool	supported;
+	if(GetBoolFromConfig(aSection, KVfDirectSupported(), supported))
+		{
+		if(supported != flag)
+			{
+			ERR_PRINTF3(_L("Vf direct supported does not match actual(%d) expected(%d)"), flag, supported);
+			SetBlockResult(EFail);
+			}
+		}
+
+	//EViewFinderBitmapsSupported View finder bitmap generation flag
+	flag = (iCameraInfo.iOptionsSupported & TCameraInfo::EViewFinderBitmapsSupported) != 0;
+	INFO_PRINTF2(_L("VF bitmaps supported = %S"), (flag ? &KTrue() : &KFalse()));
+	if(GetBoolFromConfig(aSection, KVfBitmapsSupported(), supported))
+		{
+		if(supported != flag)
+			{
+			ERR_PRINTF3(_L("Vf direct supported does not match actual(%d) expected(%d)"), flag, supported);
+			SetBlockResult(EFail);
+			}
+		}
+
+	//EImageCaptureSupported Still image capture flag
+	flag = (iCameraInfo.iOptionsSupported & TCameraInfo::EImageCaptureSupported) != 0;
+	INFO_PRINTF2(_L("Image Capture supported = %S"), (flag ? &KTrue() : &KFalse()));
+	if(GetBoolFromConfig(aSection, KImageCaptureSupported(), supported))
+		{
+		if(supported != flag)
+			{
+			ERR_PRINTF3(_L("Image Capture supported does not match actual(%d) expected(%d)"), flag, supported);
+			SetBlockResult(EFail);
+			}
+		}
+
+	//EVideoCaptureSupported Video capture flag
+	flag = (iCameraInfo.iOptionsSupported & TCameraInfo::EVideoCaptureSupported) != 0;
+	INFO_PRINTF2(_L("Video Capture supported = %S"), (flag ? &KTrue() : &KFalse()));
+	if(GetBoolFromConfig(aSection, KVideoCaptureSupported(), supported))
+		{
+		if(supported != flag)
+			{
+			ERR_PRINTF3(_L("Video Capture supported does not match actual(%d) expected(%d)"), flag, supported);
+			SetBlockResult(EFail);
+			}
+		}
+
+	//EViewFinderMirrorSupported View finder display mirroring flag
+	flag = (iCameraInfo.iOptionsSupported & TCameraInfo::EViewFinderMirrorSupported) != 0;
+	INFO_PRINTF2(_L("Vf mirror Capture supported = %S"), (flag ? &KTrue() : &KFalse()));
+	if(GetBoolFromConfig(aSection, KVfMirrorSupported(), supported))
+		{
+		if(supported != flag)
+			{
+			ERR_PRINTF3(_L("Vf mirror Capture supported does not match actual(%d) expected(%d)"), flag, supported);
+			SetBlockResult(EFail);
+			}
+		}
+
+	//EContrastSupported Contrast setting flag
+	flag = (iCameraInfo.iOptionsSupported & TCameraInfo::EContrastSupported) != 0;
+	INFO_PRINTF2(_L("Contrast supported = %S"), (flag ? &KTrue() : &KFalse()));
+	if(GetBoolFromConfig(aSection, KContrastSupported(), supported))
+		{
+		if(supported != flag)
+			{
+			ERR_PRINTF3(_L("Contrast supported does not match actual(%d) expected(%d)"), flag, supported);
+			SetBlockResult(EFail);
+			}
+		}
+
+	//EBrightnessSupported Brightness setting flag
+	flag = (iCameraInfo.iOptionsSupported & TCameraInfo::EBrightnessSupported) != 0;
+	INFO_PRINTF2(_L("Brightness supported = %S"), (flag ? &KTrue() : &KFalse()));
+	if(GetBoolFromConfig(aSection, KBrightnessSupported(), supported))
+		{
+		if(supported != flag)
+			{
+			ERR_PRINTF3(_L("Brightness supported does not match actual(%d) expected(%d)"), flag, supported);
+			SetBlockResult(EFail);
+			}
+		}
+
+	//EViewFinderClippingSupported View finder clipping flag
+	flag = (iCameraInfo.iOptionsSupported & TCameraInfo::EViewFinderClippingSupported) != 0;
+	INFO_PRINTF2(_L("vf clipping supported = %S"), (flag ? &KTrue() : &KFalse()));
+	if(GetBoolFromConfig(aSection, KVfClippingSupported(), supported))
+		{
+		if(supported != flag)
+			{
+			ERR_PRINTF3(_L("Vf clipping supported does not match actual(%d) expected(%d)"), flag, supported);
+			SetBlockResult(EFail);
+			}
+		}
+
+	//EImageClippingSupported Still image capture clipping flag
+	flag = (iCameraInfo.iOptionsSupported & TCameraInfo::EImageClippingSupported) != 0;
+	INFO_PRINTF2(_L("image clipping supported = %S"), (flag ? &KTrue() : &KFalse()));
+	if(GetBoolFromConfig(aSection, KImageClippingSupported(), supported))
+		{
+		if(supported != flag)
+			{
+			ERR_PRINTF3(_L("Image clipping supported does not match actual(%d) expected(%d)"), flag, supported);
+			SetBlockResult(EFail);
+			}
+		}
+
+	//EVideoClippingSupported Video capture clipping flag
+	flag = (iCameraInfo.iOptionsSupported & TCameraInfo::EVideoClippingSupported) != 0;
+	INFO_PRINTF2(_L("video clipping supported = %S"), (flag ? &KTrue() : &KFalse()));
+	if(GetBoolFromConfig(aSection, KVideoClippingSupported(), supported))
+		{
+		if(supported != flag)
+			{
+			ERR_PRINTF3(_L("Video clipping supported does not match actual(%d) expected(%d)"), flag, supported);
+			SetBlockResult(EFail);
+			}
+		}
+
+	// orientation
+	INFO_PRINTF2(_L("Camera Info - orientation(%S)"), &GetParamString(iCameraInfo.iOrientation));
+	TCameraInfo::TCameraOrientation expectedOrientation;
+	if(GetParam(expectedOrientation, aSection))
+		{
+		if(expectedOrientation != iCameraInfo.iOrientation)
+			{
+			ERR_PRINTF3(_L("Camera info orientation(%S) does not match expected value(%S)")
+						, &GetParamString(iCameraInfo.iOrientation)
+						, &GetParamString(expectedOrientation));
+			SetBlockResult(EFail);
+			}
+		}
+
+	//Number of capture sizes
+	TInt	expectedCaptureSizes = 0;
+	if(GetIntFromConfig(aSection, KAmount(), expectedCaptureSizes))
+		{
+		if(expectedCaptureSizes != iCameraInfo.iNumImageSizesSupported)
+			{
+			ERR_PRINTF3(_L("Number of capture sizes do not match actual(%d) expected(%d)")
+						, iCameraInfo.iNumImageSizesSupported, expectedCaptureSizes);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdCamerasAvailable(const TDesC& aSection)
+	{
+	TInt	camerasExpected = 1;
+	TInt	camerasAvailable = CCamera::CamerasAvailable();
+	GetIntFromConfig(aSection, KCamerasAvailable(), camerasExpected);
+	INFO_PRINTF2(_L("Cameras available=%d"), camerasAvailable);
+
+	if(camerasAvailable != camerasExpected)
+		{
+		ERR_PRINTF3(_L("Cameras Available actual(%d)!=expected(%d)")
+					, camerasAvailable, camerasExpected);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdCancelCaptureImage()
+	{
+	iCamera->CancelCaptureImage();
+	if ( iCapturing )
+		{
+		DecOutstanding();
+		iCapturing=EFalse;
+		}
+	}
+
+void CT_MMDataCamera::DoCmdCaptureImage(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+	iAsyncErrorIndex = aAsyncErrorIndex;
+
+	iHasBitmapFile=GetStringFromConfig(aSection, KBitmapFile(), iBitmapFile);
+	iCamera->CaptureImage();
+	iCapturing=ETrue;
+	IncOutstanding();
+	// callback in MCameraObserver::ImageReady interface
+	// that is where this test can fail !!
+	}
+
+void CT_MMDataCamera::DoCmdCustomInterface(const TDesC& aSection)
+	{
+	TInt	uidParam = 0;
+
+	if ( GetHexFromConfig(aSection, KCustomUid(), uidParam) )
+		{
+		TUid	customUid=TUid::Uid(uidParam);
+		TAny*	customInterface = iCamera->CustomInterface(customUid);
+		if(customInterface)
+			{
+			// cast the interface pointer to the desired type
+			}
+		else
+			{
+			ERR_PRINTF2(_L("CCamera::CustomInterface(0x%X) returned NULL"), customUid.iUid);
+			SetError(KErrNotFound);
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("CCamera::CustomInterface param not found"));
+		SetError(KErrNotFound);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdEnumerateCaptureSizes(const TDesC& aSection)
+	{
+	CCamera::TFormat	format = KDefaultFormat;
+	GetParam(format, aSection);
+	INFO_PRINTF3(_L("Camera format is %S (%d)"), &GetParamString(format), format);
+
+	TInt	sizeIndex;
+	if (!GetIntFromConfig(aSection, KSizeIndex(), sizeIndex))
+		{
+		for ( TInt i=0; i<iCameraInfo.iNumImageSizesSupported; i++ )
+			{
+			TSize	sz;
+			iCamera->EnumerateCaptureSizes(sz, i, format);
+			INFO_PRINTF3(_L("Capture size w[%d] h[%d]"), sz.iWidth, sz.iHeight);
+			}
+		}
+	else
+		{
+		TSize	sz;
+		iCamera->EnumerateCaptureSizes(sz, sizeIndex, format);
+		INFO_PRINTF3(_L("Capture size w[%d] h[%d]"), sz.iWidth, sz.iHeight);
+
+		TInt	expectedWidth=0;
+		if (GetIntFromConfig(aSection, KWidth(), expectedWidth))
+			{
+			if (expectedWidth != sz.iWidth)
+				{
+				ERR_PRINTF3(_L("Widths do not match actual(%d) expected(%d)"), sz.iWidth, expectedWidth);
+				SetBlockResult(EFail);
+				}
+			}
+		TInt	expectedHeight=0;
+		if (GetIntFromConfig(aSection, KHeight(), expectedHeight))
+			{
+			if (expectedHeight != sz.iHeight)
+				{
+				ERR_PRINTF3(_L("Heights do not match actual(%d) expected(%d)"), sz.iHeight, expectedHeight);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdEnumerateVideoFrameRates(const TDesC& aSection)
+	{
+	CCamera::TFormat	format = KDefaultFormat;
+	GetParam(format, aSection);
+	INFO_PRINTF3(_L("Camera format is %S (%d)"), &GetParamString(format), format);
+
+	CCamera::TExposure exposure = CCamera::EExposureAuto;
+	GetParam(exposure, aSection);
+	INFO_PRINTF3(_L("exposure %S (%d)"), &GetParamString(exposure), exposure);
+
+	TInt	sizeIndex = 0;
+	TBool	sizeIndexGiven = GetIntFromConfig(aSection, KSizeIndex(), sizeIndex);
+
+	TInt	rateIndex = 0;
+	TBool	rateIndexGiven = GetIntFromConfig(aSection, KRateIndex(), rateIndex);
+
+	if ( sizeIndexGiven || rateIndexGiven )
+		{
+		TReal32	actualRate = .0;
+		iCamera->EnumerateVideoFrameRates(actualRate, rateIndex, format, sizeIndex, exposure);
+		INFO_PRINTF4(_L("Frame Rate[%d], Size[%d] = %f"), rateIndex, sizeIndex, actualRate);
+
+		TInt	expectedRate = 0;
+		if ( GetIntFromConfig(aSection, KFrameRate(), expectedRate) )
+			{
+			TInt	actualRateInt=(TInt)actualRate;
+			if (expectedRate != actualRateInt)
+				{
+				ERR_PRINTF3(_L("Frame rates do not match actual(%d) expected(%d)"), actualRateInt, expectedRate);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		TInt	actualFrameRates = 0;
+		for(TInt i=0;i<iCameraInfo.iNumVideoFrameRatesSupported;i++)
+			{
+			for(TInt j=0;j<iCameraInfo.iNumVideoFrameSizesSupported;j++)
+				{
+				TReal32	actualRate = .0;
+				iCamera->EnumerateVideoFrameRates(actualRate, i, format, j, exposure);
+				INFO_PRINTF4(_L("Frame Rate[%d], Size[%d] = %f"), i, j, actualRate);
+				if ( actualRate != 0 )
+					{
+					actualFrameRates++;
+					}
+				}
+			}
+
+		TInt	expectedFrameRates = 0;
+		if ( GetIntFromConfig(aSection, KAmount(), expectedFrameRates) )
+			{
+			if( expectedFrameRates != actualFrameRates )
+				{
+				// expected number of frame rates does not match
+				ERR_PRINTF3(_L("Number of frame rates do not match actual(%d) expected(%d)"), actualFrameRates, expectedFrameRates);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdEnumerateVideoFrameSizes(const TDesC& aSection)
+	{
+	CCamera::TFormat	format = KDefaultFormat;
+	GetParam(format, aSection);
+	INFO_PRINTF3(_L("Camera format is %S (%d)"), &GetParamString(format), format);
+
+	TInt	sizeIndex;
+	if (!GetIntFromConfig(aSection, KSizeIndex(), sizeIndex))
+		{
+		TInt	actualFrameSizes = 0;
+		for(TInt i=0; i<iCameraInfo.iNumVideoFrameSizesSupported; i++)
+			{
+			TSize	size;
+			iCamera->EnumerateVideoFrameSizes(size, i, format);
+			INFO_PRINTF4(_L("Size[%d] %d X %d"), i, size.iWidth, size.iHeight);
+			if ( (size.iWidth > 0) && (size.iHeight > 0) )
+				{
+				actualFrameSizes++;
+				}
+			}
+
+		TInt	expectedFrameSizes = 0;
+		if ( GetIntFromConfig(aSection, KAmount(), expectedFrameSizes) )
+			{
+			if( expectedFrameSizes != actualFrameSizes )
+				{
+				// expected number of frame rates does not match
+				ERR_PRINTF3(_L("Number of frame sizes do not match actual(%d) expected(%d)"), actualFrameSizes, expectedFrameSizes);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		TSize	size;
+		iCamera->EnumerateVideoFrameSizes(size, sizeIndex, format);
+		INFO_PRINTF4(_L("Size[%d] %d X %d"), sizeIndex, size.iWidth, size.iHeight);
+
+		TInt	expectedWidth=0;
+		if (GetIntFromConfig(aSection, KWidth(), expectedWidth))
+			{
+			if (expectedWidth != size.iWidth)
+				{
+				ERR_PRINTF3(_L("Widths do not match actual(%d) expected(%d)"), size.iWidth, expectedWidth);
+				SetBlockResult(EFail);
+				}
+			}
+		TInt	expectedHeight=0;
+		if (GetIntFromConfig(aSection, KHeight(), expectedHeight))
+			{
+			if (expectedHeight != size.iHeight)
+				{
+				ERR_PRINTF3(_L("Heights do not match actual(%d) expected(%d)"), size.iHeight, expectedHeight);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdFrameRate(const TDesC& aSection)
+	{
+	TReal32	actualFrameRate = iCamera->FrameRate();
+	INFO_PRINTF2(_L("frame rate = %f"), actualFrameRate);
+
+	TInt	expectedFrameRate = 0;
+	if ( GetIntFromConfig(aSection, KFrameRate(), expectedFrameRate) )
+		{
+		if ( (TInt)actualFrameRate != expectedFrameRate )
+			{
+			ERR_PRINTF3(_L("FrameRate(%f) != expectedFrameRate(%f)"), (TReal32)expectedFrameRate, actualFrameRate);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdFramesPerBuffer(const TDesC& aSection)
+	{
+	TInt	actualFramesPerBuffer = iCamera->FramesPerBuffer();
+	INFO_PRINTF2(_L("frames per buffer = %d"), actualFramesPerBuffer);
+
+	TInt	expectedFramesPerBuffer = 0;
+	if ( GetIntFromConfig(aSection, KFramesPerBuffer(), expectedFramesPerBuffer) )
+		{
+		if ( actualFramesPerBuffer != expectedFramesPerBuffer )
+			{
+			ERR_PRINTF3(_L("FramesPerBuffer(%d) != expectedFramesPerBuffer(%d)")
+					, expectedFramesPerBuffer, actualFramesPerBuffer);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdGetFrameSize(const TDesC& aSection)
+	{
+	TSize	actualSize;
+	iCamera->GetFrameSize(actualSize);
+	INFO_PRINTF3(_L("Frame Size width = %d height = %d per buffer = %d"), actualSize.iWidth, actualSize.iHeight);
+
+	TInt	expectedWidth = 0;
+	if ( GetIntFromConfig(aSection, KWidth(), expectedWidth) )
+		{
+		if ( actualSize.iWidth != expectedWidth )
+			{
+			ERR_PRINTF3(_L("width(%d) != expectedWidth(%d)"), actualSize.iWidth, expectedWidth);
+			SetBlockResult(EFail);
+			}
+		}
+
+	TInt	expectedHeight = 0;
+	if ( GetIntFromConfig(aSection, KHeight(), expectedHeight) )
+		{
+		if ( actualSize.iHeight != expectedHeight )
+			{
+			ERR_PRINTF3(_L("height(%d) != expectedHeight(%d)"), actualSize.iHeight, expectedHeight);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdHandle()
+	{
+	TInt	handle = iCamera->Handle();
+	INFO_PRINTF2(_L("Camera handle = %d"), handle);
+	}
+
+void CT_MMDataCamera::DoCmdNewDuplicateL(const TDesC& aSection)
+	{
+	//	Get the camera object data dictionary name that needs duplicating
+	TPtrC		originalCameraName;
+	CCamera*	originalCamera=NULL;
+	if ( !GetStringFromConfig(aSection, KCamera(), originalCameraName) )
+		{
+		ERR_PRINTF2(_L("No %S"), &KCamera());
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		originalCamera=static_cast<CCamera*>(GetDataObjectL(originalCameraName));
+		}
+
+	if ( originalCamera!=NULL )
+		{
+		// read the parameter that will tell us which overload to use
+		TPtrC		observerDes;
+		TBool		observerSpecified = GetStringFromConfig(aSection, KObserverInterface(), observerDes);
+		TInt		err = KErrNone;
+		CCamera*	camera=NULL;
+		TInt		cameraHandle=originalCamera->Handle();
+		GetIntFromConfig(aSection, KHandle(), cameraHandle);
+		if ( observerSpecified && (observerDes==KMObserver2) )
+			{
+			MCameraObserver2*	observer2 = static_cast<MCameraObserver2*>(this);
+			TRAP(err, camera = originalCamera->NewDuplicateL(*observer2, cameraHandle));
+			}
+		else // no parameter or param not MObserver2 - assume MObserver overload
+			{
+			MCameraObserver*	observer = static_cast<MCameraObserver*>(this);
+			TRAP(err, camera = originalCamera->NewDuplicateL(*observer, cameraHandle));
+			}
+		CleanupStack::PushL(camera);
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("CCamera::NewDuplicateL failed with error %d"), err);
+			SetError(err);
+			}
+		else
+			{
+			INFO_PRINTF1(_L("CCamera::NewDuplicateL passed"));
+			}
+		delete iCamera;
+		iCamera=camera;
+		CleanupStack::Pop(camera);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdNewL(const TDesC& aSection)
+	{
+
+	delete iCamera;
+	iCamera = NULL;
+
+	TInt	cameraIndex = 0;
+	GetIntFromConfig(aSection, KCameraIndex(), cameraIndex);
+	TInt	priority=0;
+	TPtrC	priorityDes;
+	if(GetIntFromConfig(aSection, KPriorityPcnt(), priority))
+		{
+		TRAPD(err, iCamera = CCamera::NewL(*this, cameraIndex, priority));
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("CCamera::NewL failed with error %d"), err);
+			SetError(err);
+			}
+		else
+			{
+			INFO_PRINTF1(_L("CCamera::NewL passed"));
+			}
+		}
+	else // no priority specified use other overload
+		{
+		TRAPD(err, iCamera=CCamera::NewL(*this, cameraIndex));
+		if(err!=KErrNone)
+			{
+			ERR_PRINTF2(_L("CCamera::NewL failed with error %d"), err);
+			SetError(err);
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdPowerOff()
+	{
+	iCamera->PowerOff();
+	INFO_PRINTF1(_L("PowerOff called ok"));
+	}
+
+void CT_MMDataCamera::DoCmdPowerOn(const TInt aAsyncErrorIndex)
+	{
+	iAsyncErrorIndex = aAsyncErrorIndex;
+	iCamera->PowerOn();
+	IncOutstanding();
+	// callback completes in PowerOnComplete
+	}
+
+void CT_MMDataCamera::DoCmdPrepareImageCaptureL(const TDesC& aSection)
+	{
+
+	CCamera::TFormat	format = KDefaultFormat;
+	GetParam(format, aSection);
+	INFO_PRINTF3(_L("Camera format is %S (%d)"), &GetParamString(format), format);
+
+	TInt	expected = KErrNone;
+	if (!(iCameraInfo.iImageFormatsSupported & format))
+		{
+		expected=KErrNotSupported;
+		INFO_PRINTF2(_L("Image format not supported. Expected = %d"), expected);
+		}
+
+	TInt	sizeIndex = 0; // maybe set to max - 1
+	GetIntFromConfig(aSection, KSizeIndex(), sizeIndex);
+
+	TRect	clipRect;
+	TInt	err = KErrNone;
+	// if a clip rect has been specified use it
+
+	if(GetParam(clipRect, KClipTag, aSection))
+		{
+		if (!(iCameraInfo.iOptionsSupported & TCameraInfo::EImageClippingSupported))
+			{
+			expected=KErrNotSupported;
+			INFO_PRINTF2(_L("Image clipping supported = FALSE!, Excpected = %d"), expected);
+			}
+		INFO_PRINTF1(_L("iCamera->PrepareImageCaptureL(format, sizeIndex, rect)"));
+		TRAP(err, iCamera->PrepareImageCaptureL(format, sizeIndex, clipRect));
+		}
+	else
+		{
+		INFO_PRINTF1(_L("iCamera->PrepareImageCaptureL(format, sizeIndex)"));
+		TRAP(err, iCamera->PrepareImageCaptureL(format, sizeIndex));
+		}
+	iPrepareCaptureOk=(err==KErrNone);
+
+	if ( err!=expected )
+		{
+		ERR_PRINTF3(_L("CCamera::PrepareImageCaptureL failed with error %d. Expected %d"), err, expected);
+		SetError(err);
+		}
+	else
+		{
+		iPrepareCaptureErr=err;
+		}
+	}
+
+void CT_MMDataCamera::DoCmdPrepareVideoCaptureL(const TDesC& aSection)
+	{
+
+	CCamera::TFormat	format = KDefaultFormat;
+	GetParam(format, aSection);
+	INFO_PRINTF3(_L("Camera format is %S (%d)"), &GetParamString(format), format);
+
+	TInt	sizeIndex = iCameraInfo.iNumVideoFrameSizesSupported-1;
+	GetIntFromConfig(aSection, KSizeIndex(), sizeIndex);
+
+	TInt	rateIndex = iCameraInfo.iNumVideoFrameRatesSupported-1;
+	GetIntFromConfig(aSection, KRateIndex(), rateIndex);
+
+	TInt	buffersToUse = KDefaultBuffersToUse;
+	GetIntFromConfig(aSection, KBuffersInUse(), buffersToUse);
+
+	TInt	framesPerBuffer = iCameraInfo.iMaxFramesPerBufferSupported;
+	GetIntFromConfig(aSection, KFramesPerBuffer(), framesPerBuffer);
+
+	TInt	err = KErrNone;
+	TInt	expected = KErrNone;
+	TRect	clipRect;
+	// if a clip rect has been specified use it
+
+	if(GetParam(clipRect, KClipTag, aSection))
+		{
+		if (!(iCameraInfo.iOptionsSupported & TCameraInfo::EVideoClippingSupported))
+			{
+			expected = KErrNotSupported;
+			INFO_PRINTF2(_L("Video clipping supported = FALSE!, Excpected = %d"), expected);
+			}
+		INFO_PRINTF1(_L("iCamera->PrepareVideoCaptureL(format, sizeIndex, rateIndex, buffersToUse, framesPerBuffer, rect)"));
+		TRAP(err, iCamera->PrepareVideoCaptureL(format, sizeIndex, rateIndex
+											 , buffersToUse, framesPerBuffer, clipRect));
+		}
+	else
+		{
+		INFO_PRINTF1(_L(""));
+		TRAP(err, iCamera->PrepareVideoCaptureL(format, sizeIndex, rateIndex, buffersToUse, framesPerBuffer));
+		}
+
+	if(err != expected)
+		{
+		ERR_PRINTF2(_L("CCamera::PrepareVideoCaptureL failed with error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdRelease()
+	{
+	iCamera->Release();
+	INFO_PRINTF1(_L("Release called ok"));
+	}
+
+void CT_MMDataCamera::DoCmdReserve(const TInt aAsyncErrorIndex)
+	{
+	iAsyncErrorIndex = aAsyncErrorIndex;
+	iCamera->Reserve();
+	IncOutstanding();
+	// call back in ReserveComplete
+	}
+
+void CT_MMDataCamera::DoCmdStartVideoCapture(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+	iAsyncErrorIndex = aAsyncErrorIndex;
+	// start capturing video - calls FrameBufferReady when each buffer
+	// has been filled with required number of frames set in PrepareVideoCaptureL
+	iHasBitmapFile=GetStringFromConfig(aSection, KBitmapFile(), iBitmapFile);
+	iCamera->StartVideoCapture();
+	IncOutstanding();
+	}
+
+void CT_MMDataCamera::DoCmdStartViewFinderBitmapsL(const TDesC& aSection)
+	{
+
+	TInt	err = KErrNone;
+	TSize	viewFinderSize(KDefaultViewFinderWidth, KDefaultViewFinderHeight);
+	GetParam(viewFinderSize, KViewFinderTag, aSection);
+
+	TRect	clipRect;
+	if ( GetParam(clipRect, KClipTag, aSection) )
+		{
+		INFO_PRINTF1(_L("iCamera->StartViewFinderBitmapsL(viewFinderSize, rect)"));
+		TRAP(err, iCamera->StartViewFinderBitmapsL(viewFinderSize, clipRect));
+		}
+	else
+		{
+		INFO_PRINTF1(_L("iCamera->StartViewFinderBitmapsL(viewFinderSize)"));
+		TRAP(err, iCamera->StartViewFinderBitmapsL(viewFinderSize));
+		}
+	INFO_PRINTF2(_L("View Finder Width  %d"), viewFinderSize.iWidth);
+	INFO_PRINTF2(_L("View Finder Height %d"), viewFinderSize.iHeight);
+	if(err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CCamera::StartViewFinderBitmapsL failed with error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdStartViewFinderDirectL(const TDesC& aSection)
+	{
+	TInt								err = KErrNone;
+
+	// wsSession parameter
+	TPtrC	wsSession;
+	GetStringFromConfig(aSection, KWsSession(), wsSession);
+
+	if ((wsSession == KInvalidWsSession) && iWsSessionConnected)
+		{
+		iWsSession.Close();
+		iWsSessionConnected=EFalse;
+		}
+
+	// wsScreenDevice parameter
+	TPtrC	wsScreenDevice;
+	GetStringFromConfig(aSection, KWsScreenDevice(), wsScreenDevice);
+
+	CWsScreenDevice*	scrDevice = NULL;
+	if (wsScreenDevice != KInvalidScrDev)
+		{
+		scrDevice = iScrDevice;
+		}
+
+	// window parameter
+	TPtrC	windowParam;
+	GetStringFromConfig(aSection, KWindow(), windowParam);
+
+	RWindow*	window = NULL;
+	if (windowParam != KInvalidWindow)
+		{
+		window = iWindow;
+		}
+
+	TRect	screenRect(TSize(KDefaultViewFinderWidth, KDefaultViewFinderHeight));
+
+	GetParam(screenRect, KScreenTag, aSection);
+
+	TRect	clipRect;
+	if(GetParam(clipRect, KClipTag, aSection))
+		{
+		INFO_PRINTF1(_L("iCamera->StartViewFinderDirectL(iWsSession, *scrDevice, *window, screenRect, clipRect)"));
+		TRAP(err, iCamera->StartViewFinderDirectL(iWsSession, *scrDevice, *window, screenRect, clipRect));
+		}
+	else
+		{
+		INFO_PRINTF1(_L("iCamera->StartViewFinderDirectL(iWsSession, *scrDevice, *window, screenRect)"));
+		TRAP(err, iCamera->StartViewFinderDirectL(iWsSession, *scrDevice, *window, screenRect));
+		}
+
+	if(err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CCamera::StartViewFinderDirectL failed with error %d"), err);
+		SetError(err);
+		}
+
+	// restore wsSession
+	if (!iWsSessionConnected)
+		{
+		User::LeaveIfError(iWsSession.Connect());
+		iWsSessionConnected=ETrue;
+		}
+	}
+
+void CT_MMDataCamera::DoCmdStartViewFinderL(const TDesC& aSection)
+	{
+
+	CCamera::TFormat	format = KDefaultFormat;
+	GetParam(format, aSection);
+	INFO_PRINTF3(_L("Camera format is %S (%d)"), &GetParamString(format), format);
+	TSize	viewFinderSize(KDefaultViewFinderWidth, KDefaultViewFinderHeight);
+	GetParam(viewFinderSize, KViewFinderTag, aSection);
+
+	TInt	err = KErrNone;
+	TRect	clipRect;
+	if(GetParam(clipRect, KClipTag, aSection))
+		{
+		INFO_PRINTF1(_L("iCamera->StartViewFinderL(format, viewFinderSize, clipRect)"));
+		TRAP(err, iCamera->StartViewFinderL(format, viewFinderSize, clipRect));
+		}
+	else
+		{
+		INFO_PRINTF1(_L("iCamera->StartViewFinderL(format, viewFinderSize)"));
+		TRAP(err, iCamera->StartViewFinderL(format, viewFinderSize));
+		}
+
+	if(err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CCamera::StartViewFinderL failed with error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataCamera::DoCmdStopVideoCapture()
+	{
+	// stop the video capture
+	iCamera->StopVideoCapture();
+	}
+
+void CT_MMDataCamera::DoCmdStopViewFinder()
+	{
+	// stop the view finder
+	iCamera->StopViewFinder();
+	}
+
+void CT_MMDataCamera::DoCmdVideoCaptureActive(const TDesC& aSection)
+	{
+
+	TBool	actualVideoActive = iCamera->VideoCaptureActive();
+	if(actualVideoActive)
+		{
+		INFO_PRINTF1(_L("VideoCaptureActive = true"));
+		}
+	else
+		{
+		INFO_PRINTF1(_L("VideoCaptureActive = false"));
+		}
+
+	TInt	expectedVideoActive;
+	if(GetIntFromConfig(aSection, KVideoCaptureActive(), expectedVideoActive))
+		{
+		if((TBool)expectedVideoActive != actualVideoActive)
+			{
+			ERR_PRINTF3(_L("Video Active actual(%d) != expected(%d)")
+						, (TInt)actualVideoActive, expectedVideoActive);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdViewFinderActive(const TDesC& aSection)
+	{
+	TBool	actualVfActive = iCamera->ViewFinderActive();
+	if(actualVfActive)
+		{
+		INFO_PRINTF1(_L("ViewFinderActive = true"));
+		}
+	else
+		{
+		INFO_PRINTF1(_L("ViewFinderActive = false"));
+		}
+	TBool	expectedVfActive;
+	if(GetBoolFromConfig(aSection, KViewFinderActive(), expectedVfActive))
+		{
+		if(expectedVfActive != actualVfActive)
+			{
+			ERR_PRINTF3(_L("View Finder Active actual(%d) != expected(%d)")
+						, (TInt)actualVfActive, expectedVfActive);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataCamera::DoCmdDestructor()
+	{
+	DestroyData();
+	}
+
+TInt CT_MMDataCamera::GetDefaultDigitalZf()
+/**
+Utility helper function GetDefaultDigitalZf - Gets default digital zoom factor
+@return TInt Default zoom factor(dzf)
+@param aCamera - Camera for which the dzf is to be retrieved
+@pre N/A
+@post N/A
+*/
+	{
+	TCameraInfo	cameraInfo;
+	iCamera->CameraInfo(cameraInfo);
+	return cameraInfo.iMaxDigitalZoom;
+	}
+
+void CT_MMDataCamera::ReserveComplete(TInt aError)
+/**
+aAsyncErrorIndex callback called when CCamera::Reserve completes
+@internalComponent
+@return void
+@param aError Symbian error code on failure, KErrNone if camera reserved ok
+@pre N/A
+@post N/A
+*/
+	{
+	if(aError == KErrNone )
+		{
+		INFO_PRINTF1(_L("ReserveComplete OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("ReserveComplete Error %d"), aError);
+		SetAsyncError(iAsyncErrorIndex, aError);
+		}
+
+	DecOutstanding();
+	}
+
+void CT_MMDataCamera::PowerOnComplete(TInt aError)
+/**
+aAsyncErrorIndex callback called when CCamera::PowerOn completes
+@internalComponent
+@return void
+@param aError Symbian error code on failure, KErrNone if camera powered on ok
+@pre N/A
+@post N/A
+*/
+	{
+	if(aError == KErrNone )
+		{
+		INFO_PRINTF1(_L("PowerOnComplete OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("PowerOnComplete Error %d"), aError);
+		SetAsyncError(iAsyncErrorIndex, aError);
+		}
+
+	DecOutstanding();
+	}
+
+void CT_MMDataCamera::ViewFinderFrameReady(CFbsBitmap& /*aFrame*/)
+/**
+Callback called periodically after a call to CCamera::StartViewFinderBitmapsL
+@internalComponent
+@return void
+@param aFrame - a referenc to a CFbsBitmap object containing the viewfinder frame
+@pre N/A
+@post N/A
+*/
+	{
+	// called periodically in response to calls to CCamera::StartViewFinderBitmaps
+	}
+
+void CT_MMDataCamera::ImageReady(CFbsBitmap* aBitmap, HBufC8* /*aData*/, TInt aError)
+/**
+Callback in response to a call to CCamera::CaptureImage
+@internalComponent
+@return void
+@param aBitmap -  a pointer to a CFbsBitmap object in the format specified in the
+previous call to CCamera::PrepareImageCapture
+@param aData -  a pointer to a HBufC8 descriptor containing data in the format
+specified in the previous call to CCaera::PrepareImageCapture
+@param aError -  On failure contains a standard symbian error code KErrNone on success
+@pre N/A
+@post N/A
+*/
+	{
+	if ( aBitmap!=NULL )
+		{
+		if ( iHasBitmapFile )
+			{
+			TInt	saveError = aBitmap->Save(iBitmapFile);
+			if ( saveError != KErrNone )
+				{
+				ERR_PRINTF2(_L("aBitmap->Save() error %d"), saveError);
+				SetBlockResult(EFail);
+				}
+			iHasBitmapFile=EFalse;
+			}
+		delete aBitmap;
+		}
+	if(aError == KErrNone )
+		{
+		INFO_PRINTF1(_L("ImageReady OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("ImageReady Error %d"), aError);
+		//	If the capture failed with not supported then we should get a not ready error.
+		if ( (iPrepareCaptureErr!=KErrNotSupported) && (aError!=KErrNotReady) )
+			{
+			SetAsyncError(iAsyncErrorIndex, aError);
+			}
+		}
+	iCapturing=EFalse;
+	DecOutstanding();
+	}
+
+void CT_MMDataCamera::FrameBufferReady(MFrameBuffer* aFrameBuffer, TInt aError)
+/**
+Passes a filled frame buffer to the client
+@internalComponent
+@released callback - called asynchronously when the buffer has been filled with the
+required number of video frames by CCamera::StartVideoCapture
+@return void
+@param aFrameBuffer, pointer to a MFrameBuffer if successful otherwise NULL
+@param aError - KErrNone if successful, standard symbian error code otherwise
+@pre None
+@post CClassExample object is now fully initialised
+*/
+	{
+	// called asynchronously when a buffer has been filled by the required number of
+	// frames by CCamera::StartVideoCapture
+
+	if( (aError==KErrNone) && (aFrameBuffer!=NULL) )
+		{
+		INFO_PRINTF1(_L("FrameBufferReady OK"));
+		if ( iHasBitmapFile )
+			{
+			CFbsBitmap*	bitmap = NULL;
+			TRAPD(err, bitmap = aFrameBuffer->FrameL(aFrameBuffer->iIndexOfFirstFrameInBuffer));
+			if ( err == KErrNone )
+				{
+				TInt	saveError = bitmap->Save(iBitmapFile);
+				if ( saveError != KErrNone )
+					{
+					ERR_PRINTF2(_L("bitmap->Save() error %d"), saveError);
+					SetBlockResult(EFail);
+					}
+				}
+			else
+				{
+				ERR_PRINTF2(_L("aFrameBuffer->FrameL() error %d"), err);
+				SetAsyncError(iAsyncErrorIndex, aError);
+				}
+			delete bitmap;
+			iHasBitmapFile=EFalse;
+			}
+		}
+	else
+		{
+		if ( (aFrameBuffer==NULL) && (iPrepareCaptureOk) )
+			{
+			ERR_PRINTF1(_L("aFrameBuffer is NULL"));
+			SetBlockResult(EFail);
+			}
+		if ( aError!=KErrNone )
+			{
+			ERR_PRINTF2(_L("FrameBufferReady Error %d"), aError);
+			SetAsyncError(iAsyncErrorIndex, aError);
+			}
+		}
+	if ( aFrameBuffer!=NULL )
+		{
+		aFrameBuffer->Release();
+		}
+	DecOutstanding();
+	}
+
+///////////////////////////////////////////////////////////////////
+//from the MCameraObserver2 interface / / / / / / / / / / / / / / /
+///////////////////////////////////////////////////////////////////
+
+void CT_MMDataCamera::HandleEvent(const TECAMEvent &aEvent)
+/**
+Callback called when a camera event has completed.
+@internalComponent
+@return void
+@param aParam1 A reference to a TECAMEvent. This can be completion of a
+call to CCamera::Reserve() or a call to CCamera::PowerOn() or a notification
+that the client has lost control of the camera. The event contains a uid
+identifying the event and an accompanying error code
+(KErrNone for the successful completion of a request).
+The error will be KErrNotReady for a request that was made
+out of the correct sequence. The error will be KErrAccessDenied for a Reserve()
+request that failed because a higher priority client already controls the camera.
+@pre N/A
+@post N/A
+*/
+	{
+	if(aEvent.iErrorCode == KErrNone )
+		{
+		INFO_PRINTF1(_L("HandleEvent OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("HandleEvent Error %d"), aEvent.iErrorCode);
+		SetAsyncError(iAsyncErrorIndex, aEvent.iErrorCode);
+		}
+
+	DecOutstanding();
+	}
+
+void CT_MMDataCamera::ViewFinderReady(MCameraBuffer& /*aCameraBuffer*/, TInt aError)
+/**
+Callback - Notifies client of new view finder data. Called periodically in
+response to the use of CCamera::StartViewFinderL().
+@internalComponent
+@return void
+@param aCameraBuffer A reference to an MCameraBuffer if successful,
+or NULL if not successful.
+@param aParam2 KErrNone if successful, or an error code if not successful.
+@pre N/A
+@post N/A
+*/
+	{
+	if(aError == KErrNone )
+		{
+		INFO_PRINTF1(_L("ViewFinderReady OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("ViewFinderReady Error %d"), aError);
+		SetError(aError);
+		}
+	}
+
+void CT_MMDataCamera::ImageBufferReady(MCameraBuffer& aCameraBuffer, TInt aError)
+/**
+Callback - Notifies the client of a new captured camera image.
+Called asynchronously when CCamera::CaptureImage() completes.
+@internalComponent
+@return void
+@param aCameraBuffer A reference to an MCameraBuffer if successful,
+or NULL if not successful.
+@param aParam2 KErrNone if successful, or an error code if not successful.
+@pre N/A
+@post N/A
+*/
+	{
+	if(aError == KErrNone )
+		{
+		INFO_PRINTF1(_L("ImageBufferReady OK"));
+		if ( iHasBitmapFile )
+			{
+			CFbsBitmap*	bitmap=NULL;
+			TRAPD(err, CFbsBitmap& bitmapRef = aCameraBuffer.BitmapL(aCameraBuffer.iIndexOfFirstFrameInBuffer); bitmap=&bitmapRef);
+			if ( err == KErrNone )
+				{
+				TInt	saveError = bitmap->Save(iBitmapFile);
+				if ( saveError != KErrNone )
+					{
+					ERR_PRINTF2(_L("bitmap->Save() error %d"), saveError);
+					SetBlockResult(EFail);
+					}
+				}
+			else
+				{
+				ERR_PRINTF2(_L("aCameraBuffer.BitmapL() error %d"), err);
+				SetBlockResult(EFail);
+				}
+			iHasBitmapFile=EFalse;
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("ImageBufferReady Error %d"), aError);
+		SetAsyncError(iAsyncErrorIndex, aError);
+		}
+	DecOutstanding();
+	}
+
+void CT_MMDataCamera::VideoBufferReady(MCameraBuffer& aCameraBuffer, TInt aError)
+/**
+Callback - Notifies the client of new captured video. Called asynchronously and
+periodically after CCamera::StartVideoCapture() is called. The buffer has been
+filled with the required number of video frames specified by PrepareVideoCaptureL().
+@internalComponent
+@return void
+@param aCameraBuffer A reference to an MCameraBuffer if successful,
+or NULL if not successful.
+@param aError KErrNone if successful, or an error code if not successful.
+@pre N/A
+@post N/A
+*/
+	{
+	if(aError == KErrNone )
+		{
+		INFO_PRINTF1(_L("VideoBufferReady OK"));
+		if ( iHasBitmapFile )
+			{
+			CFbsBitmap*	bitmap=NULL;
+			TRAPD(err, CFbsBitmap& bitmapRef = aCameraBuffer.BitmapL(aCameraBuffer.iIndexOfFirstFrameInBuffer); bitmap=&bitmapRef);
+			if ( err == KErrNone )
+				{
+				TInt	saveError = bitmap->Save(iBitmapFile);
+				if ( saveError != KErrNone )
+					{
+					ERR_PRINTF2(_L("bitmap->Save() error %d"), saveError);
+					SetBlockResult(EFail);
+					}
+				}
+			else
+				{
+				ERR_PRINTF2(_L("aCameraBuffer.BitmapL() error %d"), err);
+				SetBlockResult(EFail);
+				}
+			iHasBitmapFile=EFalse;
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("VideoBufferReady Error %d"), aError);
+		SetAsyncError(iAsyncErrorIndex, aError);
+		}
+	DecOutstanding();
+	}
+
+TBool CT_MMDataCamera::GetParam(
+		CCamera::TFormat&					aFormat,
+		const TDesC&						aSection)
+/**
+Utility function - GetParam - Retrieves a ini file CCamera::TFormat parameter
+@internalComponent
+@return ETrue if parameter retrieved successfully EFalse otherwise
+@param aFormat - CCamera::TFormat to be filled with data
+@param aSection descriptor containing test step data used for formatting test store query
+@pre None
+@post When successfull, aFormat contains the camera format parameter
+*/
+	{
+	TBool	returnValue = EFalse;
+	TPtrC	formatDes;
+	if(GetStringFromConfig(aSection, KCameraFormat(), formatDes))
+		{
+		if(ConvertToCameraFormat(formatDes, aFormat))
+			{
+			returnValue = ETrue;
+			}
+		else
+			{
+			TInt	tempValue;
+			if(GetHexFromConfig(aSection, KCameraFormat(), tempValue))
+				{
+				aFormat = CCamera::TFormat(tempValue);
+				returnValue = ETrue;
+				}
+			}
+		}
+	return returnValue;
+	}
+
+TBool CT_MMDataCamera::GetParam(
+		CCamera::TExposure&					aExposure,
+		const TDesC&						aSection)
+/**
+Utility function GetParam - Retrieves a ini file CCamera::TExposure parameter
+@internalComponent
+@return ETrue if parameter retrieved successfully EFalse otherwise
+@param aExposure - CCamera::TExposure to be filled with data
+@param aSection descriptor containing test step data used for formatting test store query
+@pre None
+@post When successfull, aExposure contains the camera exposure parameter
+*/
+	{
+	TBool	returnValue = EFalse;
+	TPtrC	exposureString;
+	if(GetStringFromConfig(aSection, KExposure(), exposureString))
+		{
+		if(ConvertToCameraExposure(exposureString, aExposure))
+			{
+			returnValue = ETrue;
+			}
+		else
+			{
+			TInt	tempValue;
+			if(GetIntFromConfig(aSection, KExposure(), tempValue))
+				{
+				aExposure = CCamera::TExposure(tempValue);
+				returnValue = ETrue;
+				}
+			}
+		}
+	return returnValue;
+	}
+
+TBool CT_MMDataCamera::GetParam(
+		CCamera::TFlash&					aFlash,
+		const TDesC&						aSection)
+/**
+Utility function GetParam - Retrieves a ini file CCamera::TFlash parameter
+@internalComponent
+@return ETrue if parameter retrieved successfully EFalse otherwise
+@param aFlash - CCamera::TFlash to be filled with data
+@param aSection descriptor containing test step data used for formatting test store query
+@pre None
+@post When successfull, aFlash contains the camera flash parameter
+*/
+	{
+	TBool	returnValue = EFalse;
+	TPtrC	flashString;
+	if(GetStringFromConfig(aSection, KFlash(), flashString))
+		{
+		if(ConvertToCameraFlash(flashString, aFlash))
+			{
+			returnValue = ETrue;
+			}
+		else
+			{
+			TInt	tempValue;
+			if(GetIntFromConfig(aSection, KFlash(), tempValue))
+				{
+				aFlash = CCamera::TFlash(tempValue);
+				returnValue = ETrue;
+				}
+			}
+		}
+	return returnValue;
+	}
+
+TBool CT_MMDataCamera::GetParam(
+		CCamera::TWhiteBalance&				aWhiteBalance,
+		const TDesC&						aSection)
+/**
+Utility function GetParam - Retrieves a ini file CCamera::TWhiteBalance parameter
+@internalComponent
+@return ETrue if parameter retrieved successfully EFalse otherwise
+@param aWhiteBalance - CCamera::TWhiteBalance to be filled with data
+@param aSection descriptor containing test step data used for formatting test store query
+@pre None
+@post When successfull, aWhiteBalance contains the camera white balance parameter
+*/
+	{
+	TBool	returnValue = EFalse;
+	TPtrC	whiteBalanceString;
+	if(GetStringFromConfig(aSection, KWhiteBalance(), whiteBalanceString))
+		{
+		if(ConvertToCameraWhiteBalance(whiteBalanceString, aWhiteBalance))
+			{
+			returnValue = ETrue;
+			}
+		else
+			{
+			TInt	tempValue;
+			if(GetIntFromConfig(aSection, KWhiteBalance(), tempValue))
+				{
+				aWhiteBalance = CCamera::TWhiteBalance(tempValue);
+				returnValue = ETrue;
+				}
+			}
+		}
+	return returnValue;
+	}
+
+TBool CT_MMDataCamera::GetParam(
+		TRect&								aRect,
+		const TDesC&						aTag,
+		const TDesC&						aSection)
+/**
+Utility function GetParam - Retrieves a ini file TRect parameter
+@internalComponent
+@return ETrue if parameter retrieved successfully EFalse otherwise
+@param aRect - TRect to be filled with data
+@param aTag - descriptor tag for rectangle
+@param aSection descriptor containing test step data used for formatting test store query
+@pre None
+@post When successfull, aRect contains the rect parameter
+*/
+	{
+	TPoint topLeft;
+	TPoint bottomRight;
+
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+
+	TRect	tmp(aRect);
+	tempStore.Format(KRectTop(), &aTag);
+	GetIntFromConfig(aSection, tempStore, aRect.iTl.iY);
+
+	tempStore.Format(KRectBottom(), &aTag);
+	GetIntFromConfig(aSection, tempStore, aRect.iBr.iY);
+
+	tempStore.Format(KRectLeft(), &aTag);
+	GetIntFromConfig(aSection, tempStore, aRect.iTl.iX);
+
+	tempStore.Format(KRectRight(), &aTag);
+	GetIntFromConfig(aSection, tempStore, aRect.iBr.iX);
+
+	return tmp != aRect;
+	}
+
+TBool CT_MMDataCamera::GetParam(
+		TSize&								aSize,
+		const TDesC&						aTag,
+		const TDesC&						aSection)
+/**
+Utility function GetParam - Retrieves a ini file TRect parameter
+@internalComponent
+@return ETrue if parameter retrieved successfully EFalse otherwise
+@param aSize - TSize to be filled with data
+@param aTag - descriptor tag for size
+@param aSection descriptor containing test step data used for formatting test store query
+@pre None
+@post When successfull, aRect contains the rect parameter
+*/
+	{
+
+	TBuf<KMaxTestExecuteCommandLength> tempStore;
+
+	TSize	tmp(aSize);
+	tempStore.Format(KSizeWidth(), &aTag);
+	GetIntFromConfig(aSection, tempStore, aSize.iWidth);
+
+	tempStore.Format(KSizeHeight(), &aTag);
+	GetIntFromConfig(aSection, tempStore, aSize.iHeight);
+
+	return tmp != aSize;
+	}
+
+TBool CT_MMDataCamera::GetParam(
+		TCameraInfo::TCameraOrientation&	aOrientation,
+		const TDesC&						aSection)
+/**
+Utility function - GetParam - Retrieves a ini file TCameraInfo::TCameraOrientation parameter
+@internalComponent
+@return ETrue if parameter retrieved successfully EFalse otherwise
+@param aOrientation - CameraInfo::TCameraOrientation to be filled with data
+@param aSection descriptor containing test step data used for formatting test store query
+@pre None
+@post When successfull, aOrientation contains the camera format parameter
+*/
+	{
+	TPtrC	orientationDes;
+	TBool	ret = GetStringFromConfig(aSection, KOrientation(), orientationDes);
+	if(ret)
+		{
+		ret = ConvertToOrientation(orientationDes, aOrientation);
+		}
+	return ret;
+	}
+
+TBool CT_MMDataCamera::ConvertToCameraFormat(const TDesC& aFormatDes, CCamera::TFormat& aFormat)
+/**
+Retrieves a CCamera::TFormat value represented by a human readable string
+@internalComponent
+@released static helper function
+@return ETrue if value retreieved ok, otherwise EFalse
+@param aFormatDes a const descriptor containing the human readable string
+@param aFormat a CCamera::TFormat reference in which the relevant value will be placed
+@pre N/A (static)
+@post N/A (static)
+*/
+	{
+	TBool	ret = ETrue;
+	if(aFormatDes == KFormatMonochrome)
+		{
+		aFormat = CCamera::EFormatMonochrome;
+		}
+	else if(aFormatDes == KFormat16bitRGB444)
+		{
+		aFormat = CCamera::EFormat16bitRGB444;
+		}
+	else if(aFormatDes == KFormat16BitRGB565)
+		{
+		aFormat = CCamera::EFormat16BitRGB565;
+		}
+	else if(aFormatDes == KFormat32BitRGB888)
+		{
+		aFormat = CCamera::EFormat32BitRGB888;
+		}
+	else if(aFormatDes == KFormatJpeg)
+		{
+		aFormat = CCamera::EFormatJpeg;
+		}
+	else if(aFormatDes == KFormatExif)
+		{
+		aFormat = CCamera::EFormatExif;
+		}
+	else if(aFormatDes == KFormatFbsBitmapColor4K)
+		{
+		aFormat = CCamera::EFormatFbsBitmapColor4K;
+		}
+	else if(aFormatDes == KFormatFbsBitmapColor64K)
+		{
+	 	aFormat = CCamera::EFormatFbsBitmapColor64K;
+		}
+	else if(aFormatDes == KFormatFbsBitmapColor16M)
+		{
+		aFormat = CCamera::EFormatFbsBitmapColor16M;
+		}
+	else if(aFormatDes == KFormatUserDefined)
+		{
+		aFormat = CCamera::EFormatUserDefined;
+		}
+	else if(aFormatDes == KFormatYUV420Interleaved)
+		{
+		aFormat = CCamera::EFormatYUV420Interleaved;
+		}
+	else if(aFormatDes == KFormatYUV420Planar)
+		{
+		aFormat = CCamera::EFormatYUV420Planar;
+		}
+	else if(aFormatDes == KFormatYUV422)
+		{
+		aFormat = CCamera::EFormatYUV422;
+		}
+	else if(aFormatDes == KFormatYUV422Reversed)
+		{
+		aFormat = CCamera::EFormatYUV422Reversed;
+		}
+	else if(aFormatDes == KFormatYUV444)
+		{
+		aFormat = CCamera::EFormatYUV444;
+		}
+	else if(aFormatDes == KFormatYUV420SemiPlanar)
+		{
+		aFormat = CCamera::EFormatYUV420SemiPlanar;
+		}
+	else if(aFormatDes == KFormatFbsBitmapColor16MU)
+		{
+		aFormat = CCamera::EFormatFbsBitmapColor16MU;
+		}
+	else
+		{
+		ret = EFalse;
+		}
+	return ret;
+	}
+
+TBool CT_MMDataCamera::ConvertToCameraExposure(const TDesC& aExposureDes, CCamera::TExposure& aExposure)
+/**
+Retrieves a CCamera::TExposure value represented by a human readable string
+@internalComponent
+@released static helper function
+@return ETrue if value retreieved ok, otherwise EFalse
+@param aExposureDes a const descriptor containing the human readable string
+@param aExposure a CCamera::TExposure reference in which the relevant value will be placed
+@pre N/A (static)
+@post N/A (static)
+*/
+	{
+	TBool	ret = ETrue;
+	if(aExposureDes == KExposureAuto)
+		{
+		aExposure = CCamera::EExposureAuto;
+		}
+	else if(aExposureDes == KExposureNight)
+		{
+		aExposure = CCamera::EExposureNight;
+		}
+	else if(aExposureDes == KExposureBacklight)
+		{
+		aExposure = CCamera::EExposureBacklight;
+		}
+	else if(aExposureDes == KExposureCenter)
+		{
+		aExposure = CCamera::EExposureCenter;
+		}
+	else if(aExposureDes == KExposureSport)
+		{
+		aExposure = CCamera::EExposureSport;
+		}
+	else if(aExposureDes == KExposureVeryLong)
+		{
+		aExposure = CCamera::EExposureVeryLong;
+		}
+	else if(aExposureDes == KExposureSnow)
+		{
+		aExposure = CCamera::EExposureSnow;
+		}
+	else if(aExposureDes == KExposureBeach)
+		{
+		aExposure = CCamera::EExposureBeach;
+		}
+	else if(aExposureDes == KExposureProgram)
+		{
+		aExposure = CCamera::EExposureProgram;
+		}
+	else if(aExposureDes == KExposureAperturePriority)
+		{
+		aExposure = CCamera::EExposureAperturePriority;
+		}
+	else if(aExposureDes == KExposureShutterPriority)
+		{
+		aExposure = CCamera::EExposureShutterPriority;
+		}
+	else if(aExposureDes == KExposureManual)
+		{
+		aExposure = CCamera::EExposureManual;
+		}
+	else if(aExposureDes == KExposureSuperNight)
+		{
+		aExposure = CCamera::EExposureSuperNight;
+		}
+	else if(aExposureDes == KExposureInfra)
+		{
+		aExposure = CCamera::EExposureInfra;
+		}
+	else
+		{
+		ret = EFalse;
+		}
+	return ret;
+	}
+
+TBool CT_MMDataCamera::ConvertToCameraFlash(const TDesC& aFlashDes, CCamera::TFlash& aFlash)
+/**
+Retrieves a CCamera::TFlash value represented by a human readable string
+@internalComponent
+@released static helper function
+@return ETrue if value retreieved ok, otherwise EFalse
+@param aFlashDes a const descriptor containing the human readable string
+@param aFlash a CCamera::TFlash reference in which the relevant value will be placed
+@pre N/A (static)
+@post N/A (static)
+*/
+	{
+	TBool	ret = ETrue;
+	if(aFlashDes == KFlashNone)
+		{
+	 	aFlash = CCamera::EFlashNone;
+		}
+	else if(aFlashDes == KFlashAuto)
+		{
+		aFlash = CCamera::EFlashAuto;
+		}
+	else if(aFlashDes == KFlashForced)
+		{
+	 	 aFlash = CCamera::EFlashForced;
+		}
+	else if(aFlashDes == KFlashFillIn)
+		{
+		aFlash = CCamera::EFlashFillIn;
+		}
+	else if(aFlashDes == KFlashRedEyeReduce)
+		{
+		aFlash = CCamera::EFlashRedEyeReduce;
+		}
+	else if(aFlashDes == KFlashSlowFrontSync)
+		{
+		aFlash = CCamera::EFlashSlowFrontSync;
+		}
+	else if(aFlashDes == KFlashSlowRearSync)
+		{
+		aFlash = CCamera::EFlashSlowRearSync;
+		}
+	else if(aFlashDes == KFlashManual)
+		{
+	 	aFlash = CCamera::EFlashManual;
+		}
+	else
+		{
+		ret = EFalse;
+		}
+	return ret;
+	}
+
+TBool CT_MMDataCamera::ConvertToCameraWhiteBalance(const TDesC& aWhiteBalanceDes, CCamera::TWhiteBalance& aWhiteBalance)
+/**
+Retrieves a CCamera::TWhiteBalance value represented by a human readable string
+@internalComponent
+@released static helper function
+@return ETrue if value retreieved ok, otherwise EFalse
+@param aWhiteBalenceDes a const descriptor containing the human readable string
+@param aWhiteBalance a CCamera::TWhiteBalance reference in which the relevant value will be placed
+@pre N/A (static)
+@post N/A (static)
+*/
+	{
+	TBool	ret = ETrue;
+	if(aWhiteBalanceDes == KWBAuto)
+		{
+		aWhiteBalance = CCamera::EWBAuto;
+		}
+	else if(aWhiteBalanceDes == KWBCloudy)
+		{
+		aWhiteBalance = CCamera::EWBCloudy;
+		}
+	else if(aWhiteBalanceDes == KWBTungsten)
+		{
+		aWhiteBalance = CCamera::EWBTungsten;
+		}
+	else if(aWhiteBalanceDes == KWBFluorescent)
+		{
+		aWhiteBalance = CCamera::EWBFluorescent;
+		}
+	else if(aWhiteBalanceDes == KWBFlash)
+		{
+		aWhiteBalance = CCamera::EWBFlash;
+		}
+	else if(aWhiteBalanceDes == KWBSnow)
+		{
+		aWhiteBalance = CCamera::EWBSnow;
+		}
+	else if(aWhiteBalanceDes == KWBBeach)
+		{
+		aWhiteBalance = CCamera::EWBBeach;
+		}
+	else if(aWhiteBalanceDes == KWBManual)
+		{
+		aWhiteBalance = CCamera::EWBManual;
+		}
+	else
+		{
+		ret = EFalse;
+		}
+	return ret;
+	}
+
+const TDesC& CT_MMDataCamera::GetParamString(const CCamera::TWhiteBalance aWb)
+/**
+Retrieves the human readable equivalent for a CCamera::TWhiteBalance value
+@internalComponent
+@released static helper function
+@return an unmodifiable descriptor containing the human readable string
+@param aWb a CCamera::TWhiteBalance value
+@pre N/A (static)
+@post N/A (static)
+*/
+	{
+	switch ( aWb )
+		{
+	case CCamera::EWBAuto:
+		return KWBAuto();
+	case CCamera::EWBCloudy:
+		return KWBCloudy();
+	case CCamera::EWBTungsten:
+		return KWBTungsten();
+	case CCamera::EWBFluorescent:
+		return KWBFluorescent();
+	case CCamera::EWBFlash:
+		return KWBFlash();
+	case CCamera::EWBSnow:
+		return KWBSnow();
+	case CCamera::EWBBeach:
+		return KWBBeach();
+	case CCamera::EWBManual:
+		return KWBManual();
+	default:
+		break;
+		};
+	return KUnknown();
+	}
+
+const TDesC& CT_MMDataCamera::GetParamString(const CCamera::TFlash aFlash)
+/**
+Retrieves the human readable equivalent for a CCamera::TFlash value
+@internalComponent
+@released static helper function
+@return an unmodifiable descriptor containing the human readable string
+@param aFlash a CCamera::TFlash value
+@pre N/A (static)
+@post N/A (static)
+*/
+	{
+	switch ( aFlash )
+		{
+	case CCamera::EFlashNone:
+		return KFlashNone();
+	case CCamera::EFlashAuto:
+		return KFlashAuto();
+	case CCamera::EFlashForced:
+		return KFlashForced();
+	case CCamera::EFlashFillIn:
+		return KFlashFillIn();
+	case CCamera::EFlashRedEyeReduce:
+		return KFlashRedEyeReduce();
+	case CCamera::EFlashSlowFrontSync:
+		return KFlashSlowFrontSync();
+	case CCamera::EFlashSlowRearSync:
+		return KFlashSlowRearSync();
+	case CCamera::EFlashManual:
+		return KFlashManual();
+	default:
+		break;
+		};
+	return KUnknown();
+	}
+
+const TDesC& CT_MMDataCamera::GetParamString(const CCamera::TExposure aExposure)
+/**
+Retrieves the human readable equivalent for a CCamera::TExposure value
+@internalComponent
+@released static helper function
+@return an unmodifiable descriptor containing the human readable string
+@param aExposure a CCamera::TExposure value
+@pre N/A (static)
+@post N/A (static)
+*/
+	{
+	switch ( aExposure )
+		{
+	case CCamera::EExposureAuto:
+		return KExposureAuto();
+	case CCamera::EExposureNight:
+		return KExposureNight();
+	case CCamera::EExposureBacklight:
+		return KExposureBacklight();
+	case CCamera::EExposureCenter:
+		return KExposureCenter();
+	case CCamera::EExposureSport:
+		return KExposureSport;
+	case CCamera::EExposureVeryLong:
+		return KExposureVeryLong();
+	case CCamera::EExposureSnow:
+		return KExposureSnow();
+	case CCamera::EExposureBeach:
+		return KExposureBeach();
+	case CCamera::EExposureProgram:
+		return KExposureProgram();
+	case CCamera::EExposureAperturePriority:
+		return KExposureAperturePriority;
+	case CCamera::EExposureShutterPriority:
+		return KExposureShutterPriority;
+	case CCamera::EExposureManual:
+		return KExposureManual();
+	case CCamera::EExposureSuperNight:
+		return KExposureSuperNight();
+	case CCamera::EExposureInfra:
+		return KExposureInfra;
+	default:
+		break;
+		};
+	return KUnknown();
+	}
+
+const TDesC& CT_MMDataCamera::GetParamString(const CCamera::TFormat aFormat)
+/**
+Retrieves the human readable equivalent for a CCamera::TFormat value
+@internalComponent
+@released static helper function
+@return an unmodifiable descriptor containing the human readable string
+@param aExposure a CCamera::TFormat value
+@pre N/A (static)
+@post N/A (static)
+*/
+	{
+	switch ( aFormat )
+		{
+	case CCamera::EFormatMonochrome:
+		return KFormatMonochrome;
+	case CCamera::EFormat16bitRGB444:
+		return KFormat16bitRGB444;
+	case CCamera::EFormat16BitRGB565:
+		return KFormat16BitRGB565;
+	case CCamera::EFormat32BitRGB888:
+		return KFormat32BitRGB888;
+	case CCamera::EFormatJpeg:
+		return KFormatJpeg;
+	case CCamera::EFormatExif:
+		return KFormatExif;
+	case CCamera::EFormatFbsBitmapColor4K:
+		return KFormatFbsBitmapColor4K;
+	case CCamera::EFormatFbsBitmapColor64K:
+		return KFormatFbsBitmapColor64K;
+	case CCamera::EFormatFbsBitmapColor16M:
+		return KFormatFbsBitmapColor16M;
+	case CCamera::EFormatUserDefined:
+		return KFormatUserDefined;
+	case CCamera::EFormatYUV420Interleaved:
+		return KFormatYUV420Interleaved;
+	case CCamera::EFormatYUV420Planar:
+		return KFormatYUV420Planar;
+	case CCamera::EFormatYUV422:
+		return KFormatYUV422;
+	case CCamera::EFormatYUV422Reversed:
+		return KFormatYUV422Reversed;
+	case CCamera::EFormatYUV444:
+		return KFormatYUV444;
+	case CCamera::EFormatYUV420SemiPlanar:
+		return KFormatYUV420SemiPlanar;
+	case CCamera::EFormatFbsBitmapColor16MU:
+		return KFormatFbsBitmapColor16MU;
+	default:
+		break;
+		};
+	return KUnknown();
+	}
+
+TBool CT_MMDataCamera::ConvertToOrientation(
+		const TDesC&						aOrientationDes,
+		TCameraInfo::TCameraOrientation&	aOrientation)
+/**
+Retrieves a TCameraOrientation value represented by a human readable string
+@internalComponent
+@released static helper function
+@return ETrue if value retreieved ok, otherwise EFalse
+@param aOrientationDes a const descriptor containing the human readable string
+@param aOrientation a TCameraOrientation reference in which the relevant value will be placed
+@pre N/A (static)
+@post N/A (static)
+*/
+	{
+	TBool ret = ETrue;
+	if ( aOrientationDes == KOrientationOutwards )
+		{
+		aOrientation = TCameraInfo::EOrientationOutwards;
+		}
+	else if(aOrientationDes == KOrientationInwards)
+		{
+		aOrientation = TCameraInfo::EOrientationInwards;
+		}
+	else if(aOrientationDes == KOrientationMobile)
+		{
+		aOrientation = TCameraInfo::EOrientationMobile;
+		}
+	else if(aOrientationDes == KOrientationUnknown)
+		{
+		aOrientation = TCameraInfo::EOrientationUnknown;
+		}
+	else
+		{
+		ret = EFalse;
+		}
+	return ret;
+	}
+
+const TDesC& CT_MMDataCamera::GetParamString(TCameraInfo::TCameraOrientation aOrientation)
+/**
+Retrieves the human readable equivalent for a TCameraInfo::TCameraOrientation value
+@internalComponent
+@released static helper function
+@return an unmodifiable descriptor containing the human readable string
+@param aOrientation CameraInfo::TCameraOrientation
+@pre N/A (static)
+@post N/A (static)
+*/
+	{
+	switch ( aOrientation )
+		{
+	case TCameraInfo::EOrientationOutwards:
+		return KOrientationOutwards;
+	case TCameraInfo::EOrientationInwards:
+		return KOrientationInwards;
+	case TCameraInfo::EOrientationMobile:
+		return KOrientationMobile;
+	case TCameraInfo::EOrientationUnknown:
+		return KOrientationUnknown;
+	default:
+		break;
+		};
+	return KUnknown();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/ecam/T_Camera/testdata/MM-ECM-PublicApi.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1883 @@
+[include]
+file1			=\multimedia\t_multimedia.ini
+
+[MM-ECM-PublicApi-0001-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0001-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0001-001-EnumerateCaptureSizes_command07]
+format			=EFormatFbsBitmapColor64K
+
+
+[MM-ECM-PublicApi-0001-001-CaptureImage_command11]
+bitmapfile		=\multimedia\temp.mbm
+
+
+[MM-ECM-PublicApi-0002-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0002-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0002-001-SetBrightnessL_command06]
+brightness		=66
+
+[MM-ECM-PublicApi-0002-001-Brightness_command07]
+brightness		=66
+
+[MM-ECM-PublicApi-0002-001-SetContrastL_command08]
+contrast		=53
+
+[MM-ECM-PublicApi-0002-001-Contrast_command09]
+contrast		=53
+
+[MM-ECM-PublicApi-0002-001-SetJpegQuality_command12]
+jpegQuality		=81
+
+[MM-ECM-PublicApi-0002-001-JpegQuality_command13]
+jpegQuality		=81
+
+[MM-ECM-PublicApi-0002-001-SetViewFinderMirrorL_command14]
+viewFinderMirror	=FALSE
+
+[MM-ECM-PublicApi-0002-001-ViewFinderMirror_command15]
+viewFinderMirror	=FALSE
+
+[MM-ECM-PublicApi-0002-001-SetWhiteBalanceL_command16]
+whiteBalance		=EWBFluorescent
+
+[MM-ECM-PublicApi-0002-001-WhiteBalance_command17]
+whiteBalance		=EWBFluorescent
+
+
+[MM-ECM-PublicApi-0003-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0003-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0003-001-ViewFinderActive_command06]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0003-001-ViewFinderActive_command08]
+viewFinderActive	=TRUE
+
+[MM-ECM-PublicApi-0003-001-ViewFinderActive_command11]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0004-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0004-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0004-001-ViewFinderActive_command06]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0004-001-ViewFinderActive_command09]
+viewFinderActive	=TRUE
+
+[MM-ECM-PublicApi-0004-001-ViewFinderActive_command11]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0005-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0005-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0005-001-ViewFinderActive_command06]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0005-001-ViewFinderActive_command09]
+viewFinderActive	=TRUE
+
+[MM-ECM-PublicApi-0005-001-ViewFinderActive_command11]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0006-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0006-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0006-001-NewDuplicateL_command07]
+camera			=camera1
+
+
+[MM-ECM-PublicApi-0007-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0007-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0007-001-NewDuplicateL_command07]
+observerInterface	=MObserver2
+camera=camera1
+
+
+[MM-ECM-PublicApi-0008-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0008-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0008-001-EnumerateVideoFrameRates_command06]
+amount			=6
+format			=EFormatFbsBitmapColor64K
+
+[MM-ECM-PublicApi-0008-001-EnumerateVideoFrameSizes_command07]
+amount			=2
+format			=EFormatFbsBitmapColor64K
+
+[MM-ECM-PublicApi-0008-001-PrepareVideoCaptureL_command08]
+format			=EFormat16bitRGB444
+buffersToUse		=2
+
+[MM-ECM-PublicApi-0008-001-FrameRate_command09]
+frameRate		=1
+
+[MM-ECM-PublicApi-0008-001-FramesPerBuffer_command10]
+framesPerBuffer		=1
+
+[MM-ECM-PublicApi-0008-001-GetFrameSize_command11]
+width			=128
+height			=96
+
+[MM-ECM-PublicApi-0008-001-VideoCaptureActive_command13]
+videoCaptureActive	=1
+
+[MM-ECM-PublicApi-0008-001-VideoCaptureActive_command15]
+videoCaptureActive	=0
+
+
+[MM-ECM-PublicApi-0009-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0009-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0009-001-PrepareImageCaptureL_command07]
+cameraFormat		=EFormat16bitRGB444
+
+[MM-ECM-PublicApi-0009-001-CaptureImage_command08]
+bitmapfile		=\multimedia\temp.mbm
+
+
+[MM-ECM-PublicApi-0010-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0010-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0010-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormatMonochrome
+
+[MM-ECM-PublicApi-0010-001-CaptureImage_command07]
+bitmapfile		=\multimedia\temp.mbm
+
+
+[MM-ECM-PublicApi-0011-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0011-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0011-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormat16BitRGB565
+
+[MM-ECM-PublicApi-0011-001-CaptureImage_command07]
+bitmapfile		=\multimedia\temp.mbm
+
+
+[MM-ECM-PublicApi-0012-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0012-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0012-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormat32BitRGB888
+
+[MM-ECM-PublicApi-0012-001-CaptureImage_command07]
+bitmapfile		=\multimedia\temp.mbm
+
+
+[MM-ECM-PublicApi-0013-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0013-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0013-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormatJpeg
+
+[MM-ECM-PublicApi-0013-001-CaptureImage_command07]
+bitmapfile		=\multimedia\temp.mbm
+
+
+[MM-ECM-PublicApi-0014-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0014-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0014-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormatExif
+
+[MM-ECM-PublicApi-0014-001-CaptureImage_command07]
+bitmapfile		=\multimedia\temp.mbm
+
+
+[MM-ECM-PublicApi-0015-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0015-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0015-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormatFbsBitmapColor4K
+
+[MM-ECM-PublicApi-0015-001-CaptureImage_command07]
+bitmapfile		=\multimedia\temp.mbm
+
+
+[MM-ECM-PublicApi-0016-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0016-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0016-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormatFbsBitmapColor64K
+
+[MM-ECM-PublicApi-0016-001-CaptureImage_command07]
+bitmapfile		=\multimedia\temp.mbm
+
+[MM-ECM-PublicApi-0017-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0017-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0017-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormatFbsBitmapColor16M
+
+[MM-ECM-PublicApi-0017-001-CaptureImage_command07]
+bitmapfile		=\multimedia\temp.mbm
+
+
+[MM-ECM-PublicApi-0018-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0018-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0018-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormatUserDefined
+
+[MM-ECM-PublicApi-0018-001-CaptureImage_command07]
+bitmapfile		=\multimedia\temp.mbm
+
+
+[MM-ECM-PublicApi-0019-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0019-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0019-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormatYUV420Interleaved
+
+[MM-ECM-PublicApi-0019-001-CaptureImage_command07]
+bitmapfile		=\multimedia\temp.mbm
+
+
+[MM-ECM-PublicApi-0020-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0020-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0020-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormatYUV420Planar
+
+[MM-ECM-PublicApi-0020-001-CaptureImage_command07]
+bitmapfile		=\multimedia\temp.mbm
+
+
+[MM-ECM-PublicApi-0021-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0021-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0021-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormatYUV422
+
+
+[MM-ECM-PublicApi-0022-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0022-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0022-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormatYUV422Reversed
+
+
+[MM-ECM-PublicApi-0023-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0023-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0023-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormatYUV444
+
+
+[MM-ECM-PublicApi-0024-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0024-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0024-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormatYUV420SemiPlanar
+
+
+[MM-ECM-PublicApi-0025-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0025-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0025-001-PrepareImageCaptureL_command06]
+cameraFormat		=EFormatFbsBitmapColor16MU
+
+
+[MM-ECM-PublicApi-0026-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0026-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0026-001-SetExposureL_command06]
+exposure		=EExposureAuto
+
+[MM-ECM-PublicApi-0026-001-Exposure_command07]
+exposure		=EExposureAuto
+
+[MM-ECM-PublicApi-0026-001-SetExposureL_command08]
+exposure		=EExposureNight
+
+[MM-ECM-PublicApi-0026-001-Exposure_command09]
+exposure		=EExposureNight
+
+[MM-ECM-PublicApi-0026-001-SetExposureL_command10]
+exposure		=EExposureBacklight
+
+[MM-ECM-PublicApi-0026-001-Exposure_command11]
+exposure		=EExposureBacklight
+
+[MM-ECM-PublicApi-0026-001-SetExposureL_command12]
+exposure		=EExposureCenter
+
+[MM-ECM-PublicApi-0026-001-Exposure_command13]
+exposure		=EExposureCenter
+
+[MM-ECM-PublicApi-0026-001-SetExposureL_command14]
+exposure		=EExposureSport
+
+[MM-ECM-PublicApi-0026-001-Exposure_command15]
+exposure		=EExposureSport
+
+[MM-ECM-PublicApi-0026-001-SetExposureL_command16]
+exposure		=EExposureVeryLong
+
+[MM-ECM-PublicApi-0026-001-Exposure_command17]
+exposure		=EExposureVeryLong
+
+[MM-ECM-PublicApi-0026-001-SetExposureL_command18]
+exposure		=EExposureSnow
+
+[MM-ECM-PublicApi-0026-001-Exposure_command19]
+exposure		=EExposureSnow
+
+[MM-ECM-PublicApi-0026-001-SetExposureL_command20]
+exposure		=EExposureBeach
+
+[MM-ECM-PublicApi-0026-001-Exposure_command21]
+exposure		=EExposureBeach
+
+[MM-ECM-PublicApi-0026-001-SetExposureL_command22]
+exposure		=EExposureProgram
+
+[MM-ECM-PublicApi-0026-001-Exposure_command23]
+exposure		=EExposureProgram
+
+[MM-ECM-PublicApi-0026-001-SetExposureL_command24]
+exposure		=EExposureAperturePriority
+
+[MM-ECM-PublicApi-0026-001-Exposure_command25]
+exposure		=EExposureAperturePriority
+
+[MM-ECM-PublicApi-0026-001-SetExposureL_command26]
+exposure		=EExposureShutterPriority
+
+[MM-ECM-PublicApi-0026-001-Exposure_command27]
+exposure		=EExposureShutterPriority
+
+[MM-ECM-PublicApi-0026-001-SetExposureL_command28]
+exposure		=EExposureManual
+
+[MM-ECM-PublicApi-0026-001-Exposure_command29]
+exposure		=EExposureManual
+
+[MM-ECM-PublicApi-0026-001-SetExposureL_command30]
+exposure		=EExposureSuperNight
+
+[MM-ECM-PublicApi-0026-001-Exposure_command31]
+exposure		=EExposureSuperNight
+
+[MM-ECM-PublicApi-0026-001-SetExposureL_command32]
+exposure		=EExposureInfra
+
+[MM-ECM-PublicApi-0026-001-Exposure_command33]
+exposure		=EExposureInfra
+
+
+[MM-ECM-PublicApi-0027-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0027-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0027-001-SetFlashL_command06]
+flash			=EFlashNone
+
+[MM-ECM-PublicApi-0027-001-Flash_command07]
+flash			=EFlashNone
+
+[MM-ECM-PublicApi-0027-001-SetFlashL_command08]
+flash			=EFlashAuto
+
+[MM-ECM-PublicApi-0027-001-Flash_command09]
+flash			=EFlashAuto
+
+[MM-ECM-PublicApi-0027-001-SetFlashL_command10]
+flash			=EFlashForced
+
+[MM-ECM-PublicApi-0027-001-Flash_command11]
+flash			=EFlashForced
+
+[MM-ECM-PublicApi-0027-001-SetFlashL_command12]
+flash			=EFlashFillIn
+
+[MM-ECM-PublicApi-0027-001-Flash_command13]
+flash			=EFlashFillIn
+
+[MM-ECM-PublicApi-0027-001-SetFlashL_command14]
+flash			=EFlashRedEyeReduce
+
+[MM-ECM-PublicApi-0027-001-Flash_command15]
+flash			=EFlashRedEyeReduce
+
+[MM-ECM-PublicApi-0027-001-SetFlashL_command16]
+flash			=EFlashSlowFrontSync
+
+[MM-ECM-PublicApi-0027-001-Flash_command17]
+flash			=EFlashSlowFrontSync
+
+[MM-ECM-PublicApi-0027-001-SetFlashL_command18]
+flash			=EFlashSlowRearSync
+
+[MM-ECM-PublicApi-0027-001-Flash_command19]
+flash			=EFlashSlowRearSync
+
+[MM-ECM-PublicApi-0027-001-SetFlashL_command20]
+flash			=EFlashManual
+
+[MM-ECM-PublicApi-0027-001-Flash_command21]
+flash			=EFlashManual
+
+
+[MM-ECM-PublicApi-0028-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0028-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command06]
+whiteBalance		=EWBAuto
+
+[MM-ECM-PublicApi-0028-001-WhiteBalance_command07]
+whiteBalance		=EWBAuto
+
+[MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command08]
+whiteBalance		=EWBCloudy
+
+[MM-ECM-PublicApi-0028-001-WhiteBalance_command09]
+whiteBalance		=EWBCloudy
+
+[MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command10]
+whiteBalance		=EWBTungsten
+
+[MM-ECM-PublicApi-0028-001-WhiteBalance_command11]
+whiteBalance		=EWBTungsten
+
+[MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command12]
+whiteBalance		=EWBFluorescent
+
+[MM-ECM-PublicApi-0028-001-WhiteBalance_command13]
+whiteBalance		=EWBFluorescent
+
+[MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command14]
+whiteBalance		=EWBFlash
+
+[MM-ECM-PublicApi-0028-001-WhiteBalance_command15]
+whiteBalance		=EWBFlash
+
+[MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command16]
+whiteBalance		=EWBSnow
+
+[MM-ECM-PublicApi-0028-001-WhiteBalance_command17]
+whiteBalance		=EWBSnow
+
+[MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command18]
+whiteBalance		=EWBBeach
+
+[MM-ECM-PublicApi-0028-001-WhiteBalance_command19]
+whiteBalance		=EWBBeach
+
+[MM-ECM-PublicApi-0028-001-SetWhiteBalanceL_command20]
+whiteBalance		=EWBManual
+
+[MM-ECM-PublicApi-0028-001-WhiteBalance_command21]
+whiteBalance		=EWBManual
+
+
+[MM-ECM-PublicApi-0029-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0029-001-NewL_command02]
+ppcnt			=50
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0029-001-CameraInfo_command05]
+orientation		=EOrientationOutwards
+imageClippingSupported	=FALSE
+vfDirectSupported	=TRUE
+videoCaptureSupported	=TRUE
+brightnessSupported	=TRUE
+vfBitmapsSupported	=TRUE
+videoClippingSupported	=FALSE
+vfMirrorSupported	=FALSE
+contrastSupported	=TRUE
+imageCaptureSupported	=TRUE
+vfClippingSupported	=TRUE
+
+
+[MM-ECM-PublicApi-0030-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0030-001-NewL_command02]
+ppcnt			=50
+camIndex		={default_camera,invalidstill}
+
+
+[MM-ECM-PublicApi-0033-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0033-001-NewL_command02]
+camIndex		={default_camera,invalidstill}
+
+
+[MM-ECM-PublicApi-0034-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0034-001-NewL_command02]
+ppcnt			=0
+camIndex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0034-001-NewDuplicateL_command07]
+observerInterface	=MObserver2
+camera			=camera1
+handle			=-100
+
+
+[MM-ECM-PublicApi-0035-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0035-001-NewL_command02]
+ppcnt			=0
+camIndex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0035-001-NewDuplicateL_command07]
+camera			=camera1
+handle			=-100
+
+
+[MM-ECM-PublicApi-0036-001-NewL_command01]
+ppcnt			=0
+camIndex		={default_camera,validstill}
+
+
+[MM-ECM-PublicApi-0037-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0037-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0037-001-SetZoomFactorL_command06]
+zoomFactor		=-1000
+
+
+[MM-ECM-PublicApi-0038-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0038-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0038-001-SetZoomFactorL_command06]
+zoomFactor		=1000
+
+
+[MM-ECM-PublicApi-0039-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0039-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0039-001-SetDigitalZoomFactorL_command06]
+zoomFactor		=-1000
+
+
+[MM-ECM-PublicApi-0040-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0040-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0040-001-SetDigitalZoomFactorL_command06]
+zoomFactor		=1000
+
+
+[MM-ECM-PublicApi-0041-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0041-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0041-001-SetContrastL_command06]
+contrast		=-2000
+
+[MM-ECM-PublicApi-0041-001-Contrast_command07]
+contrast		=-100
+
+
+[MM-ECM-PublicApi-0042-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0042-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0042-001-SetContrastL_command06]
+contrast		=2000
+
+[MM-ECM-PublicApi-0042-001-Contrast_command07]
+contrast		=100
+
+
+[MM-ECM-PublicApi-0043-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0043-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0043-001-SetBrightnessL_command06]
+brightness		=-2000
+
+[MM-ECM-PublicApi-0043-001-Brightness_command07]
+brightness		=-100
+
+
+[MM-ECM-PublicApi-0044-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0044-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0044-001-SetBrightnessL_command06]
+brightness		=2000
+
+[MM-ECM-PublicApi-0044-001-Brightness_command07]
+brightness		=100
+
+
+[MM-ECM-PublicApi-0045-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0045-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0045-001-SetFlashL_command06]
+flash			=100
+
+[MM-ECM-PublicApi-0045-001-Flash_command07]
+flash			=EFlashNone
+
+
+[MM-ECM-PublicApi-0046-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0046-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0046-001-SetExposureL_command06]
+exposure		=10000
+
+[MM-ECM-PublicApi-0046-001-Exposure_command07]
+exposure		=EExposureAuto
+
+
+[MM-ECM-PublicApi-0047-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0047-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0047-001-SetWhiteBalanceL_command06]
+whiteBalance		=100
+
+[MM-ECM-PublicApi-0047-001-WhiteBalance_command07]
+whiteBalance		=EWBAuto
+
+
+[MM-ECM-PublicApi-0048-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0048-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0048-001-ViewFinderActive_command06]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0048-001-StartViewFinderDirectL_command07]
+wsSession		=InvalidWsSession
+
+[MM-ECM-PublicApi-0048-001-ViewFinderActive_command09]
+viewFinderActive	=TRUE
+
+[MM-ECM-PublicApi-0048-001-ViewFinderActive_command11]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0049-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0049-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0049-001-ViewFinderActive_command06]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0049-001-StartViewFinderDirectL_command07]
+wsScreenDevice		=InvalidScreenDevice
+
+[MM-ECM-PublicApi-0049-001-ViewFinderActive_command10]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0050-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0050-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0050-001-ViewFinderActive_command06]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0050-001-StartViewFinderDirectL_command07]
+window			=InvalidWindow
+
+[MM-ECM-PublicApi-0050-001-ViewFinderActive_command10]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0053-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0053-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0053-001-ViewFinderActive_command06]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0053-001-StartViewFinderDirectL_command07]
+wsSession		=InvalidWsSession
+screenRectBottom	=0
+screenRectTop		=0
+screenRectRight		=100
+screenRectLeft		=100
+
+[MM-ECM-PublicApi-0053-001-ViewFinderActive_command09]
+viewFinderActive	=TRUE
+
+[MM-ECM-PublicApi-0053-001-ViewFinderActive_command11]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0054-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0054-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0054-001-ViewFinderActive_command06]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0054-001-StartViewFinderDirectL_command07]
+screenRectBottom	=0
+screenRectTop		=0
+screenRectRight		=100
+screenRectLeft		=100
+wsScreenDevice		=InvalidScreenDevice
+
+[MM-ECM-PublicApi-0054-001-ViewFinderActive_command10]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0055-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0055-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0055-001-ViewFinderActive_command06]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0055-001-StartViewFinderDirectL_command07]
+window			=InvalidWindow
+screenRectBottom	=0
+screenRectTop		=0
+screenRectRight		=100
+screenRectLeft		=100
+
+[MM-ECM-PublicApi-0055-001-ViewFinderActive_command10]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0057-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0057-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0057-001-ViewFinderActive_command05]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0057-001-ViewFinderActive_command09]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0058-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0058-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0058-001-ViewFinderActive_command05]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0058-001-StartViewFinderDirectL_command06]
+screenRectRight		=100
+screenRectBottom	=0
+screenRectTop		=0
+screenRectLeft		=100
+
+[MM-ECM-PublicApi-0058-001-ViewFinderActive_command09]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0059-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0059-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0059-001-ViewFinderActive_command04]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0059-001-ViewFinderActive_command08]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0060-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0060-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0060-001-ViewFinderActive_command04]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0060-001-StartViewFinderDirectL_command05]
+screenRectRight		=100
+screenRectBottom	=0
+screenRectTop		=0
+screenRectLeft		=100
+
+[MM-ECM-PublicApi-0060-001-ViewFinderActive_command08]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0061-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0061-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0061-001-ViewFinderActive_command05]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0061-001-ViewFinderActive_command09]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0062-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0062-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0062-001-ViewFinderActive_command04]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0062-001-ViewFinderActive_command08]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0063-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0063-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0063-001-ViewFinderActive_command05]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0063-001-StartViewFinderBitmapsL_command06]
+clipRectRight		=100
+clipRectBottom		=0
+clipRectTop		=0
+clipRectLeft		=100
+
+[MM-ECM-PublicApi-0063-001-ViewFinderActive_command09]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0064-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0064-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0064-001-ViewFinderActive_command04]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0064-001-StartViewFinderBitmapsL_command05]
+clipRectRight		=100
+clipRectBottom		=0
+clipRectTop		=0
+clipRectLeft		=100
+
+[MM-ECM-PublicApi-0064-001-ViewFinderActive_command08]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0066-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0066-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0066-001-ViewFinderActive_command05]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0066-001-ViewFinderActive_command09]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0067-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0067-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0067-001-ViewFinderActive_command04]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0067-001-ViewFinderActive_command08]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0068-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0068-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0068-001-ViewFinderActive_command05]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0068-001-StartViewFinderL_command06]
+clipRectRight		=100
+clipRectBottom		=0
+clipRectTop		=0
+clipRectLeft		=100
+
+[MM-ECM-PublicApi-0068-001-ViewFinderActive_command09]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0069-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0069-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0069-001-ViewFinderActive_command04]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0069-001-StartViewFinderL_command05]
+clipRectRight		=100
+clipRectBottom		=0
+clipRectTop		=0
+clipRectLeft		=100
+
+[MM-ECM-PublicApi-0069-001-ViewFinderActive_command08]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0073-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0073-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+
+[MM-ECM-PublicApi-0074-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0074-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+
+[MM-ECM-PublicApi-0075-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0075-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0075-001-PrepareImageCaptureL_command06]
+clipRectRight		=100
+clipRectBottom		=0
+clipRectTop		=0
+clipRectLeft		=100
+
+
+[MM-ECM-PublicApi-0076-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0076-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0076-001-PrepareImageCaptureL_command04]
+clipRectRight		=100
+clipRectBottom		=0
+clipRectTop		=0
+clipRectLeft		=100
+
+
+[MM-ECM-PublicApi-0077-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+
+[MM-ECM-PublicApi-0077-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+
+[MM-ECM-PublicApi-0077-001-PrepareImageCaptureL_command06]
+cameraFormat		=FFFFFFFF
+
+
+[MM-ECM-PublicApi-0078-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+
+[MM-ECM-PublicApi-0078-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+
+[MM-ECM-PublicApi-0078-001-PrepareImageCaptureL_command06]
+clipRectBottom		=0
+cameraFormat		=FFFFFFFF
+clipRectTop		=0
+clipRectRight		=100
+clipRectLeft		=100
+
+
+[MM-ECM-PublicApi-0079-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0079-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0079-001-PrepareImageCaptureL_command06]
+sizeIndex		=-1000
+
+
+[MM-ECM-PublicApi-0080-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0080-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0080-001-PrepareImageCaptureL_command06]
+clipRectBottom		=0
+sizeIndex		=-1000
+clipRectTop		=0
+clipRectRight		=100
+clipRectLeft		=100
+
+
+[MM-ECM-PublicApi-0082-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0082-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0082-001-PrepareImageCaptureL_command06]
+sizeIndex		=1000
+
+
+[MM-ECM-PublicApi-0083-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0083-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0083-001-PrepareImageCaptureL_command06]
+clipRectBottom		=0
+sizeIndex		=1000
+clipRectTop		=0
+clipRectRight		=100
+clipRectLeft		=100
+
+
+[MM-ECM-PublicApi-0084-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0084-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0084-001-EnumerateCaptureSizes_command07]
+sizeIndex		=-1000
+width			=0
+height			=0
+
+
+[MM-ECM-PublicApi-0085-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0085-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0085-001-EnumerateCaptureSizes_command07]
+sizeIndex		=1000
+width			=0
+height			=0
+
+
+[MM-ECM-PublicApi-0088-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0088-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+
+[MM-ECM-PublicApi-0089-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0089-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+
+[MM-ECM-PublicApi-0090-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0090-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0090-001-PrepareVideoCaptureL_command05]
+clipRectRight		=100
+clipRectBottom		=0
+clipRectTop		=0
+clipRectLeft	=100
+
+
+[MM-ECM-PublicApi-0091-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0091-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0091-001-PrepareVideoCaptureL_command04]
+clipRectRight		=100
+clipRectBottom		=0
+clipRectTop		=0
+clipRectLeft		=100
+
+
+[MM-ECM-PublicApi-0092-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0092-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0092-001-PrepareVideoCaptureL_command06]
+cameraFormat		=8000000
+
+
+[MM-ECM-PublicApi-0093-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0093-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0093-001-PrepareVideoCaptureL_command06]
+clipRectBottom		=0
+cameraFormat		=8000000
+clipRectTop		=0
+clipRectRight		=100
+clipRectLeft	=100
+
+
+[MM-ECM-PublicApi-0094-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0094-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0094-001-PrepareVideoCaptureL_command06]
+sizeIndex		=-1000
+
+
+[MM-ECM-PublicApi-0095-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0095-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0095-001-PrepareVideoCaptureL_command06]
+clipRectBottom		=0
+sizeIndex		=-1000
+clipRectTop		=0
+clipRectRight		=100
+clipRectLeft		=100
+
+
+[MM-ECM-PublicApi-0096-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0096-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0096-001-PrepareVideoCaptureL_command06]
+sizeIndex		=1000
+
+
+[MM-ECM-PublicApi-0097-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0097-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0097-001-PrepareVideoCaptureL_command06]
+clipRectBottom		=0
+sizeIndex		=1000
+clipRectTop		=0
+clipRectRight		=100
+clipRectLeft		=100
+
+
+[MM-ECM-PublicApi-0098-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0098-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0098-001-PrepareVideoCaptureL_command06]
+rateIndex		=-1000
+
+
+[MM-ECM-PublicApi-0099-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0099-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0099-001-PrepareVideoCaptureL_command06]
+rateIndex		=-1000
+clipRectTop		=0
+clipRectRight		=100
+clipRectBottom		=0
+clipRectLeft		=100
+
+
+[MM-ECM-PublicApi-0100-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0100-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0100-001-PrepareVideoCaptureL_command06]
+rateIndex		=1000
+
+
+[MM-ECM-PublicApi-0101-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0101-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0101-001-PrepareVideoCaptureL_command06]
+rateIndex		=1000
+clipRectTop		=0
+clipRectRight		=100
+clipRectBottom		=0
+clipRectLeft		=100
+
+
+[MM-ECM-PublicApi-0102-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0102-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0102-001-PrepareVideoCaptureL_command06]
+buffersToUse		=-1000
+
+
+[MM-ECM-PublicApi-0103-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0103-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0103-001-PrepareVideoCaptureL_command06]
+clipRectRight		=100
+clipRectBottom		=0
+clipRectTop		=0
+buffersToUse		=-1000
+clipRectLeft		=100
+
+
+[MM-ECM-PublicApi-0104-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0104-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0104-001-PrepareVideoCaptureL_command06]
+framesPerBuffer		=-1000
+
+
+[MM-ECM-PublicApi-0105-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0105-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0105-001-PrepareVideoCaptureL_command06]
+clipRectBottom		=0
+clipRectTop		=0
+clipRectRight		=100
+framesPerBuffer		=-1000
+clipRectLeft		=100
+
+
+[MM-ECM-PublicApi-0107-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0107-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0107-001-EnumerateVideoFrameSizes_command06]
+sizeIndex		=-1000
+width			=0
+height			=0
+
+
+[MM-ECM-PublicApi-0108-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0108-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0108-001-EnumerateVideoFrameSizes_command06]
+sizeIndex		=1000
+width			=0
+height			=0
+
+
+[MM-ECM-PublicApi-0110-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0110-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0110-001-EnumerateVideoFrameRates_command06]
+sizeIndex		=-1000
+frameRate		=0
+
+
+[MM-ECM-PublicApi-0111-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0111-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0111-001-EnumerateVideoFrameRates_command06]
+sizeIndex		=1000
+frameRate		=0
+
+
+[MM-ECM-PublicApi-0113-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0113-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0113-001-EnumerateVideoFrameRates_command06]
+rateIndex		=-1000
+frameRate		=0
+
+
+[MM-ECM-PublicApi-0114-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0114-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0114-001-EnumerateVideoFrameRates_command06]
+rateIndex		=1000
+frameRate		=0
+
+
+[MM-ECM-PublicApi-0115-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0115-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0115-001-EnumerateVideoFrameRates_command06]
+frameRate		=0
+exposure		=10000
+
+
+[MM-ECM-PublicApi-0116-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0116-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0116-001-SetJpegQuality_command06]
+jpegQuality		=-1000
+
+[MM-ECM-PublicApi-0116-001-JpegQuality_command07]
+jpegQuality		=-1000
+
+
+[MM-ECM-PublicApi-0117-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0117-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0117-001-SetJpegQuality_command06]
+jpegQuality		=1000
+
+[MM-ECM-PublicApi-0117-001-JpegQuality_command07]
+jpegQuality		=1000
+
+
+[MM-ECM-PublicApi-0118-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0118-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0118-001-NewDuplicateL_command04]
+camera			=camera1
+
+[MM-ECM-PublicApi-0118-001-EnumerateCaptureSizes_command09]
+format			=EFormatFbsBitmapColor64K
+
+[MM-ECM-PublicApi-0118-001-CaptureImage_command13]
+bitmapfile		=\multimedia\temp.mbm
+
+
+[MM-ECM-PublicApi-0119-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0119-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0119-001-NewDuplicateL_command04]
+observerInterface	=MObserver2
+camera			=camera1
+
+[MM-ECM-PublicApi-0119-001-SetBrightnessL_command08]
+brightness		=66
+
+[MM-ECM-PublicApi-0119-001-Brightness_command09]
+brightness		=66
+
+[MM-ECM-PublicApi-0119-001-SetContrastL_command10]
+contrast		=53
+
+[MM-ECM-PublicApi-0119-001-Contrast_command11]
+contrast		=53
+
+[MM-ECM-PublicApi-0119-001-SetJpegQuality_command14]
+jpegQuality		=81
+
+[MM-ECM-PublicApi-0119-001-JpegQuality_command15]
+jpegQuality		=81
+
+[MM-ECM-PublicApi-0119-001-SetViewFinderMirrorL_command16]
+viewFinderMirror	=FALSE
+
+[MM-ECM-PublicApi-0119-001-ViewFinderMirror_command17]
+viewFinderMirror	=FALSE
+
+[MM-ECM-PublicApi-0119-001-SetWhiteBalanceL_command18]
+whiteBalance		=EWBFluorescent
+
+[MM-ECM-PublicApi-0119-001-WhiteBalance_command19]
+whiteBalance		=EWBFluorescent
+
+
+[MM-ECM-PublicApi-0120-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0120-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0120-001-NewDuplicateL_command04]
+camera			=camera1
+
+[MM-ECM-PublicApi-0120-001-ViewFinderActive_command08]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0120-001-ViewFinderActive_command10]
+viewFinderActive	=TRUE
+
+[MM-ECM-PublicApi-0120-001-ViewFinderActive_command13]
+viewFinderActive	=FALSE
+
+
+[MM-ECM-PublicApi-0121-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0121-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0121-001-NewDuplicateL_command04]
+observerInterface	=MObserver2
+camera			=camera1
+
+[MM-ECM-PublicApi-0121-001-NewDuplicateL_command09]
+camera			=camera1
+
+
+[MM-ECM-PublicApi-0122-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0122-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0122-001-NewDuplicateL_command04]
+camera			=camera1
+
+[MM-ECM-PublicApi-0122-001-PrepareImageCaptureL_command09]
+cameraFormat		=EFormat16bitRGB444
+
+[MM-ECM-PublicApi-0122-001-CaptureImage_command10]
+bitmapfile		=\multimedia\temp.mbm
+
+
+[MM-ECM-PublicApi-0123-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0123-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0123-001-NewDuplicateL_command04]
+observerInterface	=MObserver2
+camera			=camera1
+
+[MM-ECM-PublicApi-0123-001-SetExposureL_command08]
+exposure		=EExposureAuto
+
+[MM-ECM-PublicApi-0123-001-Exposure_command09]
+exposure		=EExposureAuto
+
+[MM-ECM-PublicApi-0123-001-SetExposureL_command10]
+exposure		=EExposureNight
+
+[MM-ECM-PublicApi-0123-001-Exposure_command11]
+exposure		=EExposureNight
+
+[MM-ECM-PublicApi-0123-001-SetExposureL_command12]
+exposure		=EExposureBacklight
+
+[MM-ECM-PublicApi-0123-001-Exposure_command13]
+exposure		=EExposureBacklight
+
+[MM-ECM-PublicApi-0123-001-SetExposureL_command14]
+exposure		=EExposureCenter
+
+[MM-ECM-PublicApi-0123-001-Exposure_command15]
+exposure		=EExposureCenter
+
+[MM-ECM-PublicApi-0123-001-SetExposureL_command16]
+exposure		=EExposureSport
+
+[MM-ECM-PublicApi-0123-001-Exposure_command17]
+exposure		=EExposureSport
+
+
+[MM-ECM-PublicApi-0123-001-SetExposureL_command18]
+exposure		=EExposureVeryLong
+
+[MM-ECM-PublicApi-0123-001-Exposure_command19]
+exposure		=EExposureVeryLong
+
+[MM-ECM-PublicApi-0123-001-SetExposureL_command20]
+exposure		=EExposureSnow
+
+[MM-ECM-PublicApi-0123-001-Exposure_command21]
+exposure		=EExposureSnow
+
+[MM-ECM-PublicApi-0123-001-SetExposureL_command22]
+exposure		=EExposureBeach
+
+[MM-ECM-PublicApi-0123-001-Exposure_command23]
+exposure		=EExposureBeach
+
+[MM-ECM-PublicApi-0123-001-SetExposureL_command24]
+exposure		=EExposureProgram
+
+[MM-ECM-PublicApi-0123-001-Exposure_command25]
+exposure		=EExposureProgram
+
+[MM-ECM-PublicApi-0123-001-SetExposureL_command26]
+exposure		=EExposureAperturePriority
+
+[MM-ECM-PublicApi-0123-001-Exposure_command27]
+exposure		=EExposureAperturePriority
+
+[MM-ECM-PublicApi-0123-001-SetExposureL_command28]
+exposure		=EExposureShutterPriority
+
+[MM-ECM-PublicApi-0123-001-Exposure_command29]
+exposure		=EExposureShutterPriority
+
+[MM-ECM-PublicApi-0123-001-SetExposureL_command30]
+exposure		=EExposureManual
+
+[MM-ECM-PublicApi-0123-001-Exposure_command31]
+exposure		=EExposureManual
+
+[MM-ECM-PublicApi-0123-001-SetExposureL_command32]
+exposure		=EExposureSuperNight
+
+[MM-ECM-PublicApi-0123-001-Exposure_command33]
+exposure		=EExposureSuperNight
+
+[MM-ECM-PublicApi-0123-001-SetExposureL_command34]
+exposure		=EExposureInfra
+
+[MM-ECM-PublicApi-0123-001-Exposure_command35]
+exposure		=EExposureInfra
+
+
+[MM-ECM-PublicApi-0124-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0124-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0124-001-NewDuplicateL_command04]
+camera			=camera1
+
+[MM-ECM-PublicApi-0124-001-SetFlashL_command08]
+flash			=EFlashNone
+
+[MM-ECM-PublicApi-0124-001-Flash_command09]
+flash			=EFlashNone
+
+[MM-ECM-PublicApi-0124-001-SetFlashL_command10]
+flash			=EFlashAuto
+
+[MM-ECM-PublicApi-0124-001-Flash_command11]
+flash			=EFlashAuto
+
+[MM-ECM-PublicApi-0124-001-SetFlashL_command12]
+flash			=EFlashForced
+
+[MM-ECM-PublicApi-0124-001-Flash_command13]
+flash			=EFlashForced
+
+[MM-ECM-PublicApi-0124-001-SetFlashL_command14]
+flash			=EFlashFillIn
+
+[MM-ECM-PublicApi-0124-001-Flash_command15]
+flash			=EFlashFillIn
+
+[MM-ECM-PublicApi-0124-001-SetFlashL_command16]
+flash			=EFlashRedEyeReduce
+
+[MM-ECM-PublicApi-0124-001-Flash_command17]
+flash			=EFlashRedEyeReduce
+
+[MM-ECM-PublicApi-0124-001-SetFlashL_command18]
+flash			=EFlashSlowFrontSync
+
+[MM-ECM-PublicApi-0124-001-Flash_command19]
+flash			=EFlashSlowFrontSync
+
+[MM-ECM-PublicApi-0124-001-SetFlashL_command20]
+flash			=EFlashSlowRearSync
+
+[MM-ECM-PublicApi-0124-001-Flash_command21]
+flash			=EFlashSlowRearSync
+
+[MM-ECM-PublicApi-0124-001-SetFlashL_command22]
+flash			=EFlashManual
+
+[MM-ECM-PublicApi-0124-001-Flash_command23]
+flash			=EFlashManual
+
+
+[MM-ECM-PublicApi-0125-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0125-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0125-001-NewDuplicateL_command04]
+observerInterface	=MObserver2
+camera			=camera1
+
+[MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command08]
+whiteBalance		=EWBAuto
+
+[MM-ECM-PublicApi-0125-001-WhiteBalance_command09]
+whiteBalance		=EWBAuto
+
+[MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command10]
+whiteBalance		=EWBCloudy
+
+[MM-ECM-PublicApi-0125-001-WhiteBalance_command11]
+whiteBalance		=EWBCloudy
+
+[MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command12]
+whiteBalance		=EWBTungsten
+
+[MM-ECM-PublicApi-0125-001-WhiteBalance_command13]
+whiteBalance		=EWBTungsten
+
+[MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command14]
+whiteBalance		=EWBFluorescent
+
+[MM-ECM-PublicApi-0125-001-WhiteBalance_command15]
+whiteBalance		=EWBFluorescent
+
+[MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command16]
+whiteBalance		=EWBFlash
+
+[MM-ECM-PublicApi-0125-001-WhiteBalance_command17]
+whiteBalance		=EWBFlash
+
+[MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command18]
+whiteBalance		=EWBSnow
+
+[MM-ECM-PublicApi-0125-001-WhiteBalance_command19]
+whiteBalance		=EWBSnow
+
+[MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command20]
+whiteBalance		=EWBBeach
+
+[MM-ECM-PublicApi-0125-001-WhiteBalance_command21]
+whiteBalance		=EWBBeach
+
+[MM-ECM-PublicApi-0125-001-SetWhiteBalanceL_command22]
+whiteBalance		=EWBManual
+
+[MM-ECM-PublicApi-0125-001-WhiteBalance_command23]
+whiteBalance		=EWBManual
+
+
+[MM-ECM-PublicApi-0126-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+
+[MM-ECM-PublicApi-0126-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0126-001-NewDuplicateL_command04]
+camera			=camera1
+
+
+[MM-ECM-PublicApi-0127-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0127-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+
+[MM-ECM-PublicApi-0127-001-NewDuplicateL_command04]
+observerInterface	=MObserver2
+camera			=camera1
+
+[MM-ECM-PublicApi-0127-001-PrepareImageCaptureL_command08]
+cameraFormat		=FFFFFFFF
+
+
+[MM-ECM-PublicApi-0128-001-CamerasAvailable_command01]
+camerasAvailable	={default_camera,count}
+
+[MM-ECM-PublicApi-0128-001-NewL_command02]
+camindex		={default_camera,validstill}
+
+[MM-ECM-PublicApi-0128-001-ViewFinderActive_command06]
+viewFinderActive	=FALSE
+
+[MM-ECM-PublicApi-0128-001-StartViewFinderBitmapsL_command07]
+viewfinderHeight	=0
+viewfinderWidth		=0
+
+[camera1]
+name			=camera1
+
+[camera2]
+name			=camera2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/group/102070CC.txt	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1 @@
+Dummy file can contain anything but must exist on system drive (c:\) for the testcamera to work.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,48 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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 "../testsuites/group/bld.inf"
+#include "../ecam/T_Camera/group/bld.inf"
+#include "../icl/T_ImageDecoder/group/bld.inf"
+#include "../icl/T_ImageEncoder/group/bld.inf"
+#include "../mmf/T_MdaAudioConvertUtility/group/bld.inf"
+#include "../mmf/T_MdaAudioInputStream/group/bld.inf"
+#include "../mmf/T_MdaAudioOutputStream/group/bld.inf"
+#include "../mmf/T_MdaAudioPlayerUtility/group/bld.inf"
+#include "../mmf/T_MdaAudioRecorderUtility/group/bld.inf"
+#include "../mmf/T_MdaAudioToneUtility/group/bld.inf"
+#include "../mmf/T_MidiClientUtility/group/bld.inf"
+#include "../mmf/T_VideoPlayerUtility/group/bld.inf"
+#include "../mmf/T_VideoRecorderUtility/group/bld.inf"
+
+PRJ_TESTEXPORTS
+td_multimedia.oby						/epoc32/rom/include/td_multimedia.oby
+t_multimedia.oby						/epoc32/rom/include/t_multimedia.oby
+makesisfiles.bat						/epoc32/pkg/makesisfiles.bat
+
+../scripts/setup_t_multimedia.script	z:/multimedia/setup_t_multimedia.script
+../scripts/t_multimedia.script			z:/multimedia/t_multimedia.script
+../config/t_multimedia.tcs				z:/multimedia/t_multimedia.tcs
+../config/t_multimedia.tcs				/epoc32/pkg/t_multimedia.tcs
+../testdata/102070CC.txt				z:/multimedia/102070cc.txt
+../testdata/102070CC.txt				/epoc32/pkg/102070cc.txt
+
+../testdata/t_multimedia.ini			z:/multimedia/t_multimedia.ini
+../testdata/t_multimedia.ini			/epoc32/pkg/t_multimedia.ini
+
+../testdata/t_multimedia_location.ini	z:/multimedia/t_multimedia_location.ini
+../testdata/t_multimedia_location.ini	/epoc32/pkg/t_multimedia_location.ini
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/group/dummyavi.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,26 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __DUMMY_AVI_IBY__)
+#define __DUMMY_AVI_IBY__
+
+//	Test Video Controller
+ECOM_PLUGIN(ts_cmmfvideotestcontroller.dll,101f7d2d.rsc)
+
+file=ABI_DIR\BUILD_DIR\TS_CMMFVideoTestCustomCommands.dll	System\Libs\TS_CMMFVideoTestCustomCommands.dll
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/group/makerom.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,23 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+if "%1" == "" GOTO ERR
+buildrom -D_STARTUPMODE2 -D_EABI=ARMV5 -DRVCT -DUSE_STRONG_CRYPTOGRAPHY %1 techview_statapi platsec t_multimedia
+GOTO EXIT
+
+:ERR
+REM target parameter missing
+
+:EXIT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/group/makesisfiles.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,66 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+copy ..\release\armv5\urel\T_Camera.exe .
+copy ..\release\armv5\urel\T_ImageDecoder.exe .
+copy ..\release\armv5\urel\T_ImageEncoder.exe .
+copy ..\release\armv5\urel\T_MdaAudioConvertUtility.exe .
+copy ..\release\armv5\urel\T_MdaAudioInputStream.exe .
+copy ..\release\armv5\urel\T_MdaAudioOutputStream.exe .
+copy ..\release\armv5\urel\T_MdaAudioPlayerUtility.exe .
+copy ..\release\armv5\urel\T_MdaAudioRecorderUtility.exe .
+copy ..\release\armv5\urel\T_MdaAudioToneUtility.exe .
+copy ..\release\armv5\urel\T_MidiClientUtility.exe .
+copy ..\release\armv5\urel\T_VideoPlayerUtility.exe .
+copy ..\release\armv5\urel\T_VideoRecorderUtility.exe .
+md t_imagedecoder
+copy ..\data\z\multimedia\t_imagedecoder\dec1bit.mbm .\t_imagedecoder
+copy ..\data\z\multimedia\t_imagedecoder\dec2bit.mbm .\t_imagedecoder
+copy ..\data\z\multimedia\t_imagedecoder\dec4bit.mbm .\t_imagedecoder
+copy ..\data\z\multimedia\t_imagedecoder\dec8bit.mbm .\t_imagedecoder
+copy ..\data\z\multimedia\t_imagedecoder\dec16bit.mbm .\t_imagedecoder
+copy ..\data\z\multimedia\t_imagedecoder\dec24bit.mbm .\t_imagedecoder
+md t_imageencoder
+copy ..\data\z\multimedia\t_imageencoder\enc1bit.mbm .\t_imageencoder
+copy ..\data\z\multimedia\t_imageencoder\enc2bit.mbm .\t_imageencoder
+copy ..\data\z\multimedia\t_imageencoder\enc4bit.mbm .\t_imageencoder
+copy ..\data\z\multimedia\t_imageencoder\enc8bit.mbm .\t_imageencoder
+copy ..\data\z\multimedia\t_imageencoder\enc16bit.mbm .\t_imageencoder
+copy ..\data\z\multimedia\t_imageencoder\enc24bit.mbm .\t_imageencoder
+call makesis t_camera.pkg t_camera.sis
+call makesis t_imagedecoder.pkg t_imagedecoder.sis
+call makesis t_imageencoder.pkg t_imageencoder.sis
+call makesis t_mdaaudioconvertutility.pkg t_mdaaudioconvertutility.sis
+call makesis t_mdaaudioinputstream.pkg t_mdaaudioinputstream.sis
+call makesis t_mdaaudiooutputstream.pkg t_mdaaudiooutputstream.sis
+call makesis t_mdaaudioplayerutility.pkg t_mdaaudioplayerutility.sis
+call makesis t_mdaaudiorecorderutility.pkg t_mdaaudiorecorderutility.sis
+call makesis t_mdaaudiotoneutility.pkg t_mdaaudiotoneutility.sis
+call makesis t_midiclientutility.pkg t_midiclientutility.sis
+call makesis t_videoplayerutility.pkg t_videoplayerutility.sis
+call makesis t_videorecorderutility.pkg t_videorecorderutility.sis
+call signsis -s t_camera.sis t_camera.sis zeus.cer SymbianACS.key caforstat
+call signsis -s t_imagedecoder.sis t_imagedecoder.sis zeus.cer SymbianACS.key caforstat
+call signsis -s t_imageencoder.sis t_imageencoder.sis zeus.cer SymbianACS.key caforstat
+call signsis -s t_mdaaudioconvertutility.sis t_mdaaudioconvertutility.sis zeus.cer SymbianACS.key caforstat
+call signsis -s t_mdaaudioinputstream.sis t_mdaaudioinputstream.sis zeus.cer SymbianACS.key caforstat
+call signsis -s t_mdaaudiooutputstream.sis t_mdaaudiooutputstream.sis zeus.cer SymbianACS.key caforstat
+call signsis -s t_mdaaudioplayerutility.sis t_mdaaudioplayerutility.sis zeus.cer SymbianACS.key caforstat
+call signsis -s t_mdaaudiorecorderutility.sis t_mdaaudiorecorderutility.sis zeus.cer SymbianACS.key caforstat
+call signsis -s t_mdaaudiotoneutility.sis t_mdaaudiotoneutility.sis zeus.cer SymbianACS.key caforstat
+call signsis -s t_midiclientutility.sis t_midiclientutility.sis zeus.cer SymbianACS.key caforstat
+call signsis -s t_videoplayerutility.sis t_videoplayerutility.sis zeus.cer SymbianACS.key caforstat
+call signsis -s t_videorecorderutility.sis t_videorecorderutility.sis zeus.cer SymbianACS.key caforstat
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/group/maketdrom.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,23 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+if "%1" == "" GOTO ERR
+buildrom -D_STARTUPMODE2 -D_EABI=ARMV5 -DRVCT -DUSE_STRONG_CRYPTOGRAPHY %1 techview_statapi platsec td_multimedia
+GOTO EXIT
+
+:ERR
+REM target parameter missing
+
+:EXIT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/group/mmsetup.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,28 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+@echo off
+
+perl -S mmsetup.pl %*
+if errorlevel==1 goto CheckPerl
+goto End
+
+:CheckPerl
+perl -v >NUL
+if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
+goto End
+
+:End
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/group/mmsetup.pl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#
+
+use Cwd;
+
+my	$directory=cwd;
+my	$platform="$ARGV[0]";
+my	$build="$ARGV[1]";
+
+chdir "\\src\\common\\generic\\multimedia\\ecam\\plugins\\group";
+system("bldmake bldfiles");
+system("abld test build $platform $build testcamera");
+
+chdir "\\src\\common\\generic\\multimedia\\testframework\\group";
+system("bldmake bldfiles");
+system("abld build $platform $build TestFrameworkServer");
+system("abld build $platform $build TestFrameworkClient");
+
+chdir "\\src\\common\\generic\\multimedia\\unittest\\mmf\\MidiClnt\\MidiTestCntrl\\group";
+system("bldmake bldfiles");
+system("abld build $platform $build miditstcntrl");
+
+chdir "$directory";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/group/t_multimedia.oby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,52 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MULTIMEDIA_OBY__)
+#define __T_MULTIMEDIA_OBY__
+
+#include "avi.iby"
+
+#include <t_camera.iby>
+#include <t_imageencoder.iby>
+#include <t_imagedecoder.iby>
+#include <t_mdaaudioconvertutility.iby>
+#include <t_mdaaudioinputstream.iby>
+#include <t_mdaaudiooutputstream.iby>
+#include <t_mdaaudioplayerutility.iby>
+#include <t_mdaaudiorecorderutility.iby>
+#include <t_mdaaudiotoneutility.iby>
+#include <t_midiclientutility.iby>
+#include <t_videoplayerutility.iby>
+#include <t_videorecorderutility.iby>
+
+data=EPOCROOT##Epoc32\data\z\multimedia\t_multimedia.script			            multimedia\t_multimedia.script
+data=EPOCROOT##Epoc32\data\z\multimedia\setup_t_multimedia.script	            multimedia\setup_t_multimedia.script
+data=EPOCROOT##Epoc32\data\z\multimedia\t_multimedia.ini			            multimedia\t_multimedia.ini
+data=EPOCROOT##Epoc32\data\z\multimedia\t_multimedia.tcs			            multimedia\t_multimedia.tcs
+data=EPOCROOT##Epoc32\data\z\multimedia\t_multimedia_location.ini			    multimedia\t_multimedia_location.ini
+data=EPOCROOT##Epoc32\data\z\multimedia\102070CC.txt				            multimedia\102070CC.txt
+
+file=ABI_DIR\BUILD_DIR\TestFrameworkServer.exe				System\Libs\TestFrameworkServer.exe
+file=ABI_DIR\BUILD_DIR\TestFrameworkClient.dll				System\Libs\TestFrameworkClient.dll
+
+//	Test Camera
+ECOM_PLUGIN(ECamTestPlugin.dll,102070CC.rsc)
+
+//	Test Midi Controller
+ECOM_PLUGIN(ts_miditstcntrl.dll,101ff9f4.rsc)
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/group/td_multimedia.oby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,32 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __TD_MULTIMEDIA_OBY__)
+#define __TD_MULTIMEDIA_OBY__
+
+#include "avi.iby"
+
+file=ABI_DIR\BUILD_DIR\TestFrameworkServer.exe				System\Libs\TestFrameworkServer.exe
+file=ABI_DIR\BUILD_DIR\TestFrameworkClient.dll				System\Libs\TestFrameworkClient.dll
+
+//	Test Camera
+ECOM_PLUGIN(ECamTestPlugin.dll,102070CC.rsc)
+
+//	Test Midi Controller
+ECOM_PLUGIN(ts_miditstcntrl.dll,101ff9f4.rsc)
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/group/testdriversetup.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testdriversetup.pl
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/group/testdriversetup.pl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,46 @@
+#
+# Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#
+use Cwd;
+
+my $theEpocRoot=$ENV{EPOCROOT};
+my $epoc32Location="$theEpocRoot.\\epoc32";
+
+my $currentDirectory=cwd;
+$currentDirectory =~ s/Group//i;
+$currentDirectory =~ s/\//\\/g;
+
+my $currentDrive = substr($currentDirectory,0,2);
+
+my	$cmd="TestDriver config";
+my	$suite="file:/$currentDrive$epoc32Location\\testdriver\\testproduct\\multimedia.driver#multimedia";
+$suite =~ s.\\./.g;
+$suite =~ s\/./\/\g;
+
+$cmd .= " --bldclean OFF";
+$cmd .= " --bldmake OFF";
+$cmd .= " -e $currentDrive$theEpocRoot";
+$cmd .= " -x $currentDrive$epoc32Location\\testdriver\\testproduct";
+$cmd .= " --repos $currentDrive$epoc32Location\\testdriver\\Repository";
+$cmd .= " -c $currentDrive$epoc32Location\\testdriver\\Results";
+$cmd .= " -i $currentDirectory";
+$cmd .= " -s $suite";
+$cmd .= " --source $currentDirectory";
+$cmd .= " --tp $currentDirectory";
+$cmd .= " --platsec  ON";
+$cmd .= " --testexec ON";
+$cmd .= " --commdb overwrite";
+system("$cmd");
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageDecoder/group/T_ImageDecoder.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+TARGET			t_imagedecoder.exe
+TARGETTYPE		exe
+UID				0x1000007A 0x20000F72
+VENDORID		0x70000001
+
+CAPABILITY		WriteUserData ReadUserData UserEnvironment
+
+SOURCEPATH		../src
+SOURCE			../../../common/src/DataWrapperBase.cpp
+SOURCE			../../../common/src/T_MMUtil.cpp
+SOURCE			T_MMDataImageDecoder.cpp
+SOURCE			T_ImageDecoderServer.cpp
+
+USERINCLUDE		../inc
+USERINCLUDE		../../../common/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE	/epoc32/include/test
+
+// Bitmaps
+START BITMAP	dec1bit.mbm
+HEADER
+SOURCEPATH		../../../../testdata/icl/T_ImageDecoder
+TARGETPATH		/multimedia/t_imagedecoder
+SOURCE			1	24bit.bmp
+END
+
+START BITMAP	dec2bit.mbm
+HEADER
+SOURCEPATH		../../../../testdata/icl/T_ImageDecoder
+TARGETPATH		/multimedia/t_imagedecoder
+SOURCE			2	24bit.bmp
+END
+
+START BITMAP	dec4bit.mbm
+HEADER
+SOURCEPATH		../../../../testdata/icl/T_ImageDecoder
+TARGETPATH		/multimedia/t_imagedecoder
+SOURCE			c4	24bit.bmp
+END
+
+START BITMAP	dec8bit.mbm
+HEADER
+SOURCEPATH		../../../../testdata/icl/T_ImageDecoder
+TARGETPATH		/multimedia/t_imagedecoder
+SOURCE			c8	24bit.bmp
+END
+
+START BITMAP	dec16bit.mbm
+HEADER
+SOURCEPATH		../../../../testdata/icl/T_ImageDecoder
+TARGETPATH		/multimedia/t_imagedecoder
+SOURCE			c16	24bit.bmp
+END
+
+START BITMAP	dec24bit.mbm
+HEADER
+SOURCEPATH		../../../../testdata/icl/T_ImageDecoder
+TARGETPATH		/multimedia/t_imagedecoder
+SOURCE			c24	24bit.bmp
+END
+
+LIBRARY			euser.lib
+LIBRARY			efsrv.lib
+LIBRARY			fbscli.lib
+LIBRARY			imageconversion.lib
+LIBRARY			mmcommon.lib
+LIBRARY			testexecuteutils.lib
+LIBRARY			testexecutelogclient.lib
+LIBRARY			bafl.lib
+LIBRARY			mmfcontrollerframework.lib
+LIBRARY			iniparser.lib
+
+SMPSAFE
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageDecoder/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,103 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTEXPORTS
+t_imagedecoder.iby								/epoc32/rom/include/t_imagedecoder.iby
+t_imagedecoder_binaries.iby						/epoc32/rom/include/t_imagedecoder_binaries.iby
+t_imagedecoder_testdata.iby						/epoc32/rom/include/t_imagedecoder_testdata.iby
+
+../pkg/T_ImageDecoder.pkg						/epoc32/pkg/t_imagedecoder.pkg
+../pkg/timagedecoder.bat						/epoc32/pkg/timagedecoder.bat
+../scripts/MM-ICL-DECDE-PublicApi.script		/epoc32/pkg/mm-icl-decde-publicapi.script
+
+../testdata/MM-ICL-DECDE-PublicApi.ini			/epoc32/pkg/mm-icl-decde-publicapi.ini
+../../../../testdata/icl/T_ImageDecoder/24bit.apm							/epoc32/pkg/t_imagedecoder/24bit.apm
+../../../../testdata/icl/T_ImageDecoder/1bit.bmp							/epoc32/pkg/t_imagedecoder/1bit.bmp
+../../../../testdata/icl/T_ImageDecoder/4bit.bmp							/epoc32/pkg/t_imagedecoder/4bit.bmp
+../../../../testdata/icl/T_ImageDecoder/8bit.bmp							/epoc32/pkg/t_imagedecoder/8bit.bmp
+../../../../testdata/icl/T_ImageDecoder/24bit.bmp							/epoc32/pkg/t_imagedecoder/24bit.bmp
+../../../../testdata/icl/T_ImageDecoder/24bit.clp							/epoc32/pkg/t_imagedecoder/24bit.clp
+../../../../testdata/icl/T_ImageDecoder/1bit.gif							/epoc32/pkg/t_imagedecoder/1bit.gif
+../../../../testdata/icl/T_ImageDecoder/2bit.gif							/epoc32/pkg/t_imagedecoder/2bit.gif
+../../../../testdata/icl/T_ImageDecoder/4bit.gif							/epoc32/pkg/t_imagedecoder/4bit.gif
+../../../../testdata/icl/T_ImageDecoder/6bit.gif							/epoc32/pkg/t_imagedecoder/6bit.gif
+../../../../testdata/icl/T_ImageDecoder/8bit.gif							/epoc32/pkg/t_imagedecoder/8bit.gif
+../../../../testdata/icl/T_ImageDecoder/commented.gif						/epoc32/pkg/t_imagedecoder/commented.gif
+../../../../testdata/icl/T_ImageDecoder/4bit.ICO							/epoc32/pkg/t_imagedecoder/4bit.ico
+../../../../testdata/icl/T_ImageDecoder/8bit.ICO							/epoc32/pkg/t_imagedecoder/8bit.ico
+../../../../testdata/icl/T_ImageDecoder/8bit.jpg							/epoc32/pkg/t_imagedecoder/8bit.jpg
+../../../../testdata/icl/T_ImageDecoder/24bit.jpg							/epoc32/pkg/t_imagedecoder/24bit.jpg
+../../../../testdata/icl/T_ImageDecoder/thumbnail.JPG						/epoc32/pkg/t_imagedecoder/thumbnail.jpg
+../../../../testdata/icl/T_ImageDecoder/commented.jpg						/epoc32/pkg/t_imagedecoder/commented.jpg
+../../../../testdata/icl/T_ImageDecoder/24bit.mng							/epoc32/pkg/t_imagedecoder/24bit.mng
+../../../../testdata/icl/T_ImageDecoder/1bit.ota							/epoc32/pkg/t_imagedecoder/1bit.ota
+../../../../testdata/icl/T_ImageDecoder/1bit.png							/epoc32/pkg/t_imagedecoder/1bit.png
+../../../../testdata/icl/T_ImageDecoder/4bit.png							/epoc32/pkg/t_imagedecoder/4bit.png
+../../../../testdata/icl/T_ImageDecoder/8bit.png							/epoc32/pkg/t_imagedecoder/8bit.png
+../../../../testdata/icl/T_ImageDecoder/24bit.png							/epoc32/pkg/t_imagedecoder/24bit.png
+../../../../testdata/icl/T_ImageDecoder/1bitG3.tif							/epoc32/pkg/t_imagedecoder/1bitg3.tif
+../../../../testdata/icl/T_ImageDecoder/1bitG4.tif							/epoc32/pkg/t_imagedecoder/1bitg4.tif
+../../../../testdata/icl/T_ImageDecoder/1bit.tif							/epoc32/pkg/t_imagedecoder/1bit.tif
+../../../../testdata/icl/T_ImageDecoder/4bit.tif							/epoc32/pkg/t_imagedecoder/4bit.tif
+../../../../testdata/icl/T_ImageDecoder/8bit.tif							/epoc32/pkg/t_imagedecoder/8bit.tif
+../../../../testdata/icl/T_ImageDecoder/24bit.tif							/epoc32/pkg/t_imagedecoder/24bit.tif
+../../../../testdata/icl/T_ImageDecoder/1bit.wbmp							/epoc32/pkg/t_imagedecoder/1bit.wbmp
+../../../../testdata/icl/T_ImageDecoder/24bit.wmf							/epoc32/pkg/t_imagedecoder/24bit.wmf
+../../../../testdata/icl/T_ImageDecoder/corrupted.bmp						/epoc32/pkg/t_imagedecoder/corrupted.bmp
+../../../../testdata/icl/T_ImageDecoder/partial.bmp							/epoc32/pkg/t_imagedecoder/partial.bmp
+
+../scripts/setup-MM-ICL-DECDE-PublicApi.script	z:/multimedia/setup-mm-icl-decde-publicapi.script
+../scripts/MM-ICL-DECDE-PublicApi.script		z:/multimedia/mm-icl-decde-publicapi.script
+
+../testdata/MM-ICL-DECDE-PublicApi.ini			z:/multimedia/mm-icl-decde-publicapi.ini
+../../../../testdata/icl/T_ImageDecoder/24bit.apm							z:/multimedia/t_imagedecoder/24bit.apm
+../../../../testdata/icl/T_ImageDecoder/1bit.bmp							z:/multimedia/t_imagedecoder/1bit.bmp
+../../../../testdata/icl/T_ImageDecoder/4bit.bmp							z:/multimedia/t_imagedecoder/4bit.bmp
+../../../../testdata/icl/T_ImageDecoder/8bit.bmp							z:/multimedia/t_imagedecoder/8bit.bmp
+../../../../testdata/icl/T_ImageDecoder/24bit.bmp							z:/multimedia/t_imagedecoder/24bit.bmp
+../../../../testdata/icl/T_ImageDecoder/24bit.clp							z:/multimedia/t_imagedecoder/24bit.clp
+../../../../testdata/icl/T_ImageDecoder/1bit.gif							z:/multimedia/t_imagedecoder/1bit.gif
+../../../../testdata/icl/T_ImageDecoder/2bit.gif							z:/multimedia/t_imagedecoder/2bit.gif
+../../../../testdata/icl/T_ImageDecoder/4bit.gif							z:/multimedia/t_imagedecoder/4bit.gif
+../../../../testdata/icl/T_ImageDecoder/6bit.gif							z:/multimedia/t_imagedecoder/6bit.gif
+../../../../testdata/icl/T_ImageDecoder/8bit.gif							z:/multimedia/t_imagedecoder/8bit.gif
+../../../../testdata/icl/T_ImageDecoder/commented.gif						z:/multimedia/t_imagedecoder/commented.gif
+../../../../testdata/icl/T_ImageDecoder/4bit.ICO							z:/multimedia/t_imagedecoder/4bit.ico
+../../../../testdata/icl/T_ImageDecoder/8bit.ICO							z:/multimedia/t_imagedecoder/8bit.ico
+../../../../testdata/icl/T_ImageDecoder/8bit.jpg							z:/multimedia/t_imagedecoder/8bit.jpg
+../../../../testdata/icl/T_ImageDecoder/24bit.jpg							z:/multimedia/t_imagedecoder/24bit.jpg
+../../../../testdata/icl/T_ImageDecoder/thumbnail.JPG						z:/multimedia/t_imagedecoder/thumbnail.jpg
+../../../../testdata/icl/T_ImageDecoder/commented.jpg						z:/multimedia/t_imagedecoder/commented.jpg
+../../../../testdata/icl/T_ImageDecoder/24bit.mng							z:/multimedia/t_imagedecoder/24bit.mng
+../../../../testdata/icl/T_ImageDecoder/1bit.ota							z:/multimedia/t_imagedecoder/1bit.ota
+../../../../testdata/icl/T_ImageDecoder/1bit.png							z:/multimedia/t_imagedecoder/1bit.png
+../../../../testdata/icl/T_ImageDecoder/4bit.png							z:/multimedia/t_imagedecoder/4bit.png
+../../../../testdata/icl/T_ImageDecoder/8bit.png							z:/multimedia/t_imagedecoder/8bit.png
+../../../../testdata/icl/T_ImageDecoder/24bit.png							z:/multimedia/t_imagedecoder/24bit.png
+../../../../testdata/icl/T_ImageDecoder/1bitG3.tif							z:/multimedia/t_imagedecoder/1bitg3.tif
+../../../../testdata/icl/T_ImageDecoder/1bitG4.tif							z:/multimedia/t_imagedecoder/1bitg4.tif
+../../../../testdata/icl/T_ImageDecoder/1bit.tif							z:/multimedia/t_imagedecoder/1bit.tif
+../../../../testdata/icl/T_ImageDecoder/4bit.tif							z:/multimedia/t_imagedecoder/4bit.tif
+../../../../testdata/icl/T_ImageDecoder/8bit.tif							z:/multimedia/t_imagedecoder/8bit.tif
+../../../../testdata/icl/T_ImageDecoder/24bit.tif							z:/multimedia/t_imagedecoder/24bit.tif
+../../../../testdata/icl/T_ImageDecoder/1bit.wbmp							z:/multimedia/t_imagedecoder/1bit.wbmp
+../../../../testdata/icl/T_ImageDecoder/24bit.wmf							z:/multimedia/t_imagedecoder/24bit.wmf
+../../../../testdata/icl/T_ImageDecoder/corrupted.bmp						z:/multimedia/t_imagedecoder/corrupted.bmp
+../../../../testdata/icl/T_ImageDecoder/partial.bmp							z:/multimedia/t_imagedecoder/partial.bmp
+
+PRJ_TESTMMPFILES
+T_ImageDecoder.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageDecoder/group/t_imagedecoder.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,24 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_IMAGEDECODER_IBY__)
+#define __T_IMAGEDECODER_IBY__
+
+#include <t_imagedecoder_binaries.iby>
+#include <t_imagedecoder_testdata.iby>
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageDecoder/group/t_imagedecoder_binaries.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_IMAGEDECODER_BINARIES_IBY__)
+#define __T_IMAGEDECODER_BINARIES_IBY__
+
+#include <testexecute.iby>
+
+#if (!defined EKA2)
+file=ABI_DIR\BUILD_DIR\t_imagedecoder.exe 	system\libs\t_imagedecoder.exe
+#else
+file=ABI_DIR\BUILD_DIR\t_imagedecoder.exe 	system\bin\t_imagedecoder.exe
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageDecoder/group/t_imagedecoder_testdata.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,66 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_IMAGEDECODER_TESTDATA_IBY__)
+#define __T_IMAGEDECODER_TESTDATA_IBY__
+
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-ICL-DECDE-PublicApi.script		multimedia\MM-ICL-DECDE-PublicApi.script
+
+data=EPOCROOT##Epoc32\data\z\multimedia\setup-MM-ICL-DECDE-PublicApi.script	multimedia\setup-MM-ICL-DECDE-PublicApi.script
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-ICL-DECDE-PublicApi.ini			multimedia\MM-ICL-DECDE-PublicApi.ini
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\24bit.apm			multimedia\t_imagedecoder\24bit.apm
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\1bit.bmp				multimedia\t_imagedecoder\1bit.bmp
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\4bit.bmp				multimedia\t_imagedecoder\4bit.bmp
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\8bit.bmp				multimedia\t_imagedecoder\8bit.bmp
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\24bit.bmp			multimedia\t_imagedecoder\24bit.bmp
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\24bit.clp			multimedia\t_imagedecoder\24bit.clp
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\1bit.gif				multimedia\t_imagedecoder\1bit.gif
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\2bit.gif				multimedia\t_imagedecoder\2bit.gif
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\4bit.gif				multimedia\t_imagedecoder\4bit.gif
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\6bit.gif				multimedia\t_imagedecoder\6bit.gif
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\8bit.gif				multimedia\t_imagedecoder\8bit.gif
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\commented.gif		multimedia\t_imagedecoder\commented.gif
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\4bit.ico				multimedia\t_imagedecoder\4bit.ico
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\8bit.ico				multimedia\t_imagedecoder\8bit.ico
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\8bit.jpg				multimedia\t_imagedecoder\8bit.jpg
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\24bit.jpg			multimedia\t_imagedecoder\24bit.jpg
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\thumbnail.jpg		multimedia\t_imagedecoder\thumbnail.jpg
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\commented.jpg		multimedia\t_imagedecoder\commented.jpg
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\dec1bit.mbm			multimedia\t_imagedecoder\dec1bit.mbm
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\dec2bit.mbm			multimedia\t_imagedecoder\dec2bit.mbm
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\dec4bit.mbm			multimedia\t_imagedecoder\dec4bit.mbm
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\dec8bit.mbm			multimedia\t_imagedecoder\dec8bit.mbm
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\dec16bit.mbm			multimedia\t_imagedecoder\dec16bit.mbm
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\dec24bit.mbm			multimedia\t_imagedecoder\dec24bit.mbm
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\24bit.mng			multimedia\t_imagedecoder\24bit.mng
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\1bit.ota				multimedia\t_imagedecoder\1bit.ota
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\1bit.png				multimedia\t_imagedecoder\1bit.png
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\4bit.png				multimedia\t_imagedecoder\4bit.png
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\8bit.png				multimedia\t_imagedecoder\8bit.png
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\24bit.png			multimedia\t_imagedecoder\24bit.png
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\1bitG3.tif			multimedia\t_imagedecoder\1bitG3.tif
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\1bitG4.tif			multimedia\t_imagedecoder\1bitG4.tif
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\1bit.tif				multimedia\t_imagedecoder\1bit.tif
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\4bit.tif				multimedia\t_imagedecoder\4bit.tif
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\8bit.tif				multimedia\t_imagedecoder\8bit.tif
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\24bit.tif			multimedia\t_imagedecoder\24bit.tif
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\1bit.wbmp			multimedia\t_imagedecoder\1bit.wbmp
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\24bit.wmf			multimedia\t_imagedecoder\24bit.wmf
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\corrupted.bmp		multimedia\t_imagedecoder\corrupted.bmp
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imagedecoder\partial.bmp			multimedia\t_imagedecoder\partial.bmp
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageDecoder/inc/T_ImageDecoderServer.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_IMAGE_DECODER_SERVER_H__)
+#define __T_IMAGE_DECODER_SERVER_H__
+
+//	EPOC Includes
+#include <testblockcontroller.h>
+#include <testserver2.h>
+
+class CT_ImageDecoderServer : public CTestServer2
+	{
+private:
+	class CT_ImageDecoderBlock : public CTestBlockController
+		{
+	public:
+		inline CT_ImageDecoderBlock();
+		inline ~CT_ImageDecoderBlock();
+
+		inline CDataWrapper* CreateDataL(const TDesC& aData);
+		};
+
+public:
+	inline ~CT_ImageDecoderServer();
+
+	inline void	DeleteActiveSchedulerL();
+
+	static CT_ImageDecoderServer* NewL();
+
+	inline CTestBlockController*	CreateTestBlock();
+
+protected:
+	inline CT_ImageDecoderServer();
+	};
+
+#include "T_ImageDecoderServer.inl"
+
+#endif /* __T_IMAGE_DECODER_SERVER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageDecoder/inc/T_ImageDecoderServer.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataImageDecoder.h"
+
+_LIT(KT_ImageDecoderWrapper,	"CImageDecoder");
+
+// --------------------- CT_ImageDecoderBlock -----------------------------------
+
+inline CT_ImageDecoderServer::CT_ImageDecoderBlock::CT_ImageDecoderBlock()
+    {
+    }
+
+inline CT_ImageDecoderServer::CT_ImageDecoderBlock::~CT_ImageDecoderBlock()
+    {
+    }
+
+inline CDataWrapper* CT_ImageDecoderServer::CT_ImageDecoderBlock::CreateDataL( const TDesC& aData )
+	{
+	CDataWrapper* wrapper = NULL;
+	if( KT_ImageDecoderWrapper() == aData )
+		{
+		wrapper = CT_MMDataImageDecoder::NewL();
+		}
+	return wrapper;
+	}
+
+// --------------------- CT_ImageDecoderServer -----------------------------------
+
+inline CT_ImageDecoderServer::CT_ImageDecoderServer()
+    {
+    }
+
+inline CT_ImageDecoderServer::~CT_ImageDecoderServer()
+    {
+    }
+
+void CT_ImageDecoderServer::DeleteActiveSchedulerL()
+	{
+	}
+
+inline CTestBlockController* CT_ImageDecoderServer::CreateTestBlock()
+	{
+	return new CT_ImageDecoderBlock();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageDecoder/inc/T_MMDataImageDecoder.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,127 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MM_DATA_IMAGEDECODER_H__)
+#define __T_MM_DATA_IMAGEDECODER_H__
+
+//	EPOC includes
+#include <imageconversion.h>
+
+// User include
+#include "DataWrapperBase.h"
+
+/**
+ * Test Active Notification class
+ *
+ */
+class CT_MMDataImageDecoder : public CDataWrapperBase
+	{
+private:
+	enum TState
+		{
+		EState_Unknown,
+		EState_Convert,
+		};
+
+public:
+	~CT_MMDataImageDecoder();
+
+	static	CT_MMDataImageDecoder*	NewL();
+
+	virtual TBool	DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	virtual TAny*	GetObject();
+
+	virtual void	SetObjectL(TAny* aObject);
+
+	virtual void	DisownObjectL();
+
+	void DestroyData();
+
+	void RunL(CActive* aActive, TInt aIndex);
+	void DoCancel(CActive* aActive, TInt aIndex);
+
+protected:
+	CT_MMDataImageDecoder();
+
+	void	ConstructL();
+
+private:
+	inline void				DoCmdDestructor();
+	inline void				DoCmdCancel();
+	inline void				DoCmdContinueConvert(const TInt aAsyncErrorIndex);
+	inline void				DoCmdContinueProcessingHeaderL();
+	inline void				DoCmdConvertL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void				DoCmdDataNewL(const TDesC& aSection);
+	inline void				DoCmdFileNewL(const TDesC& aSection);
+	inline void				DoCmdFrameCommentL(const TDesC& aSection);
+	inline void				DoCmdFrameCount(const TDesC& aSection);
+	inline void				DoCmdFrameData(const TDesC& aSection);
+	inline void				DoCmdFrameInfo(const TDesC& aSection);
+	inline void				DoCmdFrameInfoStringsL(const TDesC& aSection);
+	inline void				DoCmdFrameInfoStringsLCApi(const TDesC& aSection);
+	inline void				DoCmdGetFileTypesL(const TDesC& aSection);
+	inline void				DoCmdGetImageSubTypesL(const TDesC& aSection);
+	inline void				DoCmdGetImageTypesL(const TDesC& aSection);
+	inline void				DoCmdGetImplementationInformationL(const TDesC& aSection);
+	inline void				DoCmdGetMimeTypeDataL(const TDesC& aSection);
+	inline void				DoCmdGetMimeTypeFileL(const TDesC& aSection);
+	inline void				DoCmdImageCommentL(const TDesC& aSection);
+	inline void				DoCmdImageType(const TDesC& aSection);
+	inline void				DoCmdImplementationUid();
+	inline void				DoCmdIsImageHeaderProcessingComplete(const TDesC& aSection);
+	inline void				DoCmdNumberOfFrameComments(const TDesC& aSection);
+	inline void				DoCmdNumberOfImageComments(const TDesC& aSection);
+	inline void				DoCmdReducedSize(const TDesC& aSection);
+	inline void				DoCmdReductionFactor(const TDesC& aSection);
+	inline void				DoCmdSetAgentProperty(const TDesC& aSection);
+	inline void				DoCmdSetImageTypeL(const TDesC& aSection);
+
+	//	MTPActiveCallback implementation
+	inline void				RunActiveL(TInt aIndex);
+	inline void				DoCancelActive();
+
+	//	Helper methods
+	CImageDecoder::TOptions	ReadOptions(const TDesC& aSection);
+	void					ReadUids(const TDesC& aSection, TUid& aImageType, TUid& aImageSubType, TUid& aEncoderUid);
+
+
+private:
+	CImageDecoder*					iImageDecoder;
+	RFbsSession						iFbsSession;
+	TBool							iFbsSessionConnected;
+	TState							iState;
+	CActiveCallback*				iActive;
+	CFbsBitmap*						iBitmap;
+	CFbsBitmap*						iBitmapMask;
+	CFrameInfoStrings*				iFrameInfoStrings;
+	RImageTypeDescriptionArray		iImageTypeArray;
+	RImageTypeDescriptionArray		iSubTypeArray;
+	RFileExtensionMIMETypeArray		iFileExtensionArray;
+	CImplementationInformationType*	iImplementationInformationType;
+	RFile							iFile;
+	TBool							iFileOpened;
+	TFrameInfo						iFrameInfo;
+	TPtrC							iBitmapFile;
+	TBool							iHasBitmapFile;
+	TBool                           iAsyncConvertFailed;
+	HBufC8*							iDataSource;
+	RFs								iFs;
+	};
+
+#endif /* __T_MM_DATA_IMAGEDECODER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageDecoder/pkg/T_ImageDecoder.pkg	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,89 @@
+;
+; Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+;
+;
+; Install file for T_ImageDecoder.exe
+;
+
+; Languages -
+&EN
+
+; Installation header
+; UID is the app's UID
+#{"T_ImageDecoder"},(0x20000F72),1,0,0
+
+;%{"Vendor-EN"}
+;:"Symbian"
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+
+"T_ImageDecoder.exe"-"!:\sys\bin\T_ImageDecoder.exe"
+"timagedecoder.bat"-"!:\multimedia\timagedecoder.bat"
+"MM-ICL-DECDE-PublicApi.script"-"!:\multimedia\MM-ICL-DECDE-PublicApi.script"
+"t_multimedia.tcs"-"!:\multimedia\t_multimedia.tcs"
+"MM-ICL-DECDE-PublicApi.ini"-"!:\multimedia\MM-ICL-DECDE-PublicApi.ini"
+"t_imagedecoder\24bit.apm"-"!:\multimedia\t_imagedecoder\24bit.apm"
+"t_imagedecoder\1bit.bmp"-"!:\multimedia\t_imagedecoder\1bit.bmp"
+"t_imagedecoder\4bit.bmp"-"!:\multimedia\t_imagedecoder\4bit.bmp"
+"t_imagedecoder\8bit.bmp"-"!:\multimedia\t_imagedecoder\8bit.bmp"
+"t_imagedecoder\24bit.bmp"-"!:\multimedia\t_imagedecoder\24bit.bmp"
+"t_imagedecoder\24bit.clp"-"!:\multimedia\t_imagedecoder\24bit.clp"
+"t_imagedecoder\1bit.gif"-"!:\multimedia\t_imagedecoder\1bit.gif"
+"t_imagedecoder\2bit.gif"-"!:\multimedia\t_imagedecoder\2bit.gif"
+"t_imagedecoder\4bit.gif"-"!:\multimedia\t_imagedecoder\4bit.gif"
+"t_imagedecoder\6bit.gif"-"!:\multimedia\t_imagedecoder\6bit.gif"
+"t_imagedecoder\8bit.gif"-"!:\multimedia\t_imagedecoder\8bit.gif"
+"t_imagedecoder\commented.gif"-"!:\multimedia\t_imagedecoder\commented.gif"
+"t_imagedecoder\4bit.ico"-"!:\multimedia\t_imagedecoder\4bit.ico"
+"t_imagedecoder\8bit.ico"-"!:\multimedia\t_imagedecoder\8bit.ico"
+"t_imagedecoder\8bit.jpg"-"!:\multimedia\t_imagedecoder\8bit.jpg"
+"t_imagedecoder\24bit.jpg"-"!:\multimedia\t_imagedecoder\24bit.jpg"
+"t_imagedecoder\thumbnail.jpg"-"!:\multimedia\t_imagedecoder\thumbnail.jpg"
+"t_imagedecoder\commented.jpg"-"!:\multimedia\t_imagedecoder\commented.jpg"
+"t_imagedecoder\dec1bit.mbm"-"!:\multimedia\t_imagedecoder\dec1bit.mbm"
+"t_imagedecoder\dec2bit.mbm"-"!:\multimedia\t_imagedecoder\dec2bit.mbm"
+"t_imagedecoder\dec4bit.mbm"-"!:\multimedia\t_imagedecoder\dec4bit.mbm"
+"t_imagedecoder\dec8bit.mbm"-"!:\multimedia\t_imagedecoder\dec8bit.mbm"
+"t_imagedecoder\dec16bit.mbm"-"!:\multimedia\t_imagedecoder\dec16bit.mbm"
+"t_imagedecoder\dec24bit.mbm"-"!:\multimedia\t_imagedecoder\dec24bit.mbm"
+"t_imagedecoder\24bit.mng"-"!:\multimedia\t_imagedecoder\24bit.mng"
+"t_imagedecoder\1bit.ota"-"!:\multimedia\t_imagedecoder\1bit.ota"
+"t_imagedecoder\1bit.png"-"!:\multimedia\t_imagedecoder\1bit.png"
+"t_imagedecoder\4bit.png"-"!:\multimedia\t_imagedecoder\4bit.png"
+"t_imagedecoder\8bit.png"-"!:\multimedia\t_imagedecoder\8bit.png"
+"t_imagedecoder\24bit.png"-"!:\multimedia\t_imagedecoder\24bit.png"
+"t_imagedecoder\1bitG3.tif"-"!:\multimedia\t_imagedecoder\1bitG3.tif"
+"t_imagedecoder\1bitG4.tif"-"!:\multimedia\t_imagedecoder\1bitG4.tif"
+"t_imagedecoder\1bit.tif"-"!:\multimedia\t_imagedecoder\1bit.tif"
+"t_imagedecoder\4bit.tif"-"!:\multimedia\t_imagedecoder\4bit.tif"
+"t_imagedecoder\8bit.tif"-"!:\multimedia\t_imagedecoder\8bit.tif"
+"t_imagedecoder\24bit.tif"-"!:\multimedia\t_imagedecoder\24bit.tif"
+"t_imagedecoder\1bit.wbmp"-"!:\multimedia\t_imagedecoder\1bit.wbmp"
+"t_imagedecoder\24bit.wmf"-"!:\multimedia\t_imagedecoder\24bit.wmf"
+"t_imagedecoder\corrupted.bmp"-"!:\multimedia\t_imagedecoder\corrupted.bmp"
+"t_imagedecoder\partial.bmp"-"!:\multimedia\t_imagedecoder\partial.bmp"
+"t_multimedia.ini"-"!:\multimedia\t_multimedia.ini"
+
+; Required files
+; None
+
+; Component .sis files
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageDecoder/pkg/timagedecoder.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testexecute \multimedia\MM-ICL-DECDE-PublicApi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageDecoder/scripts/MM-ICL-DECDE-PublicApi.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,4494 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName		MM-ICL-DECDE-PublicApi
+//! @SYMScriptTestEnvironment	This test script requires a basic ROM.
+/////////////////////////////////////////////////////////////////////
+// T_ImageDecoder.script
+//
+// Tests all public elements of the CImageDecoder class
+// as a means of confidence that the APIs work as expected.
+//
+// The purpose is to provide a regression test suite of PublishedAll APIs for CImageDecoder.
+// The tests are fully automated.
+/////////////////////////////////////////////////////////////////////
+
+LOAD_SUITE	T_ImageDecoder
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0001
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0001
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit gif image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for gif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0001-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0001-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0001
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0002
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0002
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 6-bit gif image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for gif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0002-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0002-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0002
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0003
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0003
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 4-bit gif image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for gif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0003-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0003-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0003
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0004
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0004
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 2-bit gif image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for gif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0004-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0004-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0004
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0005
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0005
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit gif image in buffer, giving an image type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for gif image in buffer. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0005-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0005-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0005
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0006
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0006
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit gif image in buffer, giving a mime type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create decoder for gif image in buffer. 2. Get frame info. 3. Decode image. 4. Get implementation UID of decoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0006-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0006-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0006
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0007
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0007
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of file extensions that can be decoded and their corresponding MIME types.
+//!				Uses API elements: GetFileTypesL().
+//! @SYMTestActions    		1. Get list of file extensions that can be decoded and their corresponding MIME types.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Fourteen file extensions should be returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	GetFileTypesL
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0007
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0008
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0008
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of tif image sub-types that can be decoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of tif image sub-types that can be decoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Information returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	GetImageSubTypesL	MM-ICL-DECDE-PublicApi-0008-001-GetImageSubTypesL_command01
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0008
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0009
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0009
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of basic image types that can be decoded.
+//!				Uses API elements: GetImageTypesL().
+//! @SYMTestActions    		1. Get list of basic image types that can be decoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Information returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	GetImageTypesL		MM-ICL-DECDE-PublicApi-0009-001-GetImageTypesL_command01
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0009
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0012
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0012
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit jpg image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for jpg image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0012-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0012-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0012
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0013
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0013
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit jpg image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for jpg image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0013-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0013-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0013
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0014
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0014
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit jpg image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for jpg image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0014-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0014-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0014
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0015
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0015
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit jpg image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for jpg image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0015-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0015-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0015
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0016
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0016
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit jpg image in buffer, giving an image type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for jpg image in buffer. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0016-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0016-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0016
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0017
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0017
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit jpg image in buffer, giving a mime type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create decoder for jpg image in buffer. 2. Get frame info. 3. Decode image. 4. Get implementation UID of decoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0017-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0017-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	ImplementationUid
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0017
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0018
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0018
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit bmp image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for bmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0018-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0018-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0018
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0019
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0019
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit bmp image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for bmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0019-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0019-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0019
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0020
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0020
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 4-bit bmp image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for bmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0020-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0020-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0020
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0021
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0021
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit bmp image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for bmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0021-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0021-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0021
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0022
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0022
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit bmp image in buffer, giving an image type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for bmp image in buffer. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0022-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0022-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0022
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0023
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0023
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit bmp image in buffer, giving a mime type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create decoder for bmp image in buffer. 2. Get frame info. 3. Decode image. 4. Get implementation UID of decoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0023-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0023-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	ImplementationUid
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0023
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0024
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0024
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit png image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for png image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0024-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0024-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0024
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0025
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0025
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit png image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for png image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0025-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0025-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0025
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0026
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0026
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 4-bit png image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for png image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0026-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0026-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0026
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0027
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0027
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit png image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for png image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0027-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0027-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0027
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0028
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0028
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit png image in buffer, giving an image type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for png image in buffer. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0028-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0028-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0028
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0029
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0029
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit png image in buffer, giving a mime type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create decoder for png image in buffer. 2. Get frame info. 3. Decode image. 4. Get implementation UID of decoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0029-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0029-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	ImplementationUid
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0029
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0030
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0030
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Open an uncompressed 24-bit tif image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for tif image in file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder	\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL	MM-ICL-DECDE-PublicApi-0030-001-FileNewL_command01
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0030
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0031
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0031
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode an uncompressed 8-bit tif image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for tif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder	\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND			imagedecoder1	FileNewL	MM-ICL-DECDE-PublicApi-0031-001-FileNewL_command01
+		COMMAND			imagedecoder1	FrameInfo
+		COMMAND	!AsyncError=-5	imagedecoder1	Convert		MM-ICL-DECDE-PublicApi-0031-001-Convert_command03
+		OUTSTANDING
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0031
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0032
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0032
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode an uncompressed 4-bit tif image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for tif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder	\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND			imagedecoder1	FileNewL	MM-ICL-DECDE-PublicApi-0032-001-FileNewL_command01
+		COMMAND			imagedecoder1	FrameInfo
+		COMMAND	!AsyncError=-5	imagedecoder1	Convert		MM-ICL-DECDE-PublicApi-0032-001-Convert_command03
+		OUTSTANDING
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0032
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0033
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0033
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode an uncompressed 1-bit tif image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for tif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder	\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND			imagedecoder1	FileNewL	MM-ICL-DECDE-PublicApi-0033-001-FileNewL_command01
+		COMMAND			imagedecoder1	FrameInfo
+		COMMAND	!AsyncError=-5	imagedecoder1	Convert		MM-ICL-DECDE-PublicApi-0033-001-Convert_command03
+		OUTSTANDING
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0033
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0034
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0034
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Open an uncompressed 24-bit tif image in buffer, giving an image type.
+//!				Uses API elements: DataNewL().
+//! @SYMTestActions    		1. Create decoder for tif image in buffer.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder	\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	DataNewL	MM-ICL-DECDE-PublicApi-0034-001-DataNewL_command01
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0034
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0035
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0035
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode an uncompressed 8-bit tif image in buffer, giving a mime type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create decoder for tif image in buffer. 2. Get frame info. 3. Decode image. 4. Get implementation UID of decoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder	\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND			imagedecoder1	DataNewL	MM-ICL-DECDE-PublicApi-0035-001-DataNewL_command01
+		COMMAND			imagedecoder1	FrameInfo
+		COMMAND	!AsyncError=-5	imagedecoder1	Convert		MM-ICL-DECDE-PublicApi-0035-001-Convert_command03
+		OUTSTANDING
+		COMMAND			imagedecoder1	ImplementationUid
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0035
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0036
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0036
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit ota image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ota image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0036-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0036-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0036
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0037
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0037
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit ota image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ota image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0037-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0037-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0037
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0038
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0038
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit ota image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ota image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0038-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0038-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0038
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0039
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0039
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit ota image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ota image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0039-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0039-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0039
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0040
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0040
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit ota image in buffer, giving an image type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ota image in buffer. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0040-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0040-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0040
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0041
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0041
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit ota image in buffer, giving a mime type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create decoder for ota image in buffer. 2. Get frame info. 3. Decode image. 4. Get implementation UID of decoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0041-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0041-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	ImplementationUid
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0041
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0042
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0042
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit mbm image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mbm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0042-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0042-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0042
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0043
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0043
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 16-bit mbm image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mbm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0043-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0043-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0043
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0044
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0044
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit mbm image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mbm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0044-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0044-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0044
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0045
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0045
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 4-bit mbm image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mbm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0045-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0045-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0045
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0046
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0046
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 2-bit mbm image in buffer, giving an image type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mbm image in buffer. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0046-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0046-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0046
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0047
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0047
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit mbm image in buffer, giving a mime type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create decoder for mbm image in buffer. 2. Get frame info. 3. Decode image. 4. Get implementation UID of decoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0047-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0047-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	ImplementationUid
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0047
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0048
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0048
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit wbmp image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wbmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0048-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0048-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0048
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0049
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0049
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit wbmp image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wbmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0049-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0049-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0049
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0050
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0050
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit wbmp image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wbmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0050-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0050-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0050
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0051
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0051
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit wbmp image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wbmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0051-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0051-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0051
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0052
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0052
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit wbmp image in buffer, giving an image type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wbmp image in buffer. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0052-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0052-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0052
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0053
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0053
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit wbmp image in buffer, giving a mime type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create decoder for wbmp image in buffer. 2. Get frame info. 3. Decode image. 4. Get implementation UID of decoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0053-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0053-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	ImplementationUid
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0053
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0054
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0054
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit wmf image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wmf image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0054-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0054-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0054
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0055
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0055
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit wmf image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wmf image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0055-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0055-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0055
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0056
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0056
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit wmf image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wmf image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0056-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0056-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0056
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0057
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0057
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit wmf image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wmf image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0057-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0057-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0057
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0058
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0058
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit wmf image in buffer, giving an image type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wmf image in buffer. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0058-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0058-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0058
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0059
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0059
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit wmf image in buffer, giving a mime type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create decoder for wmf image in buffer. 2. Get frame info. 3. Decode image. 4. Get implementation UID of decoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0059-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0059-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	ImplementationUid
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0059
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0060
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0060
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit ico image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ico image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0060-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0060-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0060
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0061
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0061
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit ico image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ico image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0061-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0061-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0061
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0062
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0062
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 4-bit ico image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ico image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0062-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0062-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0062
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0063
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0063
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 4-bit ico image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ico image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0063-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0063-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0063
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0064
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0064
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit ico image in buffer, giving an image type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ico image in buffer. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0064-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0064-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0064
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0065
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0065
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 4-bit ico image in buffer, giving a mime type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create decoder for ico image in buffer. 2. Get frame info. 3. Decode image. 4. Get implementation UID of decoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0065-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0065-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	ImplementationUid
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0065
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0066
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0066
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit mng image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mng image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0066-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0066-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0066
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0067
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0067
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit mng image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mng image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0067-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0067-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0067
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0068
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0068
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit mng image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mng image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0068-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0068-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0068
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0069
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0069
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit mng image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mng image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0069-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0069-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0069
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0070
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0070
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit mng image in buffer, giving an image type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mng image in buffer. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0070-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0070-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0070
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0071
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0071
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit mng image in buffer, giving a mime type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create decoder for mng image in buffer. 2. Get frame info. 3. Decode image. 4. Get implementation UID of decoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0071-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0071-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	ImplementationUid
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0071
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0072
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0072
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit apm image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for apm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0072-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0072-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0072
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0073
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0073
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit apm image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for apm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0073-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0073-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0073
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0074
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0074
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit apm image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for apm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0074-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0074-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0074
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0075
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0075
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit apm image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for apm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0075-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0075-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0075
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0076
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0076
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit apm image in buffer, giving an image type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for apm image in buffer. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0076-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0076-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0076
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0077
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0077
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit apm image in buffer, giving a mime type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create decoder for apm image in buffer. 2. Get frame info. 3. Decode image. 4. Get implementation UID of decoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0077-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0077-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	ImplementationUid
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0077
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0078
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0078
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit clp image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for clp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0078-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0078-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0078
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0079
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0079
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit clp image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for clp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0079-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0079-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0079
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0080
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0080
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit clp image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for clp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0080-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0080-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0080
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0081
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0081
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit clp image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for clp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0081-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0081-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0081
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0082
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0082
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit clp image in buffer, giving an image type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for clp image in buffer. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0082-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0082-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0082
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0083
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0083
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit clp image in buffer, giving a mime type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create decoder for clp image in buffer. 2. Get frame info. 3. Decode image. 4. Get implementation UID of decoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0083-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0083-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	ImplementationUid
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0083
+
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0084
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0084
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of gif image sub-types that can be decoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of gif image sub-types that can be decoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	GetImageSubTypesL	MM-ICL-DECDE-PublicApi-0084-001-GetImageSubTypesL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0084
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0085
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0085
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of jpg image sub-types that can be decoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of jpg image sub-types that can be decoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	GetImageSubTypesL	MM-ICL-DECDE-PublicApi-0085-001-GetImageSubTypesL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0085
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0086
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0086
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of bmp image sub-types that can be decoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of bmp image sub-types that can be decoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	GetImageSubTypesL	MM-ICL-DECDE-PublicApi-0086-001-GetImageSubTypesL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0086
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0087
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0087
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of png image sub-types that can be decoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of png image sub-types that can be decoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	GetImageSubTypesL	MM-ICL-DECDE-PublicApi-0087-001-GetImageSubTypesL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0087
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0088
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0088
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of ota image sub-types that can be decoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of ota image sub-types that can be decoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	GetImageSubTypesL	MM-ICL-DECDE-PublicApi-0088-001-GetImageSubTypesL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0088
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0089
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0089
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of mbm image sub-types that can be decoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of mbm image sub-types that can be decoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	GetImageSubTypesL	MM-ICL-DECDE-PublicApi-0089-001-GetImageSubTypesL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0089
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0090
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0090
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of wbmp image sub-types that can be decoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of wbmp image sub-types that can be decoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	GetImageSubTypesL	MM-ICL-DECDE-PublicApi-0090-001-GetImageSubTypesL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0090
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0091
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0091
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of wmf/apm/clp image sub-types that can be decoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of wmf image sub-types that can be decoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Information returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	GetImageSubTypesL	MM-ICL-DECDE-PublicApi-0091-001-GetImageSubTypesL_command01
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0091
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0092
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0092
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of ico image sub-types that can be decoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of ico image sub-types that can be decoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	GetImageSubTypesL	MM-ICL-DECDE-PublicApi-0092-001-GetImageSubTypesL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0092
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0093
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0093
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of mng image sub-types that can be decoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of mng image sub-types that can be decoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	GetImageSubTypesL	MM-ICL-DECDE-PublicApi-0093-001-GetImageSubTypesL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0093
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0094
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0094
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Try to get list of image sub-types that can be decoded for an unsupported image type.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Try to get list of image sub-types that can be decoded for an unsupported image type.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	GetImageSubTypesL	MM-ICL-DECDE-PublicApi-0094-001-GetImageSubTypesL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0094
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0095
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0095
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Begin decoding a bmp image file giving an image type, using RFile, then cancel the conversion.
+//!				Uses API elements: FileNewL(), Convert(), Cancel().
+//! @SYMTestActions    		1. Create decoder for bmp file image. 2. Decode image. 3. Cancel conversion.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Conversion cancelled with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder	\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND			imagedecoder1	FileNewL	MM-ICL-DECDE-PublicApi-0095-001-FileNewL_command01
+		COMMAND			imagedecoder1	FrameInfo
+		COMMAND	!AsyncError=-3	imagedecoder1	Convert		MM-ICL-DECDE-PublicApi-0095-001-Convert_command03
+		COMMAND			imagedecoder1	Cancel
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0095
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0096
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0096
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a corrupted image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for corrupted file. 2. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder	\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL	MM-ICL-DECDE-PublicApi-0096-001-FileNewL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0096
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0098
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0098
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get primary MIME type of the decoder for corrupted image file.
+//!				Uses API elements: GetMimeTypeFileL().
+//! @SYMTestActions    		1. Get primary MIME type of the decoder for corrupted image file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	GetMimeTypeFileL	MM-ICL-DECDE-PublicApi-0098-001-GetMimeTypeFileL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0098
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0100
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0100
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get primary MIME type of the decoder for corrupted image descriptor.
+//!				Uses API elements: GetMimeTypeDataL().
+//! @SYMTestActions    		1. Get primary MIME type of the decoder for corrupted image descriptor.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	GetMimeTypeDataL	MM-ICL-DECDE-PublicApi-0100-001-GetMimeTypeDataL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0100
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0101
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0101
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a partial image, add image data to the descriptor then continue decoding.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert(), ContinueConvert().
+//! @SYMTestActions    		1. Create decoder for image in descriptor. 2. Decode partial image.
+//!				3. Add image data to descriptor. 4. Continue decoding image in descriptor.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrUnderflow returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder	\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND			imagedecoder1	DataNewL	MM-ICL-DECDE-PublicApi-0101-001-DataNewL_command01
+		COMMAND			imagedecoder1	FrameInfo
+		COMMAND	!AsyncError=-10	imagedecoder1	Convert		MM-ICL-DECDE-PublicApi-0101-001-Convert_command03
+		OUTSTANDING
+		COMMAND			imagedecoder1	DataNewL	MM-ICL-DECDE-PublicApi-0101-001-DataNewL_command04
+		COMMAND			imagedecoder1	FrameInfo
+		COMMAND			imagedecoder1	ContinueConvert
+		OUTSTANDING
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0101
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0102
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0102
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Try to decode a partial image.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create decoder for image in file. 2. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrUnderflow is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder	\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND			imagedecoder1	FileNewL	MM-ICL-DECDE-PublicApi-0102-001-FileNewL_command01
+		COMMAND			imagedecoder1	FrameInfo
+		COMMAND	!AsyncError=-10	imagedecoder1	Convert		MM-ICL-DECDE-PublicApi-0102-001-Convert_command03
+		OUTSTANDING
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0102
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0103
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0103
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Check frame count of image file.
+//!				Uses API elements: FileNewL(), IsImageHeaderProcessingComplete(), FrameCount().
+//! @SYMTestActions    		1. Create decoder for image in descriptor. 2. Check that image header processing is complete.
+//!				3. Get frame count of image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Correct frame count returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder			\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL			MM-ICL-DECDE-PublicApi-0103-001-FileNewL_command01
+		COMMAND		imagedecoder1	IsImageHeaderProcessingComplete	MM-ICL-DECDE-PublicApi-0103-001-IsImageHeaderProcessingComplete_command02
+		COMMAND		imagedecoder1	FrameCount			MM-ICL-DECDE-PublicApi-0103-001-FrameCount_command03
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0103
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0105
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0105
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Check frame count of partial image file.
+//!				Uses API elements: FileNewL(), FrameCount().
+//! @SYMTestActions    		1. Create decoder for partial image in descriptor. 2. Get frame count of image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Correct frame count returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0105-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameCount		MM-ICL-DECDE-PublicApi-0105-001-FrameCount_command02
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0105
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0106
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0106
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get frame data of frame in image file.
+//!				Uses API elements: FileNewL(), IsImageHeaderProcessingComplete(), FrameCount(), FrameInfo(), FrameData().
+//! @SYMTestActions    		1. Create decoder for image in descriptor. 2. Check that image header processing is complete.
+//!				3. Get frame count of image. 4. Get frame info of specified frame. 5. Get frame data of specified frame.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Frame data returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder			\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL			MM-ICL-DECDE-PublicApi-0106-001-FileNewL_command01
+		COMMAND		imagedecoder1	IsImageHeaderProcessingComplete	MM-ICL-DECDE-PublicApi-0106-001-IsImageHeaderProcessingComplete_command02
+		COMMAND		imagedecoder1	FrameCount			MM-ICL-DECDE-PublicApi-0106-001-FrameCount_command03
+		COMMAND		imagedecoder1	FrameInfo			MM-ICL-DECDE-PublicApi-0106-001-FrameInfo_command04
+		COMMAND		imagedecoder1	FrameData			MM-ICL-DECDE-PublicApi-0106-001-FrameData_command05
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0106
+
+
+RUN_UTILS CopyFile	${SYSDRIVE}\multimedia\t_imagedecoder\24bit.bmp	${SYSDRIVE}\multimedia\t_imagedecoder\24bit_panic1.bmp
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0107
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0107
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get frame data of non-existent frame in image file.
+//!				Uses API elements: FileNewL(), IsImageHeaderProcessingComplete(), FrameCount(), FrameInfo().
+//! @SYMTestActions    		1. Create decoder for image in descriptor. 2. Check that image header processing is complete.
+//!				3. Get frame count of image. 4. Get frame info of non-existent frame.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Panic "ImageConversion 10" is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder			\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL			MM-ICL-DECDE-PublicApi-0107-001-FileNewL_command01
+		COMMAND		imagedecoder1	IsImageHeaderProcessingComplete	MM-ICL-DECDE-PublicApi-0107-001-IsImageHeaderProcessingComplete_command02
+		COMMAND		imagedecoder1	FrameCount			MM-ICL-DECDE-PublicApi-0107-001-FrameCount_command03
+		COMMAND		imagedecoder1	FrameInfo			MM-ICL-DECDE-PublicApi-0107-001-FrameInfo_command04
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK !PanicString=ImageConversion !PanicCode=10
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0107
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0108
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0108
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get image comment in image file.
+//!				Uses API elements: FileNewL(), NumberOfImageComments(), ImageCommentL().
+//! @SYMTestActions    		1. Create decoder for image in descriptor. 2. Get number of image comments.
+//!				3. Get specified image comment.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Image comment returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0108-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	NumberOfImageComments	MM-ICL-DECDE-PublicApi-0108-001-NumberOfImageComments_command03
+		COMMAND		imagedecoder1	ImageCommentL		MM-ICL-DECDE-PublicApi-0108-001-ImageCommentL_command04
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0108
+
+
+RUN_UTILS CopyFile	${SYSDRIVE}\multimedia\t_imagedecoder\commented.gif	${SYSDRIVE}\multimedia\t_imagedecoder\commented_panic2.gif
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0109
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0109
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get non-existent image comment in image file.
+//!				Uses API elements: FileNewL(), NumberOfImageComments(), ImageCommentL().
+//! @SYMTestActions    		1. Create decoder for image in descriptor. 2. Get number of image comments.
+//!				3. Get non-existent image comment.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Panic "GIFConvertPlugin 14" is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0109-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	NumberOfImageComments	MM-ICL-DECDE-PublicApi-0109-001-NumberOfImageComments_command03
+		COMMAND		imagedecoder1	ImageCommentL		MM-ICL-DECDE-PublicApi-0109-001-ImageCommentL_command04
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK	!PanicString=GIFConvertPlugin !PanicCode=14
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0109
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0110
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0110
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get frame comment in JPG file.
+//!				Uses API elements: FileNewL(), FrameCount(), NumberOfFrameComments(), FrameCommentL().
+//! @SYMTestActions    		1. Create decoder for image in descriptor. 2. Get number of image frames.
+//!				3. Get number of frame comments for specified frame. 4. Get specified frame comment.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Frame comment returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0110-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameCount		MM-ICL-DECDE-PublicApi-0110-001-FrameCount_command02
+		COMMAND		imagedecoder1	NumberOfFrameComments	MM-ICL-DECDE-PublicApi-0110-001-NumberOfFrameComments_command03
+		COMMAND		imagedecoder1	FrameCommentL		MM-ICL-DECDE-PublicApi-0110-001-FrameCommentL_command04
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0110
+
+
+RUN_UTILS CopyFile	${SYSDRIVE}\multimedia\t_imagedecoder\commented.gif	${SYSDRIVE}\multimedia\t_imagedecoder\commented_panic3.gif
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0111
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0111
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get non-existent frame comment in image file.
+//!				Uses API elements: FileNewL(), FrameCount(), NumberOfFrameComments(), FrameCommentL().
+//! @SYMTestActions    		1. Create decoder for image in descriptor. 2. Get number of image frames.
+//!				3. Get number of frame comments for specified frame. 4. Get non-existent image comment.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Panic "ImageConversion 12" is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0111-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameCount		MM-ICL-DECDE-PublicApi-0111-001-FrameCount_command02
+		COMMAND		imagedecoder1	NumberOfFrameComments	MM-ICL-DECDE-PublicApi-0111-001-NumberOfFrameComments_command03
+		COMMAND		imagedecoder1	FrameCommentL		MM-ICL-DECDE-PublicApi-0111-001-FrameCommentL_command04
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK	!PanicString=ImageConversion !PanicCode=12
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0111
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0112
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0112
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get frame info string of frame in image file.
+//!				Uses API elements: FileNewL(), IsImageHeaderProcessingComplete(), FrameCount(), FrameInfoStringsL().
+//! @SYMTestActions    		1. Create decoder for image in descriptor. 2. Check that image header processing is complete.
+//!				3. Get frame count of image. 4. Get frame info string of specified frame.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Frame info string returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder			\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL			MM-ICL-DECDE-PublicApi-0112-001-FileNewL_command01
+		COMMAND		imagedecoder1	IsImageHeaderProcessingComplete	MM-ICL-DECDE-PublicApi-0112-001-IsImageHeaderProcessingComplete_command02
+		COMMAND		imagedecoder1	FrameCount			MM-ICL-DECDE-PublicApi-0112-001-FrameCount_command03
+		COMMAND		imagedecoder1	FrameInfoStringsL		MM-ICL-DECDE-PublicApi-0112-001-FrameInfoStringsL_command04
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0112
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0113
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0113
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get frame info string of frame in image file.
+//!				Uses API elements: FileNewL(), IsImageHeaderProcessingComplete(), FrameCount(), FrameInfoStringsLC().
+//! @SYMTestActions    		1. Create decoder for image in descriptor. 2. Check that image header processing is complete.
+//!				3. Get frame count of image. 4. Get frame info string of specified frame.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Frame info string returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder			\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL			MM-ICL-DECDE-PublicApi-0113-001-FileNewL_command01
+		COMMAND		imagedecoder1	IsImageHeaderProcessingComplete	MM-ICL-DECDE-PublicApi-0113-001-IsImageHeaderProcessingComplete_command02
+		COMMAND		imagedecoder1	FrameCount			MM-ICL-DECDE-PublicApi-0113-001-FrameCount_command03
+		COMMAND		imagedecoder1	FrameInfoStringsLC		MM-ICL-DECDE-PublicApi-0113-001-FrameInfoStringsLC_command04
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0113
+
+
+RUN_UTILS CopyFile	${SYSDRIVE}\multimedia\t_imagedecoder\24bit.bmp	${SYSDRIVE}\multimedia\t_imagedecoder\24bit_panic4.bmp
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0114
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0114
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get frame info string of non-existent frame in image file.
+//!				Uses API elements: FileNewL(), IsImageHeaderProcessingComplete(), FrameCount(), FrameInfoStringsL().
+//! @SYMTestActions    		1. Create decoder for image in descriptor. 2. Check that image header processing is complete.
+//!				3. Get frame count of image. 4. Get frame info string of non-existent frame.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Panic "ImageConversion 10" is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder			\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL			MM-ICL-DECDE-PublicApi-0114-001-FileNewL_command01
+		COMMAND		imagedecoder1	IsImageHeaderProcessingComplete	MM-ICL-DECDE-PublicApi-0114-001-IsImageHeaderProcessingComplete_command02
+		COMMAND		imagedecoder1	FrameCount			MM-ICL-DECDE-PublicApi-0114-001-FrameCount_command03
+		COMMAND		imagedecoder1	FrameInfoStringsL		MM-ICL-DECDE-PublicApi-0114-001-FrameInfoStringsL_command04
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK	!PanicString=ImageConversion !PanicCode=10
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0114
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0115
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0115
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a gif image file giving an image type, and check image type.
+//!				Uses API elements: FileNewL(), Convert(), ImageType().
+//! @SYMTestActions    		1. Create decoder for gif image in file. 2. Decode image. 3. Get image type.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Correct image type returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0115-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0115-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	ImageType		MM-ICL-DECDE-PublicApi-0115-001-ImageType_command04
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0115
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0117
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0117
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode image for both image types and check new sizes of decoded images.
+//!				Uses API elements: FileNewL(), SetImageTypeL(), Convert(), ReductionFactor(), ReducedSize().
+//! @SYMTestActions    		1. Create decoder for gif image in file. 2. Set thumbnail image type.
+//!				3. Decode image. 4. Get reduction factor of decoded image.
+//!				5. Get reduced size of decoded image. 6. Set main image type. 7. Decode image.
+//!				8. Get reduction factor of decoded image. 9. Get reduced size of decoded image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Image decoded twice with no errors and correct reduction sizes/factors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0117-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	SetImageTypeL		MM-ICL-DECDE-PublicApi-0117-001-SetImageTypeL_command03
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0117-001-Convert_command04
+		OUTSTANDING
+		COMMAND		imagedecoder1	ReductionFactor		MM-ICL-DECDE-PublicApi-0117-001-ReductionFactor_command05
+		COMMAND		imagedecoder1	ReducedSize		MM-ICL-DECDE-PublicApi-0117-001-ReducedSize_command06
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0117
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0118
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0118
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get implementation information for various decoder plugins.
+//!				Uses API elements: FileNewL(), GetImplementationInformationL().
+//! @SYMTestActions    		1. Create decoder for gif image in file. 2-5. Get implementation information for serveral decoder plugins.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Agent properties set with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder			\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL			MM-ICL-DECDE-PublicApi-0118-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	GetImplementationInformationL	MM-ICL-DECDE-PublicApi-0118-001-GetImplementationInformationL_command03
+		COMMAND		imagedecoder1	GetImplementationInformationL	MM-ICL-DECDE-PublicApi-0118-001-GetImplementationInformationL_command04
+		COMMAND		imagedecoder1	GetImplementationInformationL	MM-ICL-DECDE-PublicApi-0118-001-GetImplementationInformationL_command05
+		COMMAND		imagedecoder1	GetImplementationInformationL	MM-ICL-DECDE-PublicApi-0118-001-GetImplementationInformationL_command06
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0118
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0119
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0119
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a jpg image in buffer, giving an illegal mime type.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for jpg image in buffer. 2. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0119-001-FileNewL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0119
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0120
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0120
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a gif image in buffer, giving an illegal mime type.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for gif image in buffer. 2. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0120-001-FileNewL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0120
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0121
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0121
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a bmp image in buffer, giving an illegal mime type.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for bmp image in buffer. 2. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0121-001-FileNewL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0121
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0122
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0122
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a mbm image in buffer, giving an illegal mime type.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for mbm image in buffer. 2. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0122-001-FileNewL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0122
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0123
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0123
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a png image in buffer, giving an illegal mime type.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for png image in buffer. 2. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0123-001-FileNewL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0123
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0124
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0124
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a tif image in buffer, giving an illegal mime type.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for tif image in buffer. 2. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0124-001-FileNewL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0124
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0125
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0125
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a ota image in buffer, giving an illegal mime type.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for ota image in buffer. 2. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0125-001-FileNewL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0125
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0126
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0126
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a wbmp image in buffer, giving an illegal mime type.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for wbmp image in buffer. 2. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0126-001-FileNewL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0126
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0127
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0127
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a wmf image in buffer, giving an illegal mime type.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for wmf image in buffer. 2. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0127-001-FileNewL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0127
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0128
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0128
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a ico image in buffer, giving an illegal mime type.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for ico image in buffer. 2. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0128-001-FileNewL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0128
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0129
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0129
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a mng image in buffer, giving an illegal mime type.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for mng image in buffer. 2. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0129-001-FileNewL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0129
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0130
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0130
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a apm image in buffer, giving an illegal mime type.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for apm image in buffer. 2. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0130-001-FileNewL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0130
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0131
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0131
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a clp image in buffer, giving an illegal mime type.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for clp image in buffer. 2. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0131-001-FileNewL_command01
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0131
+
+
+RUN_UTILS CopyFile	${SYSDRIVE}\multimedia\t_imagedecoder\24bit.bmp	${SYSDRIVE}\multimedia\t_imagedecoder\24bit_panic5.bmp
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0132
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0132
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get frame data of non-existent frame in image file.
+//!				Uses API elements: FileNewL(), IsImageHeaderProcessingComplete(), FrameCount(), FrameData().
+//! @SYMTestActions    		1. Create decoder for image in descriptor. 2. Check that image header processing is complete.
+//!				3. Get frame count of image. 4. Get frame data of non-existent frame.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Panic "ImageConversion 10" is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder			\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND			imagedecoder1	FileNewL			MM-ICL-DECDE-PublicApi-0132-001-FileNewL_command01
+		COMMAND			imagedecoder1	IsImageHeaderProcessingComplete	MM-ICL-DECDE-PublicApi-0132-001-IsImageHeaderProcessingComplete_command02
+		COMMAND			imagedecoder1	FrameCount			MM-ICL-DECDE-PublicApi-0132-001-FrameCount_command03
+		COMMAND			imagedecoder1	FrameData			MM-ICL-DECDE-PublicApi-0132-001-FrameData_command04
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK		!PanicString=ImageConversion !PanicCode=10
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0132
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0133
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0133
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a GM3 tif image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for tif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0133-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0133-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0133
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0134
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0134
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a GM4 tif image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for tif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0134-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0134-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0134
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0135
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0135
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a GM3 tif image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for tif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0135-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0135-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0135
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0136
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0136
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a GM4 tif image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for tif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0136-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0136-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0136
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0137
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0137
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a GM3 tif image in buffer, giving an image type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for tif image in buffer. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0137-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0137-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0137
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0138
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0138
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a GM4 tif image in buffer, giving a mime type.
+//!				Uses API elements: DataNewL(), FrameInfo(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create decoder for tif image in buffer. 2. Get frame info. 3. Decode image. 4. Get implementation UID of decoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	DataNewL		MM-ICL-DECDE-PublicApi-0138-001-DataNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0138-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	ImplementationUid
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0138
+
+
+
+RUN_UTILS CopyFile	${SYSDRIVE}\multimedia\t_imagedecoder\commented.gif	${SYSDRIVE}\multimedia\t_imagedecoder\commented_panic6.gif
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0139
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0139
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get frame comment in GIF file.
+//!				Uses API elements: FileNewL(), FrameCount(), NumberOfFrameComments(), FrameCommentL().
+//! @SYMTestActions    		1. Create decoder for image in descriptor. 2. Get number of image frames.
+//!				3. Get number of frame comments for specified frame. 4. Get specified frame comment.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Panic "ImageConversion 12" is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0139-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameCount		MM-ICL-DECDE-PublicApi-0139-001-FrameCount_command02
+		COMMAND		imagedecoder1	NumberOfFrameComments	MM-ICL-DECDE-PublicApi-0139-001-NumberOfFrameComments_command03
+		COMMAND		imagedecoder1	FrameCommentL		MM-ICL-DECDE-PublicApi-0139-001-FrameCommentL_command04
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK	!PanicString=ImageConversion !PanicCode=12
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0139
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0140
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0140
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit gif image file giving an image type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for gif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0140-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0140-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0140
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0141
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0141
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 6-bit gif image file giving a mime type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for gif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0141-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0141-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0141
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0142
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0142
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit jpg image file giving an image type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for jpg image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0142-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0142-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0142
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0143
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0143
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit jpg image file giving a mime type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for jpg image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0143-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0143-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0143
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0144
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0144
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit bmp image file giving an image type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for bmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0144-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0144-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0144
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0145
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0145
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit bmp image file giving a mime type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for bmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0145-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0145-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0145
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0146
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0146
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit png image file giving an image type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for png image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0146-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0146-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0146
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0147
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0147
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit png image file giving a mime type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for png image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0147-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0147-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0147
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0148
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0148
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Open an uncompressed 24-bit tif image file giving an image type, using TMMSource.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create decoder for tif image in file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder	\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	FileNewL	MM-ICL-DECDE-PublicApi-0148-001-FileNewL_command01
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0148
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0149
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0149
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode an uncompressed 8-bit tif image file giving a mime type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for tif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder	\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND			imagedecoder1	FileNewL	MM-ICL-DECDE-PublicApi-0149-001-FileNewL_command01
+		COMMAND			imagedecoder1	FrameInfo
+		COMMAND	!AsyncError=-5	imagedecoder1	Convert		MM-ICL-DECDE-PublicApi-0149-001-Convert_command03
+		OUTSTANDING
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0149
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0150
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0150
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit ota image file giving an image type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ota image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0150-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0150-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0150
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0151
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0151
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit ota image file giving a mime type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ota image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0151-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0151-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0151
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0152
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0152
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit mbm image file giving an image type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mbm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0152-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0152-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0152
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0153
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0153
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 16-bit mbm image file giving a mime type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mbm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0153-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0153-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0153
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0154
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0154
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit wbmp image file giving an image type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wbmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0154-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0154-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0154
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0155
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0155
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit wbmp image file giving a mime type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wbmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0155-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0155-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0155
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0156
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0156
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit wmf image file giving an image type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wmf image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0156-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0156-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0156
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0157
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0157
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit wmf image file giving a mime type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wmf image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0157-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0157-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0157
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0158
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0158
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit ico image file giving an image type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ico image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0158-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0158-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0158
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0159
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0159
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit ico image file giving a mime type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ico image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0159-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0159-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0159
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0160
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0160
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit mng image file giving an image type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mng image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0160-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0160-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0160
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0161
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0161
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit mng image file giving a mime type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mng image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0161-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0161-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0161
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0162
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0162
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit apm image file giving an image type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for apm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0162-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0162-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0162
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0163
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0163
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit apm image file giving a mime type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for apm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0163-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0163-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0163
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0164
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0164
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit clp image file giving an image type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for clp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0164-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0164-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0164
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0165
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0165
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit clp image file giving a mime type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for clp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0165-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0165-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0165
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0166
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0166
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a GM3 tif image file giving an image type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for tif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0166-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0166-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0166
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0167
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0167
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a GM4 tif image file giving a mime type, using TMMSource.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for tif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0167-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0167-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0167
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0168
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0168
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 4-bit gif image file giving an image type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for gif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0168-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0168-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0168
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0169
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0169
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 2-bit gif image file giving a mime type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for gif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0169-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0169-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0169
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0170
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0170
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit jpg image file giving an image type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for jpg image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0170-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0170-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0170
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0171
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0171
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit jpg image file giving a mime type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for jpg image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0171-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0171-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0171
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0172
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0172
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 4-bit bmp image file giving an image type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for bmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0172-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0172-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0172
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0173
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0173
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit bmp image file giving a mime type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for bmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0173-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0173-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0173
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0174
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0174
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 4-bit png image file giving an image type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for png image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0174-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0174-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0174
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0175
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0175
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit png image file giving a mime type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for png image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0175-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0175-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0175
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0176
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0176
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode an uncompressed 4-bit tif image file giving an image type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for tif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder	\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND			imagedecoder1	FileNewL	MM-ICL-DECDE-PublicApi-0176-001-FileNewL_command01
+		COMMAND			imagedecoder1	FrameInfo
+		COMMAND	!AsyncError=-5	imagedecoder1	Convert		MM-ICL-DECDE-PublicApi-0176-001-Convert_command03
+		OUTSTANDING
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0176
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0177
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0177
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode an uncompressed 1-bit tif image file giving a mime type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for tif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder	\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND			imagedecoder1	FileNewL	MM-ICL-DECDE-PublicApi-0177-001-FileNewL_command01
+		COMMAND			imagedecoder1	FrameInfo
+		COMMAND	!AsyncError=-5	imagedecoder1	Convert		MM-ICL-DECDE-PublicApi-0177-001-Convert_command03
+		OUTSTANDING
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0177
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0178
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0178
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit ota image file giving an image type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ota image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0178-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0178-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0178
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0179
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0179
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit ota image file giving a mime type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ota image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0179-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0179-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0179
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0180
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0180
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 8-bit mbm image file giving an image type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mbm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0180-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0180-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0180
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0181
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0181
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 4-bit mbm image file giving a mime type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mbm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0181-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0181-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0181
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0182
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0182
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit wbmp image file giving an image type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wbmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0182-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0182-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0182
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0183
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0183
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 1-bit wbmp image file giving a mime type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wbmp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0183-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0183-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0183
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0184
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0184
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit wmf image file giving an image type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wmf image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0184-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0184-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0184
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0185
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0185
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit wmf image file giving a mime type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for wmf image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0185-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0185-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0185
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0186
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0186
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 4-bit ico image file giving an image type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ico image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0186-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0186-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0186
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0187
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0187
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 4-bit ico image file giving a mime type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for ico image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0187-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0187-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0187
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0188
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0188
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit mng image file giving an image type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mng image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0188-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0188-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0188
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0189
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0189
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit mng image file giving a mime type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for mng image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0189-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0189-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0189
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0190
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0190
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit apm image file giving an image type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for apm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0190-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0190-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0190
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0191
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0191
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit apm image file giving a mime type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for apm image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0191-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0191-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0191
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0192
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0192
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit clp image file giving an image type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for clp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0192-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0192-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0192
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0193
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0193
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a 24-bit clp image file giving a mime type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for clp image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0193-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0193-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0193
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0194
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0194
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a GM3 tif image file giving an image type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for tif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0194-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0194-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0194
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0195
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0195
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		10/04/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Decode a GM4 tif image file giving a mime type, using intent, without using RFile.
+//!				Uses API elements: FileNewL(), FrameInfo(), Convert().
+//! @SYMTestActions    		1. Create decoder for tif image in file. 2. Get frame info. 3. Decode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image decoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0195-001-FileNewL_command01
+		COMMAND		imagedecoder1	FrameInfo
+		COMMAND		imagedecoder1	Convert			MM-ICL-DECDE-PublicApi-0195-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0195
+
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0097
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0097
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get primary MIME type of the decoder for all supported image file formats.
+//!				Uses API elements: GetMimeTypeFileL().
+//! @SYMTestActions    		1-13. Get primary MIME type of the decoder for all supported image file formats.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Information returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	GetMimeTypeFileL	MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command01
+		COMMAND		imagedecoder1	GetMimeTypeFileL	MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command02
+		COMMAND		imagedecoder1	GetMimeTypeFileL	MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command03
+		COMMAND		imagedecoder1	GetMimeTypeFileL	MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command04
+		COMMAND		imagedecoder1	GetMimeTypeFileL	MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command05
+		COMMAND		imagedecoder1	GetMimeTypeFileL	MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command06
+		COMMAND		imagedecoder1	GetMimeTypeFileL	MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command07
+		COMMAND		imagedecoder1	GetMimeTypeFileL	MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command08
+		COMMAND		imagedecoder1	GetMimeTypeFileL	MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command09
+		COMMAND		imagedecoder1	GetMimeTypeFileL	MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command10
+		COMMAND		imagedecoder1	GetMimeTypeFileL	MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command11
+		COMMAND		imagedecoder1	GetMimeTypeFileL	MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command12
+		COMMAND		imagedecoder1	GetMimeTypeFileL	MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command13
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0097
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0099
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0099
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get primary MIME type of the decoder for all supported image descriptor formats.
+//!				Uses API elements: GetMimeTypeDataL().
+//! @SYMTestActions    		1-13. Get primary MIME type of the decoder for all supported image descriptor formats.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Information returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT	CImageDecoder	imagedecoder1
+		COMMAND		imagedecoder1	GetMimeTypeDataL	MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command01
+		COMMAND		imagedecoder1	GetMimeTypeDataL	MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command02
+		COMMAND		imagedecoder1	GetMimeTypeDataL	MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command03
+		COMMAND		imagedecoder1	GetMimeTypeDataL	MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command04
+		COMMAND		imagedecoder1	GetMimeTypeDataL	MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command05
+		COMMAND		imagedecoder1	GetMimeTypeDataL	MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command06
+		COMMAND		imagedecoder1	GetMimeTypeDataL	MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command07
+		COMMAND		imagedecoder1	GetMimeTypeDataL	MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command08
+		COMMAND		imagedecoder1	GetMimeTypeDataL	MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command09
+		COMMAND		imagedecoder1	GetMimeTypeDataL	MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command10
+		COMMAND		imagedecoder1	GetMimeTypeDataL	MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command11
+		COMMAND		imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0099
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0196
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0196
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			Louis Henry Nayegon
+//! @SYMCreationDate		24/07/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get primary MIME type of the decoder for .ota file.
+//!				Uses API elements: GetMimeTypeDataL().
+//! @SYMTestActions    		1-13. Get primary MIME type for .ota file. As this does have enough info in the header an error should be produced.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Information returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	GetMimeTypeDataL	MM-ICL-DECDE-PublicApi-0196-001-GetMimeTypeDataL_command01
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0196
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0197
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0197
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			Louis Henry Nayegon
+//! @SYMCreationDate		24/07/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Get primary MIME type of the decoder for .wbmp file.
+//!				Uses API elements: GetMimeTypeDataL().
+//! @SYMTestActions    		1-13. Get primary MIME type for .wbmp file. As this does have enough info in the header an error should be produced.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Information returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND	!Error=-1	imagedecoder1	GetMimeTypeDataL	MM-ICL-DECDE-PublicApi-0197-001-GetMimeTypeDataL_command01
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0197
+
+START_TESTCASE 			MM-ICL-DECDE-PublicApi-0116
+//! @SYMTestCaseID		MM-ICL-DECDE-PublicApi-0116
+//! @SYMAPI			CImageDecoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-DECDE-PublicApi.script
+//! @SYMTestCaseDesc		Set serveral agent properties.
+//!				Uses API elements: FileNewL(), SetAgentProperty().
+//! @SYMTestActions    		1. Create decoder for gif image in file. 2-5. Set serveral agent properties.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Agent properties set with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageDecoder		\multimedia\MM-ICL-DECDE-PublicApi.ini
+		CREATE_OBJECT		CImageDecoder	imagedecoder1
+		COMMAND			imagedecoder1	FileNewL		MM-ICL-DECDE-PublicApi-0116-001-FileNewL_command01
+		COMMAND	!Error=-17450	imagedecoder1	SetAgentProperty	MM-ICL-DECDE-PublicApi-0116-001-SetAgentProperty_command02
+		COMMAND	!Error=-17450	imagedecoder1	SetAgentProperty	MM-ICL-DECDE-PublicApi-0116-001-SetAgentProperty_command03
+		COMMAND	!Error=-17450	imagedecoder1	SetAgentProperty	MM-ICL-DECDE-PublicApi-0116-001-SetAgentProperty_command04
+		COMMAND	!Error=-17450	imagedecoder1	SetAgentProperty	MM-ICL-DECDE-PublicApi-0116-001-SetAgentProperty_command05
+		COMMAND			imagedecoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-DECDE-PublicApi-0116
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageDecoder/scripts/setup-MM-ICL-DECDE-PublicApi.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,108 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+RUN_UTILS MkDir 	${SYSDRIVE}\multimedia\
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\t_imagedecoder\
+
+RUN_UTILS CopyFile	z:\multimedia\MM-ICL-DECDE-PublicApi.script	${SYSDRIVE}\multimedia\MM-ICL-DECDE-PublicApi.script
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-ICL-DECDE-PublicApi.script
+
+RUN_UTILS CopyFile	z:\multimedia\t_multimedia.tcs	${SYSDRIVE}\multimedia\t_multimedia.tcs
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia.tcs
+
+RUN_UTILS CopyFile	z:\multimedia\MM-ICL-DECDE-PublicApi.ini	${SYSDRIVE}\multimedia\MM-ICL-DECDE-PublicApi.ini
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-ICL-DECDE-PublicApi.ini
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\24bit.apm		${SYSDRIVE}\multimedia\t_imagedecoder\24bit.apm
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\24bit.apm
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\1bit.bmp		${SYSDRIVE}\multimedia\t_imagedecoder\1bit.bmp
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\1bit.bmp
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\4bit.bmp		${SYSDRIVE}\multimedia\t_imagedecoder\4bit.bmp
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\4bit.bmp
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\8bit.bmp		${SYSDRIVE}\multimedia\t_imagedecoder\8bit.bmp
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\8bit.bmp
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\24bit.bmp		${SYSDRIVE}\multimedia\t_imagedecoder\24bit.bmp
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\24bit.bmp
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\24bit.clp		${SYSDRIVE}\multimedia\t_imagedecoder\24bit.clp
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\24bit.clp
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\1bit.gif		${SYSDRIVE}\multimedia\t_imagedecoder\1bit.gif
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\1bit.gif
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\2bit.gif		${SYSDRIVE}\multimedia\t_imagedecoder\2bit.gif
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\2bit.gif
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\4bit.gif		${SYSDRIVE}\multimedia\t_imagedecoder\4bit.gif
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\4bit.gif
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\6bit.gif		${SYSDRIVE}\multimedia\t_imagedecoder\6bit.gif
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\6bit.gif
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\8bit.gif		${SYSDRIVE}\multimedia\t_imagedecoder\8bit.gif
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\8bit.gif
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\commented.gif	${SYSDRIVE}\multimedia\t_imagedecoder\commented.gif
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\commented.gif
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\4bit.ico		${SYSDRIVE}\multimedia\t_imagedecoder\4bit.ico
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\4bit.ico
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\8bit.ico		${SYSDRIVE}\multimedia\t_imagedecoder\8bit.ico
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\8bit.ico
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\8bit.jpg		${SYSDRIVE}\multimedia\t_imagedecoder\8bit.jpg
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\8bit.jpg
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\24bit.jpg		${SYSDRIVE}\multimedia\t_imagedecoder\24bit.jpg
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\24bit.jpg
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\thumbnail.jpg	${SYSDRIVE}\multimedia\t_imagedecoder\thumbnail.jpg
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\thumbnail.jpg
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\commented.jpg	${SYSDRIVE}\multimedia\t_imagedecoder\commented.jpg
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\commented.jpg
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\dec1bit.mbm	${SYSDRIVE}\multimedia\t_imagedecoder\dec1bit.mbm
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\dec1bit.mbm
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\dec2bit.mbm	${SYSDRIVE}\multimedia\t_imagedecoder\dec2bit.mbm
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\dec2bit.mbm
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\dec4bit.mbm	${SYSDRIVE}\multimedia\t_imagedecoder\dec4bit.mbm
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\dec4bit.mbm
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\dec8bit.mbm	${SYSDRIVE}\multimedia\t_imagedecoder\dec8bit.mbm
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\dec8bit.mbm
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\dec16bit.mbm	${SYSDRIVE}\multimedia\t_imagedecoder\dec16bit.mbm
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\dec16bit.mbm
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\dec24bit.mbm	${SYSDRIVE}\multimedia\t_imagedecoder\dec24bit.mbm
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\dec24bit.mbm
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\24bit.mng		${SYSDRIVE}\multimedia\t_imagedecoder\24bit.mng
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\24bit.mng
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\1bit.ota		${SYSDRIVE}\multimedia\t_imagedecoder\1bit.ota
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\1bit.ota
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\1bit.png		${SYSDRIVE}\multimedia\t_imagedecoder\1bit.png
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\1bit.png
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\4bit.png		${SYSDRIVE}\multimedia\t_imagedecoder\4bit.png
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\4bit.png
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\8bit.png		${SYSDRIVE}\multimedia\t_imagedecoder\8bit.png
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\8bit.png
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\24bit.png		${SYSDRIVE}\multimedia\t_imagedecoder\24bit.png
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\24bit.png
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\1bitG3.tif		${SYSDRIVE}\multimedia\t_imagedecoder\1bitG3.tif
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\1bitG3.tif
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\1bitG4.tif		${SYSDRIVE}\multimedia\t_imagedecoder\1bitG4.tif
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\1bitG4.tif
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\1bit.tif		${SYSDRIVE}\multimedia\t_imagedecoder\1bit.tif
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\1bit.tif
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\4bit.tif		${SYSDRIVE}\multimedia\t_imagedecoder\4bit.tif
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\4bit.tif
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\8bit.tif		${SYSDRIVE}\multimedia\t_imagedecoder\8bit.tif
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\8bit.tif
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\24bit.tif		${SYSDRIVE}\multimedia\t_imagedecoder\24bit.tif
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\24bit.tif
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\1bit.wbmp		${SYSDRIVE}\multimedia\t_imagedecoder\1bit.wbmp
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\1bit.wbmp
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\24bit.wmf		${SYSDRIVE}\multimedia\t_imagedecoder\24bit.wmf
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\24bit.wmf
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\corrupted.bmp	${SYSDRIVE}\multimedia\t_imagedecoder\corrupted.bmp
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\corrupted.bmp
+RUN_UTILS CopyFile	z:\multimedia\t_imagedecoder\partial.bmp	${SYSDRIVE}\multimedia\t_imagedecoder\partial.bmp
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imagedecoder\partial.bmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageDecoder/src/T_ImageDecoderServer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_ImageDecoderServer.h"
+
+CT_ImageDecoderServer* CT_ImageDecoderServer::NewL()
+	{
+	CT_ImageDecoderServer* server = new (ELeave) CT_ImageDecoderServer();
+	CleanupStack::PushL(server);
+	server->ConstructL();
+	CleanupStack::Pop(server);
+	return server;
+	}
+
+LOCAL_C void MainL()
+	{
+#if (defined __DATA_CAGING__)
+	RProcess().DataCaging(RProcess::EDataCagingOn);
+	RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+	CActiveScheduler* sched=NULL;
+	sched = new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(sched);
+	CT_ImageDecoderServer* server = NULL;
+	TRAPD(err, server = CT_ImageDecoderServer::NewL());
+	if(!err)
+		{
+		RProcess::Rendezvous(KErrNone);
+		sched->Start();
+		}
+	delete server;
+	delete sched;
+	}
+
+GLDEF_C TInt E32Main()
+	{
+	CTrapCleanup* cleanup = CTrapCleanup::New();
+	if(cleanup == NULL)
+		{
+		return KErrNoMemory;
+		}
+	TRAP_IGNORE(MainL());
+	delete cleanup;
+	return KErrNone;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageDecoder/src/T_MMDataImageDecoder.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1418 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataImageDecoder.h"
+#include "T_MMUtil.h"
+
+/*@{*/
+_LIT(KBitmapMaskFile,						"bitmapmaskfile");
+_LIT(KFrameNumber,							"framenumber");
+_LIT(KBitmapFile,							"bitmapfile");
+_LIT(KUseRFile,								"userfile");
+_LIT(KUseTMMSource,							"usetmmsource");
+_LIT(KFilename,								"filename");
+_LIT(KMime,									"mime");
+_LIT(KOption,								"option%d");
+_LIT(KImageType,							"imagetype");
+_LIT(KImageSubType,							"imagesubtype");
+_LIT(KEncoderUid,							"encoderuid");
+_LIT(KUid,									"uid");
+_LIT(KUid2,									"uid2");
+_LIT(KCommentNumber,						"commentnumber");
+_LIT(KOriginalWidth,						"originalwidth");
+_LIT(KOriginalHeight,						"originalheight");
+_LIT(KReducedWidth,							"reducedwidth");
+_LIT(KReducedHeight,						"reducedheight");
+_LIT(KReductionFactor,						"reductionfactor");
+_LIT(KAgentProperty,						"agentproperty");
+_LIT(KAgentValue,							"agentvalue");
+_LIT(KUniqueId,								"uniqueid");
+_LIT(KEnableUI,								"enableui");
+_LIT(KFrameCount,							"framecount");
+_LIT(KCount,								"count");
+_LIT(KImageName,							"imagename");
+_LIT(KComment,								"comment");
+_LIT(KExpected,								"expected");
+
+_LIT(KCmdDestructor,						"~");
+_LIT(KCmdCancel,							"Cancel");
+_LIT(KCmdContinueConvert,					"ContinueConvert");
+_LIT(KCmdContinueProcessingHeaderL,			"ContinueProcessingHeaderL");
+_LIT(KCmdConvert,							"Convert");
+_LIT(KCmdDataNewL,							"DataNewL");
+_LIT(KCmdFileNewL,							"FileNewL");
+_LIT(KCmdFrameCommentL,						"FrameCommentL");
+_LIT(KCmdFrameCount,						"FrameCount");
+_LIT(KCmdFrameData,							"FrameData");
+_LIT(KCmdFrameInfo,							"FrameInfo");
+_LIT(KCmdFrameInfoStringsL,					"FrameInfoStringsL");
+_LIT(KCmdFrameInfoStringsLC,				"FrameInfoStringsLC");
+_LIT(KCmdGetFileTypesL,						"GetFileTypesL");
+_LIT(KCmdGetImageSubTypesL,					"GetImageSubTypesL");
+_LIT(KCmdGetImageTypesL,					"GetImageTypesL");
+_LIT(KCmdGetImplementationInformationL,		"GetImplementationInformationL");
+_LIT(KCmdGetMimeTypeDataL,					"GetMimeTypeDataL");
+_LIT(KCmdGetMimeTypeFileL,					"GetMimeTypeFileL");
+_LIT(KCmdImageCommentL,						"ImageCommentL");
+_LIT(KCmdImageType,							"ImageType");
+_LIT(KCmdImplementationUid,					"ImplementationUid");
+_LIT(KCmdIsImageHeaderProcessingComplete,	"IsImageHeaderProcessingComplete");
+_LIT(KCmdNumberOfFrameComments,				"NumberOfFrameComments");
+_LIT(KCmdNumberOfImageComments,				"NumberOfImageComments");
+_LIT(KCmdReducedSize,						"ReducedSize");
+_LIT(KCmdReductionFactor,					"ReductionFactor");
+_LIT(KCmdSetAgentProperty,					"SetAgentProperty");
+_LIT(KCmdSetImageTypeL,						"SetImageTypeL");
+/*@}*/
+
+const TInt	KMimeBufferSize = 1024;
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+CT_MMDataImageDecoder* CT_MMDataImageDecoder::NewL()
+/**
+ * Two phase constructor
+ *
+ * @leave	system wide error
+ */
+	{
+	CT_MMDataImageDecoder*	ret=new (ELeave) CT_MMDataImageDecoder();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+CT_MMDataImageDecoder::CT_MMDataImageDecoder()
+/**
+ * Protected constructor. First phase construction
+ */
+:	iImageDecoder(NULL)
+,	iFbsSessionConnected(EFalse)
+,	iState(EState_Unknown)
+,	iActive(NULL)
+,	iBitmap(NULL)
+,	iBitmapMask(NULL)
+,	iFrameInfoStrings(NULL)
+,	iImplementationInformationType(NULL)
+,	iFileOpened(EFalse)
+,	iHasBitmapFile(EFalse)
+,   iAsyncConvertFailed(EFalse)
+,	iDataSource(NULL)
+	{
+	}
+
+void CT_MMDataImageDecoder::ConstructL()
+/**
+ * Second phase construction
+ *
+ * @internalComponent
+ *
+ * @return	N/A
+ *
+ * @pre		None
+ * @post	None
+ *
+ * @leave	system wide error
+ */
+	{
+	User::LeaveIfError(iFs.Connect());
+
+	User::LeaveIfError(iFbsSession.Connect()); // Will leave with KErrNotFound if TextShell in epoc.ini
+	iFbsSessionConnected=ETrue;
+
+	iActive = CActiveCallback::NewL(*this);
+	}
+
+CT_MMDataImageDecoder::~CT_MMDataImageDecoder()
+/**
+ * Public destructor
+ */
+	{
+	DestroyData();
+
+	delete iDataSource;
+	iDataSource=NULL;
+	delete iImplementationInformationType;
+	iImplementationInformationType=NULL;
+	delete iFrameInfoStrings;
+	iFrameInfoStrings=NULL;
+	delete iBitmapMask;
+	iBitmapMask=NULL;
+	delete iBitmap;
+	iBitmap=NULL;
+	delete iActive;
+	iActive=NULL;
+	if ( iFbsSessionConnected )
+		{
+		iFbsSession.Disconnect();
+		iFbsSessionConnected=EFalse;
+		}
+	}
+
+TAny* CT_MMDataImageDecoder::GetObject()
+	{
+	return iImageDecoder;
+	}
+
+void CT_MMDataImageDecoder::SetObjectL(TAny* aObject)
+	{
+	DestroyData();
+	iImageDecoder	= static_cast<CImageDecoder*> (aObject);
+	}
+
+void CT_MMDataImageDecoder::DisownObjectL()
+	{
+	iImageDecoder = NULL;
+	}
+
+void CT_MMDataImageDecoder::DestroyData()
+	{
+	if ( iFileOpened )
+		{
+		iFile.Close();
+		iFileOpened=EFalse;
+		}
+	iFs.Close();
+	iImageTypeArray.Close();
+	iSubTypeArray.Close();
+	iFileExtensionArray.Close();
+	delete iImageDecoder;
+	iImageDecoder=NULL;
+	}
+
+CImageDecoder::TOptions CT_MMDataImageDecoder::ReadOptions(const TDesC& aSection)
+/**
+ ReadOptions - read in bitwise image decoder options
+ @internalComponent
+ @param aSection - main entry in .ini file
+ @return CImageDecoder::TOptions
+ @pre None
+ @post 2nd stage construction complete
+*/
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt								index=0;
+	TBool								moreData=ETrue;
+	TPtrC								optionString;
+	TInt								options=CImageDecoder::EOptionNone;
+	while ( moreData )
+		{
+		tempStore.Format(KOption(), ++index);
+		if ( GetStringFromConfig(aSection, tempStore, optionString) )
+			{
+			CImageDecoder::TOptions	option;
+			if ( CT_MMUtil::ConvertToOption(optionString, option) )
+				{
+				options |= option;
+				}
+			else
+				{
+				ERR_PRINTF2(_L("Illegal option %S"), &optionString);
+				SetBlockResult(EFail);
+				}
+			}
+		else
+			{
+			moreData=EFalse;
+			}
+		}
+
+	return CImageDecoder::TOptions(options);
+	}
+
+void CT_MMDataImageDecoder::ReadUids(const TDesC& aSection, TUid& aImageType, TUid& aImageSubType, TUid& aEncoderUid)
+/**
+ ReadUids - read in bitwise image encoder options
+ @internalComponent
+ @param aSection - main entry in .ini file
+ @param aImageType - reference to image type uid if not present uid returned is 0
+ @param aImageSubType - reference to image sub type uid if not present uid returned is 0
+ @param aEncoderUid - reference to encoder uid if not present uid returned is 0
+ @return N/A
+ @pre None
+ @post 2nd stage construction complete
+*/
+	{
+	TInt								intTemp;
+
+	intTemp=0;
+	GetHexFromConfig(aSection, KImageType(), intTemp);
+	aImageType=TUid::Uid(intTemp);
+
+	intTemp=0;
+	GetHexFromConfig(aSection, KImageSubType(), intTemp);
+	aImageSubType=TUid::Uid(intTemp);
+
+	intTemp=0;
+	GetHexFromConfig(aSection, KEncoderUid(), intTemp);
+	aEncoderUid=TUid::Uid(intTemp);
+	}
+
+TBool CT_MMDataImageDecoder::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+/**
+ * Process a command read from the ini file
+ *
+ * @param aCommand			The command to process
+ * @param aSection			The section in the ini containing data for the command
+ * @param aAsyncErrorIndex	Command index for async calls to return errors to
+ *
+ * @return					ETrue if the command is processed
+ *
+ * @leave					System wide error
+ */
+	{
+	TBool	ret=ETrue;
+
+	if ( aCommand==KCmdDestructor )
+		{
+		DoCmdDestructor();
+		}
+	else if ( aCommand==KCmdCancel )
+		{
+		DoCmdCancel();
+		}
+	else if ( aCommand==KCmdContinueConvert )
+		{
+		DoCmdContinueConvert(aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdContinueProcessingHeaderL )
+		{
+		DoCmdContinueProcessingHeaderL();
+		}
+	else if ( aCommand==KCmdConvert )
+		{
+		DoCmdConvertL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdDataNewL )
+		{
+		DoCmdDataNewL(aSection);
+		}
+	else if ( aCommand==KCmdFileNewL )
+		{
+		DoCmdFileNewL(aSection);
+		}
+	else if ( aCommand==KCmdFrameCommentL )
+		{
+		DoCmdFrameCommentL(aSection);
+		}
+	else if ( aCommand==KCmdFrameCount )
+		{
+		DoCmdFrameCount(aSection);
+		}
+	else if ( aCommand==KCmdFrameData )
+		{
+		DoCmdFrameData(aSection);
+		}
+	else if ( aCommand==KCmdFrameInfo )
+		{
+		DoCmdFrameInfo(aSection);
+		}
+	else if ( aCommand==KCmdFrameInfoStringsL )
+		{
+		DoCmdFrameInfoStringsL(aSection);
+		}
+	else if ( aCommand==KCmdFrameInfoStringsLC )
+		{
+		DoCmdFrameInfoStringsLCApi(aSection);
+		}
+	else if ( aCommand==KCmdGetFileTypesL )
+		{
+		DoCmdGetFileTypesL(aSection);
+		}
+	else if ( aCommand==KCmdGetImageSubTypesL )
+		{
+		DoCmdGetImageSubTypesL(aSection);
+		}
+	else if ( aCommand==KCmdGetImageTypesL )
+		{
+		DoCmdGetImageTypesL(aSection);
+		}
+	else if ( aCommand==KCmdGetImplementationInformationL )
+		{
+		DoCmdGetImplementationInformationL(aSection);
+		}
+	else if ( aCommand==KCmdGetMimeTypeDataL )
+		{
+		DoCmdGetMimeTypeDataL(aSection);
+		}
+	else if ( aCommand==KCmdGetMimeTypeFileL )
+		{
+		DoCmdGetMimeTypeFileL(aSection);
+		}
+	else if ( aCommand==KCmdImageCommentL )
+		{
+		DoCmdImageCommentL(aSection);
+		}
+	else if ( aCommand==KCmdImageType )
+		{
+		DoCmdImageType(aSection);
+		}
+	else if ( aCommand==KCmdImplementationUid )
+		{
+		DoCmdImplementationUid();
+		}
+	else if ( aCommand==KCmdIsImageHeaderProcessingComplete )
+		{
+		DoCmdIsImageHeaderProcessingComplete(aSection);
+		}
+	else if ( aCommand==KCmdNumberOfFrameComments )
+		{
+		DoCmdNumberOfFrameComments(aSection);
+		}
+	else if ( aCommand==KCmdNumberOfImageComments )
+		{
+		DoCmdNumberOfImageComments(aSection);
+		}
+	else if ( aCommand==KCmdReducedSize )
+		{
+		DoCmdReducedSize(aSection);
+		}
+	else if ( aCommand==KCmdReductionFactor )
+		{
+		DoCmdReductionFactor(aSection);
+		}
+	else if ( aCommand==KCmdSetAgentProperty )
+		{
+		DoCmdSetAgentProperty(aSection);
+		}
+	else if ( aCommand==KCmdSetImageTypeL )
+		{
+		DoCmdSetImageTypeL(aSection);
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+void CT_MMDataImageDecoder::DoCmdDestructor()
+	{
+	DestroyData();
+	}
+
+void CT_MMDataImageDecoder::DoCmdCancel()
+	{
+	iImageDecoder->Cancel();
+	}
+
+void CT_MMDataImageDecoder::DoCmdContinueConvert(const TInt aAsyncErrorIndex)
+	{
+	iImageDecoder->ContinueConvert(&iActive->iStatus);
+	iActive->Activate(aAsyncErrorIndex);
+	IncOutstanding();
+	}
+
+void CT_MMDataImageDecoder::DoCmdContinueProcessingHeaderL()
+	{
+	TRAPD(err, iImageDecoder->ContinueProcessingHeaderL());
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CImageDecoder::ContinueProcessingHeaderL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdConvertL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+	TPtrC	bitmapMaskFile;
+	TBool	hasMask=GetStringFromConfig(aSection, KBitmapMaskFile(), bitmapMaskFile);
+
+	if ( hasMask )
+		{
+		delete iBitmapMask;
+		iBitmapMask=NULL;
+		iBitmapMask=new (ELeave) CFbsBitmap();
+		User::LeaveIfError(iBitmapMask->Load(bitmapMaskFile));
+		}
+
+	TInt	frameNumber=0;
+	GetIntFromConfig(aSection, KFrameNumber(), frameNumber);
+
+	iHasBitmapFile=GetStringFromConfig(aSection, KBitmapFile(), iBitmapFile);
+
+	delete iBitmap;
+	iBitmap=NULL;
+	iBitmap=new (ELeave) CFbsBitmap();
+	TInt	err=iBitmap->Create(iFrameInfo.iOverallSizeInPixels, iFrameInfo.iFrameDisplayMode);
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CFbsBitmap::Load failed with error %d"), err);
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		if ( hasMask )
+			{
+			iState=EState_Convert;
+			iImageDecoder->Convert(&(iActive->iStatus), *iBitmap, *iBitmapMask, frameNumber);
+			}
+		else
+			{
+			iState=EState_Convert;
+			iImageDecoder->Convert(&(iActive->iStatus), *iBitmap, frameNumber);
+			}
+		iActive->Activate(aAsyncErrorIndex);
+	    IncOutstanding();
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdDataNewL(const TDesC& aSection)
+	{
+	delete iDataSource;
+	iDataSource=NULL;
+	TPtrC	filename;
+	TBool fileNameFound = GetStringFromConfig(aSection, KFilename(), filename);
+	if ( !fileNameFound )
+		{
+		ERR_PRINTF1(_L("No Filename"));
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		RFile	file;
+		User::LeaveIfError(file.Open(iFs, filename, EFileRead|EFileShareAny));
+		CleanupClosePushL(file);
+		TInt	size;
+		User::LeaveIfError(file.Size(size));
+		iDataSource=HBufC8::NewL(size);
+		TPtr8	sourcePtr(iDataSource->Des());
+		User::LeaveIfError(file.Read(sourcePtr));
+		CleanupStack::PopAndDestroy(&file);
+		}
+
+	TPtrC	mime;
+	TBool	hasMime=GetStringFromConfig(aSection, KMime(), mime);
+
+	//	Read options
+	CImageDecoder::TOptions	options=ReadOptions(aSection);
+
+	//	Read Uids
+	TUid	imageType;
+	TUid	imageSubType;
+	TUid	encoderUid;
+	ReadUids(aSection, imageType, imageSubType, encoderUid);
+
+	if ( iAsyncConvertFailed==EFalse )
+		{
+		HBufC8*	mime8=HBufC8::NewLC(mime.Length());
+		mime8->Des().Copy(mime);
+
+		if ( hasMime )
+			{
+			TRAPD(err, iImageDecoder=CImageDecoder::DataNewL(iFs, *iDataSource, *mime8, options));
+			if ( err == KErrNone )
+				{
+				INFO_PRINTF1(_L("CImageDecoder::DataNewL(iFs, *iDataSource, mime8->Des(), options)"));
+				}
+			else
+				{
+				ERR_PRINTF2(_L("CImageDecoder::DataNewL Error %d"), err);
+				SetError(err);
+				}
+			}
+		else
+			{
+			TRAPD(err, iImageDecoder=CImageDecoder::DataNewL(iFs, *iDataSource, options, imageType, imageSubType, encoderUid));
+			if ( err == KErrNone )
+				{
+				INFO_PRINTF1(_L("CImageDecoder::DataNewL(iFs, *iDataSource, options, imageType, imageSubType, encoderUid)"));
+				}
+			else
+				{
+				ERR_PRINTF2(_L("CImageDecoder::DataNewL Error %d"), err);
+				SetError(err);
+				}
+			}
+		CleanupStack::PopAndDestroy(mime8);
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdFileNewL(const TDesC& aSection)
+	{
+	TBool	useRFile=EFalse;
+	GetBoolFromConfig(aSection, KUseRFile(), useRFile);
+
+	TBool	useTMMSource=EFalse;
+	GetBoolFromConfig(aSection, KUseTMMSource(), useTMMSource);
+
+	TPtrC	filename;
+	TBool fileNameFound = GetStringFromConfig(aSection, KFilename(), filename);
+	if ( !fileNameFound )
+		{
+		ERR_PRINTF1(_L("No Filename"));
+		SetBlockResult(EFail);
+		}
+
+	TPtrC	mime;
+	TBool	hasMime=GetStringFromConfig(aSection, KMime(), mime);
+
+	//	Read options
+	CImageDecoder::TOptions	options=ReadOptions(aSection);
+
+	//	Read intent
+	ContentAccess::TIntent	intent=ContentAccess::EPeek;
+	TBool					hasIntent=CT_MMUtil::ReadIntent(*this, aSection, intent);
+
+	//	Read Uids
+	TUid	imageType;
+	TUid	imageSubType;
+	TUid	encoderUid;
+	ReadUids(aSection, imageType, imageSubType, encoderUid);
+
+	if ( iAsyncConvertFailed==EFalse )
+		{
+		HBufC8*	mime8=HBufC8::NewLC(mime.Length());
+		mime8->Des().Copy(mime);
+		if ( useRFile )
+			{
+			if ( iFileOpened )
+				{
+				iFile.Close();
+				iFileOpened=EFalse;
+				}
+			User::LeaveIfError(iFile.Open(iFs, filename, EFileWrite));
+			iFileOpened=ETrue;
+			if ( hasMime )
+				{
+				TRAPD(err, iImageDecoder=CImageDecoder::FileNewL(iFile, mime8->Des(), intent, options));
+				if ( err == KErrNone )
+					{
+					INFO_PRINTF1(_L("CImageDecoder::FileNewL(iFile, mime8->Des(), intent, options)"));
+					}
+				else
+					{
+					ERR_PRINTF2(_L("CImageDecoder::FileNewL Error %d"), err);
+					SetError(err);
+					}
+				}
+			else
+				{
+				TRAPD(err, iImageDecoder=CImageDecoder::FileNewL(iFile, intent, options, imageType, imageSubType, encoderUid));
+				if ( err == KErrNone )
+					{
+					INFO_PRINTF1(_L("CImageDecoder::FileNewL(iFile, intent, options, imageType, imageSubType, encoderUid)"));
+					}
+				else
+					{
+					ERR_PRINTF2(_L("CImageDecoder::FileNewL Error %d"), err);
+					SetError(err);
+					}
+				}
+			}
+		else
+			{
+			if ( useTMMSource )
+				{
+				TPtrC	uniqueId = _L("");
+				GetStringFromConfig(aSection, KUniqueId(), uniqueId);
+
+				TBool	enableUI = EFalse;
+				GetBoolFromConfig(aSection, KEnableUI(), enableUI);
+
+				TMMFileSource	fileSource(filename, uniqueId, intent, enableUI);
+				if ( hasMime )
+					{
+					TRAPD(err, iImageDecoder=CImageDecoder::FileNewL(iFs, fileSource, mime8->Des(), options));
+					if ( err == KErrNone )
+						{
+						INFO_PRINTF1(_L("CImageDecoder::FileNewL(iFs, fileSource, mime8->Des(), options)"));
+						}
+					else
+						{
+						ERR_PRINTF2(_L("CImageDecoder::FileNewL Error %d"), err);
+						SetError(err);
+						}
+					}
+				else
+					{
+					TRAPD(err, iImageDecoder=CImageDecoder::FileNewL(iFs, fileSource, options, imageType, imageSubType, encoderUid));
+					if ( err == KErrNone )
+						{
+						INFO_PRINTF1(_L("CImageDecoder::FileNewL(iFs, fileSource, options, imageType, imageSubType, encoderUid)"));
+						}
+					else
+						{
+						ERR_PRINTF2(_L("CImageDecoder::FileNewL Error %d"), err);
+						SetError(err);
+						}
+					}
+				}
+			else
+				{
+				if ( hasMime )
+					{
+					if ( hasIntent )
+						{
+						TRAPD(err, iImageDecoder=CImageDecoder::FileNewL(iFs, filename, mime8->Des(), intent, options));
+						if ( err == KErrNone )
+							{
+							INFO_PRINTF1(_L("CImageDecoder::FileNewL(iFs, filename, mime8->Des(), intent, options)"));
+							}
+						else
+							{
+							ERR_PRINTF2(_L("CImageDecoder::FileNewL Error %d"), err);
+							SetError(err);
+							}
+						}
+					else
+						{
+						TRAPD(err, iImageDecoder=CImageDecoder::FileNewL(iFs, filename, mime8->Des(), options));
+						if ( err == KErrNone )
+							{
+							INFO_PRINTF1(_L("CImageDecoder::FileNewL(iFs, filename, mime8->Des(), options)"));
+							}
+						else
+							{
+							ERR_PRINTF2(_L("CImageDecoder::FileNewL Error %d"), err);
+							SetError(err);
+							}
+						}
+					}
+				else
+					{
+					if ( hasIntent )
+						{
+						TRAPD(err, iImageDecoder=CImageDecoder::FileNewL(iFs, filename, intent, options, imageType, imageSubType, encoderUid));
+						if ( err == KErrNone )
+							{
+							INFO_PRINTF1(_L("CImageDecoder::FileNewL(iFs, filename, intent, options, imageType, imageSubType, encoderUid)"));
+							}
+						else
+							{
+							ERR_PRINTF2(_L("CImageDecoder::FileNewL Error %d"), err);
+							SetError(err);
+							}
+						}
+					else
+						{
+						TRAPD(err, iImageDecoder=CImageDecoder::FileNewL(iFs, filename, options, imageType, imageSubType, encoderUid));
+						if ( err == KErrNone )
+							{
+							INFO_PRINTF1(_L("CImageDecoder::FileNewL(iFs, filename, options, imageType, imageSubType, encoderUid)"));
+							}
+						else
+							{
+							ERR_PRINTF2(_L("CImageDecoder::FileNewL Error %d"), err);
+							SetError(err);
+							}
+						}
+					}
+				}
+			}
+		CleanupStack::PopAndDestroy(mime8);
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdFrameCommentL(const TDesC& aSection)
+	{
+	TInt	frameNumber=0;
+	GetIntFromConfig(aSection, KFrameNumber(), frameNumber);
+
+	TInt	commentNumber=0;
+	GetIntFromConfig(aSection, KCommentNumber(), commentNumber);
+
+	HBufC*	comment=NULL;
+	TRAPD(err, comment=iImageDecoder->FrameCommentL(frameNumber, commentNumber));
+	CleanupStack::PushL(comment);
+	if ( err==KErrNone )
+		{
+		TPtrC	output=comment->Des();
+		INFO_PRINTF2(_L("CImageDecoder::FrameCommentL() %S"), &output);
+
+		TPtrC	expectedComment;
+		if ( GetStringFromConfig(aSection, KComment(), expectedComment) )
+			{
+			if ( output != expectedComment )
+				{
+				ERR_PRINTF3(_L("comment (%S) != expectedComment (%S)"), &output, &expectedComment);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("CImageDecoder::FrameCommentL Error %d"), err);
+		SetError(err);
+		}
+	CleanupStack::PopAndDestroy(comment);
+	}
+
+void CT_MMDataImageDecoder::DoCmdFrameCount(const TDesC& aSection)
+	{
+	TInt	frameCount=iImageDecoder->FrameCount();
+	INFO_PRINTF2(_L("Frame Count=%d"), frameCount);
+
+	TInt	expectedFrameCount=0;
+	if ( GetIntFromConfig(aSection, KFrameCount(), expectedFrameCount) )
+		{
+		if ( frameCount != expectedFrameCount )
+			{
+			ERR_PRINTF3(_L("frameCount(%d) != expectedFrameCount(%d)"), frameCount, expectedFrameCount);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdFrameData(const TDesC& aSection)
+	{
+	TInt	frameNumber=0;
+	GetIntFromConfig(aSection, KFrameNumber(), frameNumber);
+
+	const CFrameImageData&	frameData=iImageDecoder->FrameData(frameNumber);
+	TInt					imageDataCount=frameData.ImageDataCount();
+	for ( TInt index=0; index<imageDataCount; ++index )
+		{
+		const TImageDataBlock*	imageData=frameData.GetImageData(index);
+		TUid					dataType=imageData->DataType();
+		INFO_PRINTF3(_L("DataType[%d]=0x%X"), index, dataType.iUid);
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdFrameInfo(const TDesC& aSection)
+	{
+	TInt	frameNumber=0;
+	GetIntFromConfig(aSection, KFrameNumber(), frameNumber);
+
+	iFrameInfo=iImageDecoder->FrameInfo(frameNumber);
+	// Only log if frameNumber is valid
+	if ( frameNumber<iImageDecoder->FrameCount() )
+		{
+		INFO_PRINTF2(_L("Current Frame State         %d"), iFrameInfo.CurrentFrameState());
+		INFO_PRINTF2(_L("Current Data Offset         %d"), iFrameInfo.CurrentDataOffset());
+		INFO_PRINTF2(_L("Frame Data Offset           %d"), iFrameInfo.FrameDataOffset());
+		INFO_PRINTF2(_L("Colour depth                %d"), iFrameInfo.iBitsPerPixel);
+		INFO_PRINTF2(_L("iOverallSizeInPixels Width  %d"), iFrameInfo.iOverallSizeInPixels.iWidth);
+		INFO_PRINTF2(_L("iOverallSizeInPixels Height %d"), iFrameInfo.iOverallSizeInPixels.iHeight);
+		INFO_PRINTF2(_L("iFrameDisplayMode           %d"), iFrameInfo.iFrameDisplayMode);
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdFrameInfoStringsL(const TDesC& aSection)
+	{
+	TInt	frameNumber=0;
+	GetIntFromConfig(aSection, KFrameNumber(), frameNumber);
+
+	delete iFrameInfoStrings;
+	iFrameInfoStrings=NULL;
+	TRAPD(err, iFrameInfoStrings=iImageDecoder->FrameInfoStringsL(frameNumber));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CImageDecoder::FrameInfoStringsL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		TBuf<KMaxTestExecuteCommandLength>	tempStore;
+		TPtrC								expectedString;
+		for ( TInt index=0; index<iFrameInfoStrings->Count(); ++index )
+			{
+			TPtrC	currentString = iFrameInfoStrings->String(index);
+			INFO_PRINTF3(_L("iFrameInfoStrings::String(%d) %S"), index, &currentString);
+
+			tempStore.Format(KOption(), index);
+			if ( GetStringFromConfig(aSection, tempStore, expectedString) )
+				{
+				if ( currentString != expectedString )
+					{
+					ERR_PRINTF3(_L("currentString (%S) != expectedString (%S)"), &currentString, &expectedString);
+					SetBlockResult(EFail);
+					}
+				}
+			}
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdFrameInfoStringsLCApi(const TDesC& aSection)
+	{
+	TInt	frameNumber=0;
+	GetIntFromConfig(aSection, KFrameNumber(), frameNumber);
+
+	delete iFrameInfoStrings;
+	iFrameInfoStrings=NULL;
+	TRAPD(err, iFrameInfoStrings=iImageDecoder->FrameInfoStringsLC(frameNumber); CleanupStack::Pop(iFrameInfoStrings));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CImageDecoder::FrameInfoStringsLC Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		TBuf<KMaxTestExecuteCommandLength>	tempStore;
+		TPtrC								expectedString;
+		for ( TInt index=0; index<iFrameInfoStrings->Count(); ++index )
+			{
+			TPtrC	currentString = iFrameInfoStrings->String(index);
+			INFO_PRINTF3(_L("iFrameInfoStrings::String(%d) %S"), index, &currentString);
+
+			tempStore.Format(KOption(), index);
+			if ( GetStringFromConfig(aSection, tempStore, expectedString) )
+				{
+				if ( currentString != expectedString )
+					{
+					ERR_PRINTF3(_L("currentString (%S) != expectedString (%S)"), &currentString, &expectedString);
+					SetBlockResult(EFail);
+					}
+				}
+			}
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdGetFileTypesL(const TDesC& aSection)
+	{
+	iFileExtensionArray.ResetAndDestroy();
+	TRAPD(err, CImageDecoder::GetFileTypesL(iFileExtensionArray));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CImageDecoder::GetFileTypesL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		CT_MMUtil::VerifyMIMETypeArrayL(*this, aSection, iFileExtensionArray);
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdGetImageSubTypesL(const TDesC& aSection)
+	{
+	TInt	uid=0;
+	GetHexFromConfig(aSection, KImageType(), uid);
+
+	iSubTypeArray.ResetAndDestroy();
+	TRAPD(err, CImageDecoder::GetImageSubTypesL(TUid::Uid(uid), iSubTypeArray));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CImageDecoder::GetImageSubTypesL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		TInt	count=iSubTypeArray.Count();
+		for ( TInt index=0; index<count; ++index )
+			{
+			CImageTypeDescription*	data=iSubTypeArray[index];
+			const TDesC&			description=data->Description();
+			TUid					imageType=data->ImageType();
+			TUid					subType=data->SubType();
+			INFO_PRINTF3(_L("Description[%d]      =%S"), index, &description);
+			INFO_PRINTF3(_L("ImageType[%d]        =0x%X"), index, imageType.iUid);
+			INFO_PRINTF3(_L("SubType[%d]          =0x%X"), index, subType.iUid);
+			}
+		TInt	expectedCount=0;
+		if ( GetIntFromConfig(aSection, KCount(), expectedCount) )
+			{
+			if ( count != expectedCount )
+				{
+				ERR_PRINTF3(_L("count (%d) != expectedCount (%d)"), count, expectedCount);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdGetImageTypesL(const TDesC& aSection)
+	{
+	iImageTypeArray.ResetAndDestroy();
+	TRAPD(err, CImageDecoder::GetImageTypesL(iImageTypeArray));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CImageDecoder::GetImageTypesL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		TInt	count=iImageTypeArray.Count();
+		for ( TInt index=0; index<count; ++index )
+			{
+			CImageTypeDescription*	data=iImageTypeArray[index];
+			const TDesC&			description=data->Description();
+			TUid					imageType=data->ImageType();
+			TUid					subType=data->SubType();
+			INFO_PRINTF3(_L("Description[%d]      =%S"), index, &description);
+			INFO_PRINTF3(_L("ImageType[%d]        =0x%X"), index, imageType.iUid);
+			INFO_PRINTF3(_L("SubType[%d]          =0x%X"), index, subType.iUid);
+			}
+		TInt	expectedCount=0;
+		if ( GetIntFromConfig(aSection, KCount(), expectedCount) )
+			{
+			if ( count != expectedCount )
+				{
+				ERR_PRINTF3(_L("count (%d) != expectedCount (%d)"), count, expectedCount);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdGetImplementationInformationL(const TDesC& aSection)
+	{
+	TInt	uid=0;
+	GetHexFromConfig(aSection, KUid(), uid);
+
+	delete iImplementationInformationType;
+	iImplementationInformationType=NULL;
+	TRAPD(err, iImplementationInformationType=CImageDecoder::GetImplementationInformationL(TUid::Uid(uid)));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CImageDecoder::GetImplementationInformationL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		TUid			implementationUid=iImplementationInformationType->ImplementationUid();
+		const TDesC&	displayName=iImplementationInformationType->DisplayName();
+		INFO_PRINTF2(_L("iImplementationInformationType->ImplementationUid()  =0x%X"), implementationUid.iUid);
+		INFO_PRINTF2(_L("iImplementationInformationType->Version()			=%d"), iImplementationInformationType->Version());
+		INFO_PRINTF2(_L("iImplementationInformationType->DisplayName()		=%S"), &displayName);
+
+		TInt	expectedUid=uid;
+		if ( expectedUid != implementationUid.iUid )
+			{
+			ERR_PRINTF3(_L("implementationUid (0x%X) != expectedImplementationUid (0x%X)"), implementationUid.iUid, expectedUid);
+			SetBlockResult(EFail);
+			}
+
+		TPtrC	expectedImageName;
+		if ( GetStringFromConfig(aSection, KImageName(), expectedImageName) )
+			{
+			if ( displayName != expectedImageName )
+				{
+				ERR_PRINTF3(_L("displayName (%S) != expectedDisplayName (%S)"), &displayName, &expectedImageName);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdGetMimeTypeDataL(const TDesC& aSection)
+	{
+	TPtrC	filename;
+	if ( GetStringFromConfig(aSection, KFilename(), filename) )
+		{
+		RFile	file;
+		User::LeaveIfError(file.Open(iFs, filename, EFileRead|EFileShareAny));
+		CleanupClosePushL(file);
+		TInt	size;
+		User::LeaveIfError(file.Size(size));
+		HBufC8*	imageData=HBufC8::NewLC(size);
+		TPtr8	imageDataPtr(imageData->Des());
+		User::LeaveIfError(file.Read(imageDataPtr));
+
+		TBuf8<KMimeBufferSize>	mimeBuffer;
+		TRAPD(err, CImageDecoder::GetMimeTypeDataL(*imageData, mimeBuffer));
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("CImageDecoder::GetMimeTypeDataL Error %d"), err);
+			SetError(err);
+			}
+		else
+			{
+			HBufC16*	mimeBuffer16=NULL;
+			mimeBuffer16=HBufC16::NewL(mimeBuffer.Length());
+			CleanupStack::PushL(mimeBuffer16);
+			mimeBuffer16->Des().Copy(mimeBuffer);
+			INFO_PRINTF2(_L("CImageDecoder::GetMimeTypeDataL() %S"), mimeBuffer16);
+
+			TPtrC	expectedMimeType;
+			if ( GetStringFromConfig(aSection, KMime(), expectedMimeType) )
+				{
+				if ( *mimeBuffer16 != expectedMimeType )
+					{
+					ERR_PRINTF3(_L("mimeType (%S) != expectedMimeType (%S)"), mimeBuffer16, &expectedMimeType);
+					SetBlockResult(EFail);
+					}
+				}
+			CleanupStack::PopAndDestroy(mimeBuffer16);
+			}
+		CleanupStack::PopAndDestroy(2, &file); // imageData, file
+		}
+	else
+		{
+		ERR_PRINTF1(_L("No Filename"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdGetMimeTypeFileL(const TDesC& aSection)
+	{
+	TPtrC	filename;
+	if ( GetStringFromConfig(aSection, KFilename(), filename) )
+		{
+		TBuf8<KMimeBufferSize>	mimeBuffer;
+		TRAPD(err, CImageDecoder::GetMimeTypeFileL(iFs, filename, mimeBuffer));
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("CImageDecoder::GetMimeTypeFileL Error %d"), err);
+			SetError(err);
+			}
+		else
+			{
+			HBufC16*	mimeBuffer16=NULL;
+			mimeBuffer16=HBufC16::NewL(mimeBuffer.Length());
+			CleanupStack::PushL(mimeBuffer16);
+			mimeBuffer16->Des().Copy(mimeBuffer);
+			INFO_PRINTF2(_L("CImageDecoder::GetMimeTypeFileL() %S"), mimeBuffer16);
+
+			TPtrC	expectedMimeType;
+			if ( GetStringFromConfig(aSection, KMime(), expectedMimeType) )
+				{
+				if ( *mimeBuffer16 != expectedMimeType )
+					{
+					ERR_PRINTF3(_L("mimeType (%S) != expectedMimeType (%S)"), mimeBuffer16, &expectedMimeType);
+					SetBlockResult(EFail);
+					}
+				}
+			CleanupStack::PopAndDestroy(mimeBuffer16);
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("No Filename"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdImageCommentL(const TDesC& aSection)
+	{
+	TInt	commentNumber=1;
+	GetIntFromConfig(aSection, KCommentNumber(), commentNumber);
+
+	HBufC*	comment=NULL;
+	TRAPD(err, comment=iImageDecoder->ImageCommentL(commentNumber));
+	CleanupStack::PushL(comment);
+	if ( err==KErrNone )
+		{
+		TPtrC	output=comment->Des();
+		INFO_PRINTF2(_L("CImageDecoder::ImageCommentL() %S"), &output);
+
+		TPtrC	expectedComment;
+		if ( GetStringFromConfig(aSection, KComment(), expectedComment) )
+			{
+			if ( output != expectedComment )
+				{
+				ERR_PRINTF3(_L("comment (%S) != expectedComment (%S)"), &output, &expectedComment);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("CImageDecoder::ImageCommentL Error %d"), err);
+		SetError(err);
+		}
+	CleanupStack::PopAndDestroy(comment);
+	}
+
+void CT_MMDataImageDecoder::DoCmdImageType(const TDesC& aSection)
+	{
+	TInt	frameNumber=0;
+	GetIntFromConfig(aSection, KFrameNumber(), frameNumber);
+
+	TUid	imageType;
+	TUid	imageSubType;
+	iImageDecoder->ImageType(frameNumber, imageType, imageSubType);
+	INFO_PRINTF3(_L("Image TypeUid 0x%X SubTypeUid 0x%X"), imageType.iUid, imageSubType.iUid);
+
+	TInt	expectedTypeUid=0;
+	if ( GetHexFromConfig(aSection, KUid(), expectedTypeUid) )
+		{
+		if ( expectedTypeUid != imageType.iUid )
+			{
+			ERR_PRINTF3(_L("TypeUid (0x%X) != expectedTypeUid (0x%X)"), imageType.iUid, expectedTypeUid);
+			SetBlockResult(EFail);
+			}
+		}
+
+	TInt	expectedSubTypeUid=0;
+	if ( GetHexFromConfig(aSection, KUid2(), expectedSubTypeUid) )
+		{
+		if ( expectedSubTypeUid != imageSubType.iUid )
+			{
+			ERR_PRINTF3(_L("SubTypeUid (0x%X) != expectedSubTypeUid (0x%X)"), imageSubType.iUid, expectedSubTypeUid);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdImplementationUid()
+	{
+	TUid	uid=iImageDecoder->ImplementationUid();
+	INFO_PRINTF2(_L("ImplementationUid Uid:0x%X"), uid.iUid);
+	}
+
+void CT_MMDataImageDecoder::DoCmdIsImageHeaderProcessingComplete(const TDesC& aSection)
+	{
+	TBool	ret=iImageDecoder->IsImageHeaderProcessingComplete();
+	INFO_PRINTF2(_L("IsImageHeaderProcessingComplete %d"), ret);
+
+	TBool	expectedResult=EFalse;
+	if ( GetBoolFromConfig(aSection, KExpected(), expectedResult) )
+		{
+		if ( expectedResult != ret )
+			{
+			ERR_PRINTF3(_L("HeaderProcessingComplete (%d) != expectedHeaderProcessingComplete (%d)"), ret, expectedResult);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdNumberOfFrameComments(const TDesC& aSection)
+	{
+	TInt	frameNumber=1;
+	GetIntFromConfig(aSection, KFrameNumber(), frameNumber);
+
+	TInt	ret=iImageDecoder->NumberOfFrameComments(frameNumber);
+	INFO_PRINTF2(_L("NumberOfFrameComments %d"), ret);
+
+	TInt	expectedResult=0;
+	if ( GetIntFromConfig(aSection, KExpected(), expectedResult) )
+		{
+		if ( expectedResult != ret )
+			{
+			ERR_PRINTF3(_L("NumberOfFrameComments (%d) != expectedNumberOfFrameComments (%d)"), ret, expectedResult);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdNumberOfImageComments(const TDesC& aSection)
+	{
+	TInt	ret=iImageDecoder->NumberOfImageComments();
+	INFO_PRINTF2(_L("NumberOfImageComments %d"), ret);
+
+	TInt	expectedResult=0;
+	if ( GetIntFromConfig(aSection, KExpected(), expectedResult) )
+		{
+		if ( expectedResult != ret )
+			{
+			ERR_PRINTF3(_L("NumberOfImageComments (%d) != expectedNumberOfImageComments (%d)"), ret, expectedResult);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdReducedSize(const TDesC& aSection)
+	{
+	TSize	original(1, 1);
+	GetIntFromConfig(aSection, KOriginalWidth(), original.iWidth);
+	GetIntFromConfig(aSection, KOriginalHeight(), original.iHeight);
+
+	TInt	reductionFactor=1;
+	GetIntFromConfig(aSection, KReductionFactor(), reductionFactor);
+
+	TSize	reducedSize;
+	TInt	err=iImageDecoder->ReducedSize(original, reductionFactor, reducedSize);
+	if ( err==KErrNone )
+		{
+		INFO_PRINTF3(_L("ReducedSize (width=%d, height=%d)"), reducedSize.iWidth, reducedSize.iHeight);
+
+		TInt	expectedReducedWidth=0;
+		if ( GetIntFromConfig(aSection, KReducedWidth(), expectedReducedWidth) )
+			{
+			if ( expectedReducedWidth != reducedSize.iWidth )
+				{
+				ERR_PRINTF3(_L("ReducedWidth (%d) != expectedReducedWidth (%d)"), reducedSize.iWidth, expectedReducedWidth);
+				SetBlockResult(EFail);
+				}
+			}
+
+		TInt	expectedReducedHeight=0;
+		if ( GetIntFromConfig(aSection, KReducedHeight(), expectedReducedHeight) )
+			{
+			if ( expectedReducedHeight != reducedSize.iHeight )
+				{
+				ERR_PRINTF3(_L("ReducedHeight (%d) != expectedReducedHeight (%d)"), reducedSize.iHeight, expectedReducedHeight);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("CImageDecoder::ReducedSize Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdReductionFactor(const TDesC& aSection)
+	{
+	TSize	original(1, 1);
+	GetIntFromConfig(aSection, KOriginalWidth(), original.iWidth);
+	GetIntFromConfig(aSection, KOriginalHeight(), original.iHeight);
+
+	TSize	reduced(1, 1);
+	GetIntFromConfig(aSection, KReducedWidth(), reduced.iWidth);
+	GetIntFromConfig(aSection, KReducedHeight(), reduced.iHeight);
+
+	TInt	factor=iImageDecoder->ReductionFactor(original, reduced);
+	INFO_PRINTF2(_L("Reduction factor %d"), factor);
+
+	TInt	expectedFactor=0;
+	if ( GetIntFromConfig(aSection, KReductionFactor(), expectedFactor) )
+		{
+		if ( expectedFactor != factor )
+			{
+			ERR_PRINTF3(_L("factor (%d) != expectedFactor (%d)"), factor, expectedFactor);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdSetAgentProperty(const TDesC& aSection)
+	{
+	ContentAccess::TAgentProperty	agentProperty;
+	TPtrC							agentPropertyString;
+	if ( GetStringFromConfig(aSection, KAgentProperty(), agentPropertyString) )
+		{
+		if ( !CT_MMUtil::ConvertToAgentProperty(agentPropertyString, agentProperty) )
+			{
+			ERR_PRINTF2(_L("Illegal agent property %S"), &agentPropertyString);
+			SetBlockResult(EFail);
+			}
+		else
+			{
+			TInt	agentValue=0;
+			GetIntFromConfig(aSection, KAgentValue(), agentValue);
+			TInt	err=iImageDecoder->SetAgentProperty(agentProperty, agentValue);
+			if ( err!=KErrNone )
+				{
+				ERR_PRINTF2(_L("CImageDecoder::SetAgentProperty Error %d"), err);
+				SetError(err);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("No agent property"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCmdSetImageTypeL(const TDesC& aSection)
+	{
+	CImageDecoder::TImageType	imageType;
+	if ( !CT_MMUtil::ReadImageType(*this, aSection, imageType) )
+		{
+		imageType=CImageDecoder::EImageTypeMain;
+		}
+
+	TRAPD(err, iImageDecoder->SetImageTypeL(imageType));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CImageDecoder::SetImageTypeLError %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataImageDecoder::RunL(CActive* aActive, TInt aIndex)
+/**
+ Virtual RunL - Called on completion of an asynchronous command
+ @internalComponent
+ @see MTPActiveCallback
+ @param aActive Active Object that RunL has been called on
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+	{
+	if ( aActive==iActive )
+		{
+		RunActiveL(aIndex);
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Stray signal"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataImageDecoder::DoCancel(CActive* aActive, TInt /*aIndex*/)
+/**
+ Virtual DoCancel - Request to cancel the asynchronous command
+ @internalComponent
+ @see - MTPActiveCallback
+ @param aActive Active Object that DoCancel has been called on
+ @pre - N/A
+ @post - N/A
+ @leave system wide error code
+*/
+	{
+	if ( aActive==iActive )
+		{
+		DoCancelActive();
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Stray signal"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataImageDecoder::RunActiveL(TInt aIndex)
+/**
+ RunActiveL - Process RunL for iActive
+ @internalComponent
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+	{
+	TInt	err=iActive->iStatus.Int();
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("RunL Error %d"), err);
+		SetAsyncError(aIndex, err);
+		iAsyncConvertFailed = ETrue;
+		}
+	else
+		{
+		switch ( iState )
+			{
+		case EState_Unknown:
+			WARN_PRINTF1(_L("State not set"));
+			break;
+		case EState_Convert:
+			if ( iHasBitmapFile )
+				{
+				iBitmap->Save(iBitmapFile);
+				iHasBitmapFile=EFalse;
+				}
+			iState=EState_Unknown;
+			break;
+		default:
+			ERR_PRINTF2(_L("Illegal state %d"), iState);
+			SetBlockResult(EFail);
+			};
+		}
+    DecOutstanding();
+	}
+
+void CT_MMDataImageDecoder::DoCancelActive()
+/**
+ DoCancelActive - Process DoCancel for iActive
+ @internalComponent
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+	{
+	iImageDecoder->Cancel();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageDecoder/testdata/MM-ICL-DECDE-PublicApi.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,2118 @@
+[include]
+file1=\multimedia\t_multimedia.ini
+
+[MM-ICL-DECDE-PublicApi-0001-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_gif}
+filename=\multimedia\t_imagedecoder\8bit.gif
+
+
+[MM-ICL-DECDE-PublicApi-0001-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0002-001-FileNewL_command01]
+userfile=TRUE
+mime={default_icl, mime_gif}
+filename=\multimedia\t_imagedecoder\6bit.gif
+
+
+[MM-ICL-DECDE-PublicApi-0002-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\6bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0003-001-FileNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_gif}
+filename=\multimedia\t_imagedecoder\4bit.gif
+
+
+[MM-ICL-DECDE-PublicApi-0003-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\4bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0004-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_gif}
+filename=\multimedia\t_imagedecoder\2bit.gif
+
+
+[MM-ICL-DECDE-PublicApi-0004-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\2bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0005-001-DataNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_gif}
+filename=\multimedia\t_imagedecoder\1bit.gif
+
+
+[MM-ICL-DECDE-PublicApi-0005-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0006-001-DataNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_gif}
+filename=\multimedia\t_imagedecoder\8bit.gif
+
+
+[MM-ICL-DECDE-PublicApi-0006-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0008-001-GetImageSubTypesL_command01]
+count=2
+imagetype={default_icl, imagetype_tiff}
+
+
+[MM-ICL-DECDE-PublicApi-0009-001-GetImageTypesL_command01]
+count=11
+
+
+[MM-ICL-DECDE-PublicApi-0012-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_jpg}
+filename=\multimedia\t_imagedecoder\24bit.jpg
+
+
+[MM-ICL-DECDE-PublicApi-0012-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0013-001-FileNewL_command01]
+userfile=TRUE
+mime={default_icl, mime_jpg}
+filename=\multimedia\t_imagedecoder\24bit.jpg
+
+
+[MM-ICL-DECDE-PublicApi-0013-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0014-001-FileNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_jpg}
+filename=\multimedia\t_imagedecoder\8bit.jpg
+
+
+[MM-ICL-DECDE-PublicApi-0014-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0015-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_jpg}
+filename=\multimedia\t_imagedecoder\8bit.jpg
+
+
+[MM-ICL-DECDE-PublicApi-0015-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0016-001-DataNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_jpg}
+filename=\multimedia\t_imagedecoder\24bit.jpg
+
+
+[MM-ICL-DECDE-PublicApi-0016-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0017-001-DataNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_jpg}
+filename=\multimedia\t_imagedecoder\8bit.jpg
+
+
+[MM-ICL-DECDE-PublicApi-0017-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0018-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\24bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0018-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0019-001-FileNewL_command01]
+userfile=TRUE
+mime={default_icl, mime_bmp}
+filename=\multimedia\t_imagedecoder\8bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0019-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0020-001-FileNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\4bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0020-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\4bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0021-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_bmp}
+filename=\multimedia\t_imagedecoder\1bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0021-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0022-001-DataNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\24bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0022-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0023-001-DataNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_bmp}
+filename=\multimedia\t_imagedecoder\8bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0023-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0024-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_png}
+filename=\multimedia\t_imagedecoder\24bit.png
+
+
+[MM-ICL-DECDE-PublicApi-0024-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0025-001-FileNewL_command01]
+userfile=TRUE
+mime={default_icl, mime_png}
+filename=\multimedia\t_imagedecoder\8bit.png
+
+
+[MM-ICL-DECDE-PublicApi-0025-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0026-001-FileNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_png}
+filename=\multimedia\t_imagedecoder\4bit.png
+
+
+[MM-ICL-DECDE-PublicApi-0026-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\4bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0027-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_png}
+filename=\multimedia\t_imagedecoder\1bit.png
+
+
+[MM-ICL-DECDE-PublicApi-0027-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0028-001-DataNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_png}
+filename=\multimedia\t_imagedecoder\24bit.png
+
+
+[MM-ICL-DECDE-PublicApi-0028-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0029-001-DataNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_png}
+filename=\multimedia\t_imagedecoder\8bit.png
+
+
+[MM-ICL-DECDE-PublicApi-0029-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0030-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_tiff}
+filename=\multimedia\t_imagedecoder\24bit.tif
+
+
+[MM-ICL-DECDE-PublicApi-0031-001-FileNewL_command01]
+userfile=TRUE
+mime={default_icl, mime_tiff}
+filename=\multimedia\t_imagedecoder\8bit.tif
+
+
+[MM-ICL-DECDE-PublicApi-0031-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0032-001-FileNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_tiff}
+filename=\multimedia\t_imagedecoder\4bit.tif
+
+
+[MM-ICL-DECDE-PublicApi-0032-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\4bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0033-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_tiff}
+filename=\multimedia\t_imagedecoder\1bit.tif
+
+
+[MM-ICL-DECDE-PublicApi-0033-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0034-001-DataNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_tiff}
+filename=\multimedia\t_imagedecoder\24bit.tif
+
+
+[MM-ICL-DECDE-PublicApi-0035-001-DataNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_tiff}
+filename=\multimedia\t_imagedecoder\8bit.tif
+
+
+[MM-ICL-DECDE-PublicApi-0035-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0036-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_ota}
+filename=\multimedia\t_imagedecoder\1bit.ota
+
+
+[MM-ICL-DECDE-PublicApi-0036-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0037-001-FileNewL_command01]
+userfile=TRUE
+mime={default_icl, mime_ota}
+filename=\multimedia\t_imagedecoder\1bit.ota
+
+
+[MM-ICL-DECDE-PublicApi-0037-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0038-001-FileNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_ota}
+filename=\multimedia\t_imagedecoder\1bit.ota
+
+
+[MM-ICL-DECDE-PublicApi-0038-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0039-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_ota}
+filename=\multimedia\t_imagedecoder\1bit.ota
+
+
+[MM-ICL-DECDE-PublicApi-0039-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0040-001-DataNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_ota}
+filename=\multimedia\t_imagedecoder\1bit.ota
+
+
+[MM-ICL-DECDE-PublicApi-0040-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0041-001-DataNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_ota}
+filename=\multimedia\t_imagedecoder\1bit.ota
+
+
+[MM-ICL-DECDE-PublicApi-0041-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0042-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_mbm}
+filename=\multimedia\t_imagedecoder\dec24bit.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0042-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0043-001-FileNewL_command01]
+userfile=TRUE
+mime={default_icl, mime_mbm}
+filename=\multimedia\t_imagedecoder\dec16bit.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0043-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\16bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0044-001-FileNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_mbm}
+filename=\multimedia\t_imagedecoder\dec8bit.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0044-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0045-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_mbm}
+filename=\multimedia\t_imagedecoder\dec4bit.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0045-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\4bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0046-001-DataNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_mbm}
+filename=\multimedia\t_imagedecoder\dec2bit.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0046-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\2bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0047-001-DataNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_mbm}
+filename=\multimedia\t_imagedecoder\dec1bit.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0047-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0048-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_wbmp}
+filename=\multimedia\t_imagedecoder\1bit.wbmp
+
+
+[MM-ICL-DECDE-PublicApi-0048-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0049-001-FileNewL_command01]
+userfile=TRUE
+mime={default_icl, mime_wbm}
+filename=\multimedia\t_imagedecoder\1bit.wbmp
+
+
+[MM-ICL-DECDE-PublicApi-0049-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0050-001-FileNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_wbmp}
+filename=\multimedia\t_imagedecoder\1bit.wbmp
+
+
+[MM-ICL-DECDE-PublicApi-0050-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0051-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_wbm}
+filename=\multimedia\t_imagedecoder\1bit.wbmp
+
+
+[MM-ICL-DECDE-PublicApi-0051-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0052-001-DataNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_wbmp}
+filename=\multimedia\t_imagedecoder\1bit.wbmp
+
+
+[MM-ICL-DECDE-PublicApi-0052-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0053-001-DataNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_wbm}
+filename=\multimedia\t_imagedecoder\1bit.wbmp
+
+
+[MM-ICL-DECDE-PublicApi-0053-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0054-001-FileNewL_command01]
+userfile=TRUE
+imagetype=101F45BA
+filename=\multimedia\t_imagedecoder\24bit.wmf
+
+
+[MM-ICL-DECDE-PublicApi-0054-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0055-001-FileNewL_command01]
+userfile=TRUE
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.wmf
+
+
+[MM-ICL-DECDE-PublicApi-0055-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0056-001-FileNewL_command01]
+userfile=FALSE
+imagetype=101F45BA
+filename=\multimedia\t_imagedecoder\24bit.wmf
+
+
+[MM-ICL-DECDE-PublicApi-0056-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0057-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.wmf
+
+
+[MM-ICL-DECDE-PublicApi-0057-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0058-001-DataNewL_command01]
+userfile=FALSE
+imagetype=101F45BA
+filename=\multimedia\t_imagedecoder\24bit.wmf
+
+
+[MM-ICL-DECDE-PublicApi-0058-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0059-001-DataNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.wmf
+
+
+[MM-ICL-DECDE-PublicApi-0059-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0060-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_ico}
+filename=\multimedia\t_imagedecoder\8bit.ico
+
+
+[MM-ICL-DECDE-PublicApi-0060-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0061-001-FileNewL_command01]
+userfile=TRUE
+mime={default_icl, mime_ico}
+filename=\multimedia\t_imagedecoder\8bit.ico
+
+
+[MM-ICL-DECDE-PublicApi-0061-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0062-001-FileNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_ico}
+filename=\multimedia\t_imagedecoder\4bit.ico
+
+
+[MM-ICL-DECDE-PublicApi-0062-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\4bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0063-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_ico}
+filename=\multimedia\t_imagedecoder\4bit.ico
+
+
+[MM-ICL-DECDE-PublicApi-0063-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\4bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0064-001-DataNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_ico}
+filename=\multimedia\t_imagedecoder\8bit.ico
+
+
+[MM-ICL-DECDE-PublicApi-0064-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0065-001-DataNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_ico}
+filename=\multimedia\t_imagedecoder\4bit.ico
+
+
+[MM-ICL-DECDE-PublicApi-0065-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\4bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0066-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_mng}
+filename=\multimedia\t_imagedecoder\24bit.mng
+
+
+[MM-ICL-DECDE-PublicApi-0066-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0067-001-FileNewL_command01]
+userfile=TRUE
+mime={default_icl, mime_mng}
+filename=\multimedia\t_imagedecoder\24bit.mng
+
+
+[MM-ICL-DECDE-PublicApi-0067-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0068-001-FileNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_mng}
+filename=\multimedia\t_imagedecoder\24bit.mng
+
+
+[MM-ICL-DECDE-PublicApi-0068-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0069-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_mng}
+filename=\multimedia\t_imagedecoder\24bit.mng
+
+
+[MM-ICL-DECDE-PublicApi-0069-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0070-001-DataNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_mng}
+filename=\multimedia\t_imagedecoder\24bit.mng
+
+
+[MM-ICL-DECDE-PublicApi-0070-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0071-001-DataNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_mng}
+filename=\multimedia\t_imagedecoder\24bit.mng
+
+
+[MM-ICL-DECDE-PublicApi-0071-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0072-001-FileNewL_command01]
+userfile=TRUE
+imagetype=101F45BA
+filename=\multimedia\t_imagedecoder\24bit.apm
+
+
+[MM-ICL-DECDE-PublicApi-0072-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0073-001-FileNewL_command01]
+userfile=TRUE
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.apm
+
+
+[MM-ICL-DECDE-PublicApi-0073-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0074-001-FileNewL_command01]
+userfile=FALSE
+imagetype=101F45BA
+filename=\multimedia\t_imagedecoder\24bit.apm
+
+
+[MM-ICL-DECDE-PublicApi-0074-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0075-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.apm
+
+
+[MM-ICL-DECDE-PublicApi-0075-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0076-001-DataNewL_command01]
+userfile=FALSE
+imagetype=101F45BA
+filename=\multimedia\t_imagedecoder\24bit.apm
+
+
+[MM-ICL-DECDE-PublicApi-0076-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0077-001-DataNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.apm
+
+
+[MM-ICL-DECDE-PublicApi-0077-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0078-001-FileNewL_command01]
+userfile=TRUE
+imagetype=101F45BA
+filename=\multimedia\t_imagedecoder\24bit.clp
+
+
+[MM-ICL-DECDE-PublicApi-0078-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0079-001-FileNewL_command01]
+userfile=TRUE
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.clp
+
+
+[MM-ICL-DECDE-PublicApi-0079-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0080-001-FileNewL_command01]
+userfile=FALSE
+imagetype=101F45BA
+filename=\multimedia\t_imagedecoder\24bit.clp
+
+
+[MM-ICL-DECDE-PublicApi-0080-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0081-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.clp
+
+
+[MM-ICL-DECDE-PublicApi-0081-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0082-001-DataNewL_command01]
+userfile=FALSE
+imagetype=101F45BA
+filename=\multimedia\t_imagedecoder\24bit.clp
+
+
+[MM-ICL-DECDE-PublicApi-0082-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0083-001-DataNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.clp
+
+
+[MM-ICL-DECDE-PublicApi-0083-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0084-001-GetImageSubTypesL_command01]
+imagetype={default_icl, imagetype_gif}
+
+
+[MM-ICL-DECDE-PublicApi-0085-001-GetImageSubTypesL_command01]
+imagetype={default_icl, imagetype_jpg}
+
+
+[MM-ICL-DECDE-PublicApi-0086-001-GetImageSubTypesL_command01]
+imagetype={default_icl, imagetype_bmp}
+
+
+[MM-ICL-DECDE-PublicApi-0087-001-GetImageSubTypesL_command01]
+imagetype={default_icl, imagetype_png}
+
+
+[MM-ICL-DECDE-PublicApi-0088-001-GetImageSubTypesL_command01]
+imagetype={default_icl, imagetype_ota}
+
+
+[MM-ICL-DECDE-PublicApi-0089-001-GetImageSubTypesL_command01]
+imagetype={default_icl, imagetype_mbm}
+
+
+[MM-ICL-DECDE-PublicApi-0090-001-GetImageSubTypesL_command01]
+imagetype={default_icl, imagetype_wbmp}
+
+
+[MM-ICL-DECDE-PublicApi-0091-001-GetImageSubTypesL_command01]
+imagetype=101F45BA
+
+
+[MM-ICL-DECDE-PublicApi-0092-001-GetImageSubTypesL_command01]
+imagetype={default_icl, imagetype_ico}
+
+
+[MM-ICL-DECDE-PublicApi-0093-001-GetImageSubTypesL_command01]
+imagetype={default_icl, imagetype_mng}
+
+
+[MM-ICL-DECDE-PublicApi-0094-001-GetImageSubTypesL_command01]
+imagetype=11111111
+
+
+[MM-ICL-DECDE-PublicApi-0095-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\24bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0095-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0096-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\corrupted.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command01]
+mime={default_icl, mime_bmp}
+filename=\multimedia\t_imagedecoder\24bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command02]
+mime={default_icl, mime_gif}
+filename=\multimedia\t_imagedecoder\8bit.gif
+
+
+[MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command03]
+mime={default_icl, mime_jpg}
+filename=\multimedia\t_imagedecoder\24bit.jpg
+
+
+[MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command04]
+mime={default_icl, mime_png}
+filename=\multimedia\t_imagedecoder\24bit.png
+
+
+[MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command05]
+mime={default_icl, mime_tiff}
+filename=\multimedia\t_imagedecoder\24bit.tif
+
+
+[MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command06]
+mime={default_icl, mime_ota}
+filename=\multimedia\t_imagedecoder\1bit.ota
+
+
+[MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command07]
+mime={default_icl, mime_mbm}
+filename=\multimedia\t_imagedecoder\dec24bit.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command08]
+mime={default_icl, mime_wbm}
+filename=\multimedia\t_imagedecoder\1bit.wbmp
+
+
+[MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command09]
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.wmf
+
+
+[MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command10]
+mime={default_icl, mime_ico}
+filename=\multimedia\t_imagedecoder\8bit.ico
+
+
+[MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command11]
+mime={default_icl, mime_mng}
+filename=\multimedia\t_imagedecoder\24bit.mng
+
+
+[MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command12]
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.apm
+
+
+[MM-ICL-DECDE-PublicApi-0097-001-GetMimeTypeFileL_command13]
+filename=\multimedia\t_imagedecoder\24bit.clp
+
+
+[MM-ICL-DECDE-PublicApi-0098-001-GetMimeTypeFileL_command01]
+filename=\multimedia\t_imagedecoder\corrupted.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command01]
+mime={default_icl, mime_bmp}
+filename=\multimedia\t_imagedecoder\24bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command02]
+mime={default_icl, mime_gif}
+filename=\multimedia\t_imagedecoder\8bit.gif
+
+
+[MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command03]
+mime={default_icl, mime_jpg}
+filename=\multimedia\t_imagedecoder\24bit.jpg
+
+
+[MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command04]
+mime={default_icl, mime_png}
+filename=\multimedia\t_imagedecoder\24bit.png
+
+
+[MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command05]
+mime={default_icl, mime_tiff}
+filename=\multimedia\t_imagedecoder\24bit.tif
+
+
+[MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command06]
+mime={default_icl, mime_mbm}
+filename=\multimedia\t_imagedecoder\dec24bit.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command07]
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.wmf
+
+
+[MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command08]
+mime={default_icl, mime_ico}
+filename=\multimedia\t_imagedecoder\8bit.ico
+
+
+[MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command09]
+mime={default_icl, mime_mng}
+filename=\multimedia\t_imagedecoder\24bit.mng
+
+
+[MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command10]
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.apm
+
+
+[MM-ICL-DECDE-PublicApi-0099-001-GetMimeTypeDataL_command11]
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.clp
+
+
+[MM-ICL-DECDE-PublicApi-0100-001-GetMimeTypeDataL_command01]
+filename=\multimedia\t_imagedecoder\corrupted.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0101-001-DataNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\partial.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0101-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\partial_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0101-001-DataNewL_command04]
+userfile=FALSE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\24bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0102-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\partial.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0102-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\partial_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0103-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\24bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0103-001-IsImageHeaderProcessingComplete_command02]
+expected=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0103-001-FrameCount_command03]
+framecount=1
+
+
+[MM-ICL-DECDE-PublicApi-0105-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\partial.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0105-001-FrameCount_command02]
+framecount=1
+
+
+[MM-ICL-DECDE-PublicApi-0106-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\24bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0106-001-IsImageHeaderProcessingComplete_command02]
+expected=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0106-001-FrameCount_command03]
+framecount=1
+
+
+[MM-ICL-DECDE-PublicApi-0106-001-FrameInfo_command04]
+framenumber=0
+
+
+[MM-ICL-DECDE-PublicApi-0106-001-FrameData_command05]
+framenumber=0
+
+
+[MM-ICL-DECDE-PublicApi-0107-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\24bit_panic1.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0107-001-IsImageHeaderProcessingComplete_command02]
+expected=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0107-001-FrameCount_command03]
+framecount=1
+
+
+[MM-ICL-DECDE-PublicApi-0107-001-FrameInfo_command04]
+framenumber=10
+
+
+[MM-ICL-DECDE-PublicApi-0108-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_gif}
+filename=\multimedia\t_imagedecoder\commented.gif
+
+
+[MM-ICL-DECDE-PublicApi-0108-001-NumberOfImageComments_command03]
+expected=1
+
+
+[MM-ICL-DECDE-PublicApi-0108-001-ImageCommentL_command04]
+comment=This is a test comment.
+commentnumber=0
+
+
+[MM-ICL-DECDE-PublicApi-0109-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_gif}
+filename=\multimedia\t_imagedecoder\commented_panic2.gif
+
+
+[MM-ICL-DECDE-PublicApi-0109-001-NumberOfImageComments_command03]
+expected=4
+
+
+[MM-ICL-DECDE-PublicApi-0109-001-ImageCommentL_command04]
+commentnumber=100
+
+
+[MM-ICL-DECDE-PublicApi-0110-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_jpg}
+filename=\multimedia\t_imagedecoder\commented.jpg
+
+
+[MM-ICL-DECDE-PublicApi-0110-001-FrameCount_command02]
+framecount=1
+
+
+[MM-ICL-DECDE-PublicApi-0110-001-NumberOfFrameComments_command03]
+expected=2
+framenumber=0
+
+
+[MM-ICL-DECDE-PublicApi-0110-001-FrameCommentL_command04]
+comment=This is a test comment
+framenumber=0
+commentnumber=0
+
+
+[MM-ICL-DECDE-PublicApi-0111-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_gif}
+filename=\multimedia\t_imagedecoder\commented_panic3.gif
+
+
+[MM-ICL-DECDE-PublicApi-0111-001-FrameCount_command02]
+framecount=2
+
+
+[MM-ICL-DECDE-PublicApi-0111-001-NumberOfFrameComments_command03]
+framenumber=0
+
+
+[MM-ICL-DECDE-PublicApi-0111-001-FrameCommentL_command04]
+framenumber=0
+commentnumber=100
+
+
+[MM-ICL-DECDE-PublicApi-0112-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\24bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0112-001-IsImageHeaderProcessingComplete_command02]
+expected=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0112-001-FrameCount_command03]
+framecount=1
+
+
+[MM-ICL-DECDE-PublicApi-0112-001-FrameInfoStringsL_command04]
+framenumber=0
+option4=Details: Uncompressed
+option2=Dimensions: 193x151 pixels
+option3=Depth: 24bpp colour
+option0=Decoder: Bmp decoder V1.0
+option1=Format: Bmp
+
+
+[MM-ICL-DECDE-PublicApi-0113-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\24bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0113-001-IsImageHeaderProcessingComplete_command02]
+expected=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0113-001-FrameCount_command03]
+framecount=1
+
+
+[MM-ICL-DECDE-PublicApi-0113-001-FrameInfoStringsLC_command04]
+framenumber=0
+option4=Details: Uncompressed
+option2=Dimensions: 193x151 pixels
+option3=Depth: 24bpp colour
+option0=Decoder: Bmp decoder V1.0
+option1=Format: Bmp
+
+
+[MM-ICL-DECDE-PublicApi-0114-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\24bit_panic4.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0114-001-IsImageHeaderProcessingComplete_command02]
+expected=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0114-001-FrameCount_command03]
+framecount=1
+
+
+[MM-ICL-DECDE-PublicApi-0114-001-FrameInfoStringsL_command04]
+framenumber=10
+
+
+[MM-ICL-DECDE-PublicApi-0115-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_gif}
+filename=\multimedia\t_imagedecoder\8bit.gif
+
+
+[MM-ICL-DECDE-PublicApi-0115-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0115-001-ImageType_command04]
+uid2=0
+uid={default_icl, imagetype_gif}
+
+
+[MM-ICL-DECDE-PublicApi-0116-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_gif}
+filename=\multimedia\t_imagedecoder\8bit.gif
+
+
+[MM-ICL-DECDE-PublicApi-0116-001-SetAgentProperty_command02]
+agentvalue=1000
+agentproperty=AgentPropertyBufferSize
+
+
+[MM-ICL-DECDE-PublicApi-0116-001-SetAgentProperty_command03]
+agentvalue=2
+agentproperty=AgentPropertyAgentUI
+
+
+[MM-ICL-DECDE-PublicApi-0116-001-SetAgentProperty_command04]
+agentvalue=1
+agentproperty=AgentPropertyMultipleSequence
+
+
+[MM-ICL-DECDE-PublicApi-0116-001-SetAgentProperty_command05]
+agentvalue=100
+agentproperty=AgentPropertyBufferSize
+
+
+[MM-ICL-DECDE-PublicApi-0117-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_jpg}
+filename=\multimedia\t_imagedecoder\thumbnail.JPG
+
+
+[MM-ICL-DECDE-PublicApi-0117-001-SetImageTypeL_command03]
+imagetype=EImageTypeThumbnail
+
+
+[MM-ICL-DECDE-PublicApi-0117-001-Convert_command04]
+bitmapfile=\multimedia\t_imagedecoder\thumbnail_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0117-001-ReductionFactor_command05]
+reductionfactor=2
+reducedwidth=25
+originalwidth=100
+reducedheight=25
+originalheight=100
+
+
+[MM-ICL-DECDE-PublicApi-0117-001-ReducedSize_command06]
+reductionfactor=2
+reducedwidth=25
+originalwidth=100
+reducedheight=25
+originalheight=100
+
+
+[MM-ICL-DECDE-PublicApi-0118-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_gif}
+filename=\multimedia\t_imagedecoder\8bit.gif
+
+
+[MM-ICL-DECDE-PublicApi-0118-001-GetImplementationInformationL_command03]
+imagename=WMF
+uid=101F45B6
+
+
+[MM-ICL-DECDE-PublicApi-0118-001-GetImplementationInformationL_command04]
+imagename=BMP
+uid=101F45AF
+
+
+[MM-ICL-DECDE-PublicApi-0118-001-GetImplementationInformationL_command05]
+imagename=GIF
+uid=101F45B2
+
+
+[MM-ICL-DECDE-PublicApi-0118-001-GetImplementationInformationL_command06]
+imagename=ICO
+uid=101F45D4
+
+
+[MM-ICL-DECDE-PublicApi-0119-001-FileNewL_command01]
+userfile=TRUE
+mime=bad-value
+filename=\multimedia\t_imagedecoder\24bit.jpg
+
+
+[MM-ICL-DECDE-PublicApi-0120-001-FileNewL_command01]
+userfile=TRUE
+mime=bad-value
+filename=\multimedia\t_imagedecoder\8bit.gif
+
+
+[MM-ICL-DECDE-PublicApi-0121-001-FileNewL_command01]
+userfile=TRUE
+mime=bad-value
+filename=\multimedia\t_imagedecoder\24bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0122-001-FileNewL_command01]
+userfile=TRUE
+mime=bad-value
+filename=\multimedia\t_imagedecoder\dec24bit.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0123-001-FileNewL_command01]
+userfile=TRUE
+mime=bad-value
+filename=\multimedia\t_imagedecoder\24bit.png
+
+
+[MM-ICL-DECDE-PublicApi-0124-001-FileNewL_command01]
+userfile=TRUE
+mime=bad-value
+filename=\multimedia\t_imagedecoder\24bit.tif
+
+
+[MM-ICL-DECDE-PublicApi-0125-001-FileNewL_command01]
+userfile=TRUE
+mime=bad-value
+filename=\multimedia\t_imagedecoder\1bit.ota
+
+
+[MM-ICL-DECDE-PublicApi-0126-001-FileNewL_command01]
+userfile=TRUE
+mime=bad-value
+filename=\multimedia\t_imagedecoder\1bit.wbmp
+
+
+[MM-ICL-DECDE-PublicApi-0127-001-FileNewL_command01]
+userfile=TRUE
+mime=bad-value
+filename=\multimedia\t_imagedecoder\24bit.wmf
+
+
+[MM-ICL-DECDE-PublicApi-0128-001-FileNewL_command01]
+userfile=TRUE
+mime=bad-value
+filename=\multimedia\t_imagedecoder\8bit.ico
+
+
+[MM-ICL-DECDE-PublicApi-0129-001-FileNewL_command01]
+userfile=TRUE
+mime=bad-value
+filename=\multimedia\t_imagedecoder\24bit.mng
+
+
+[MM-ICL-DECDE-PublicApi-0130-001-FileNewL_command01]
+userfile=TRUE
+mime=bad-value
+filename=\multimedia\t_imagedecoder\24bit.apm
+
+
+[MM-ICL-DECDE-PublicApi-0131-001-FileNewL_command01]
+userfile=TRUE
+mime=bad-value
+filename=\multimedia\t_imagedecoder\24bit.clp
+
+
+[MM-ICL-DECDE-PublicApi-0132-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\24bit_panic5.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0132-001-IsImageHeaderProcessingComplete_command02]
+expected=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0132-001-FrameCount_command03]
+framecount=1
+
+
+[MM-ICL-DECDE-PublicApi-0132-001-FrameData_command04]
+framenumber=10
+
+
+[MM-ICL-DECDE-PublicApi-0133-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_tiff}
+filename=\multimedia\t_imagedecoder\1bitG3.tif
+
+
+[MM-ICL-DECDE-PublicApi-0133-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bitG3_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0134-001-FileNewL_command01]
+userfile=TRUE
+mime={default_icl, mime_tiff}
+filename=\multimedia\t_imagedecoder\1bitG4.tif
+
+
+[MM-ICL-DECDE-PublicApi-0134-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bitG4_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0135-001-FileNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_tiff}
+filename=\multimedia\t_imagedecoder\1bitG3.tif
+
+
+[MM-ICL-DECDE-PublicApi-0135-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bitG3_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0136-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_tiff}
+filename=\multimedia\t_imagedecoder\1bitG4.tif
+
+
+[MM-ICL-DECDE-PublicApi-0136-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bitG4_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0137-001-DataNewL_command01]
+userfile=FALSE
+imagetype={default_icl, imagetype_tiff}
+filename=\multimedia\t_imagedecoder\1bitG3.tif
+
+
+[MM-ICL-DECDE-PublicApi-0137-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bitG3_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0138-001-DataNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_tiff}
+filename=\multimedia\t_imagedecoder\1bitG4.tif
+
+
+[MM-ICL-DECDE-PublicApi-0138-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bitG4_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0139-001-FileNewL_command01]
+userfile=TRUE
+imagetype={default_icl, imagetype_gif}
+filename=\multimedia\t_imagedecoder\commented_panic6.gif
+
+
+[MM-ICL-DECDE-PublicApi-0139-001-FrameCount_command02]
+framecount=2
+
+
+[MM-ICL-DECDE-PublicApi-0139-001-NumberOfFrameComments_command03]
+framenumber=0
+
+
+[MM-ICL-DECDE-PublicApi-0139-001-FrameCommentL_command04]
+framenumber=0
+commentnumber=0
+
+
+[MM-ICL-DECDE-PublicApi-0140-001-FileNewL_command01]
+usetmmsource=TRUE
+intent=EView
+filename=\multimedia\t_imagedecoder\8bit.gif
+imagetype={default_icl, imagetype_gif}
+enableui=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0140-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0141-001-FileNewL_command01]
+usetmmsource=TRUE
+mime={default_icl, mime_gif}
+filename=\multimedia\t_imagedecoder\6bit.gif
+intent=EPlay
+enableui=FALSE
+
+
+[MM-ICL-DECDE-PublicApi-0141-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\6bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0142-001-FileNewL_command01]
+usetmmsource=TRUE
+intent=EView
+filename=\multimedia\t_imagedecoder\24bit.jpg
+imagetype={default_icl, imagetype_jpg}
+enableui=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0142-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0143-001-FileNewL_command01]
+usetmmsource=TRUE
+mime={default_icl, mime_jpg}
+filename=\multimedia\t_imagedecoder\24bit.jpg
+intent=EPlay
+enableui=FALSE
+
+
+[MM-ICL-DECDE-PublicApi-0143-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0144-001-FileNewL_command01]
+usetmmsource=TRUE
+intent=EView
+filename=\multimedia\t_imagedecoder\24bit.bmp
+imagetype={default_icl, imagetype_bmp}
+enableui=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0144-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0145-001-FileNewL_command01]
+usetmmsource=TRUE
+mime={default_icl, mime_bmp}
+filename=\multimedia\t_imagedecoder\8bit.bmp
+intent=EPlay
+enableui=FALSE
+
+
+[MM-ICL-DECDE-PublicApi-0145-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0146-001-FileNewL_command01]
+usetmmsource=TRUE
+intent=EView
+filename=\multimedia\t_imagedecoder\24bit.png
+imagetype={default_icl, imagetype_png}
+enableui=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0146-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0147-001-FileNewL_command01]
+usetmmsource=TRUE
+mime={default_icl, mime_png}
+filename=\multimedia\t_imagedecoder\8bit.png
+intent=EPlay
+enableui=FALSE
+
+
+[MM-ICL-DECDE-PublicApi-0147-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0148-001-FileNewL_command01]
+usetmmsource=TRUE
+intent=EView
+filename=\multimedia\t_imagedecoder\24bit.tif
+imagetype={default_icl, imagetype_tiff}
+enableui=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0149-001-FileNewL_command01]
+usetmmsource=TRUE
+mime={default_icl, mime_tiff}
+filename=\multimedia\t_imagedecoder\8bit.tif
+intent=EPlay
+enableui=FALSE
+
+
+[MM-ICL-DECDE-PublicApi-0149-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0150-001-FileNewL_command01]
+usetmmsource=TRUE
+intent=EView
+filename=\multimedia\t_imagedecoder\1bit.ota
+imagetype={default_icl, imagetype_ota}
+enableui=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0150-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0151-001-FileNewL_command01]
+usetmmsource=TRUE
+mime={default_icl, mime_ota}
+filename=\multimedia\t_imagedecoder\1bit.ota
+intent=EPlay
+enableui=FALSE
+
+
+[MM-ICL-DECDE-PublicApi-0151-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0152-001-FileNewL_command01]
+usetmmsource=TRUE
+intent=EView
+filename=\multimedia\t_imagedecoder\dec24bit.mbm
+imagetype={default_icl, imagetype_mbm}
+enableui=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0152-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0153-001-FileNewL_command01]
+usetmmsource=TRUE
+mime={default_icl, mime_mbm}
+filename=\multimedia\t_imagedecoder\dec16bit.mbm
+intent=EPlay
+enableui=FALSE
+
+
+[MM-ICL-DECDE-PublicApi-0153-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\16bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0154-001-FileNewL_command01]
+usetmmsource=TRUE
+intent=EView
+filename=\multimedia\t_imagedecoder\1bit.wbmp
+imagetype={default_icl, imagetype_wbmp}
+enableui=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0154-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0155-001-FileNewL_command01]
+usetmmsource=TRUE
+mime={default_icl, mime_wbm}
+filename=\multimedia\t_imagedecoder\1bit.wbmp
+intent=EPlay
+enableui=FALSE
+
+
+[MM-ICL-DECDE-PublicApi-0155-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0156-001-FileNewL_command01]
+usetmmsource=TRUE
+intent=EView
+filename=\multimedia\t_imagedecoder\24bit.wmf
+imagetype=101F45BA
+enableui=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0156-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0157-001-FileNewL_command01]
+usetmmsource=TRUE
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.wmf
+intent=EPlay
+enableui=FALSE
+
+
+[MM-ICL-DECDE-PublicApi-0157-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0158-001-FileNewL_command01]
+usetmmsource=TRUE
+intent=EView
+filename=\multimedia\t_imagedecoder\8bit.ico
+imagetype={default_icl, imagetype_ico}
+enableui=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0158-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0159-001-FileNewL_command01]
+usetmmsource=TRUE
+mime={default_icl, mime_ico}
+filename=\multimedia\t_imagedecoder\8bit.ico
+intent=EPlay
+enableui=FALSE
+
+
+[MM-ICL-DECDE-PublicApi-0159-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0160-001-FileNewL_command01]
+usetmmsource=TRUE
+intent=EView
+filename=\multimedia\t_imagedecoder\24bit.mng
+imagetype={default_icl, imagetype_mng}
+enableui=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0160-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0161-001-FileNewL_command01]
+usetmmsource=TRUE
+mime={default_icl, mime_mng}
+filename=\multimedia\t_imagedecoder\24bit.mng
+intent=EPlay
+enableui=FALSE
+
+
+[MM-ICL-DECDE-PublicApi-0161-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0162-001-FileNewL_command01]
+usetmmsource=TRUE
+intent=EView
+filename=\multimedia\t_imagedecoder\24bit.apm
+imagetype=101F45BA
+enableui=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0162-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0163-001-FileNewL_command01]
+usetmmsource=TRUE
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.apm
+intent=EPlay
+enableui=FALSE
+
+
+[MM-ICL-DECDE-PublicApi-0163-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0164-001-FileNewL_command01]
+usetmmsource=TRUE
+intent=EView
+filename=\multimedia\t_imagedecoder\24bit.clp
+imagetype=101F45BA
+enableui=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0164-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0165-001-FileNewL_command01]
+usetmmsource=TRUE
+mime={default_icl, mime_wmf}
+filename=\multimedia\t_imagedecoder\24bit.clp
+intent=EPlay
+enableui=FALSE
+
+
+[MM-ICL-DECDE-PublicApi-0165-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0166-001-FileNewL_command01]
+usetmmsource=TRUE
+intent=EView
+filename=\multimedia\t_imagedecoder\1bitG3.tif
+imagetype={default_icl, imagetype_tiff}
+enableui=TRUE
+
+
+[MM-ICL-DECDE-PublicApi-0166-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bitG3_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0167-001-FileNewL_command01]
+usetmmsource=TRUE
+mime={default_icl, mime_tiff}
+filename=\multimedia\t_imagedecoder\1bitG4.tif
+intent=EPlay
+enableui=FALSE
+
+
+[MM-ICL-DECDE-PublicApi-0167-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bitG4_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0168-001-FileNewL_command01]
+userfile=FALSE
+intent=EView
+imagetype={default_icl, imagetype_gif}
+filename=\multimedia\t_imagedecoder\4bit.gif
+
+
+[MM-ICL-DECDE-PublicApi-0168-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\4bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0169-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_gif}
+intent=EView
+filename=\multimedia\t_imagedecoder\2bit.gif
+
+
+[MM-ICL-DECDE-PublicApi-0169-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\2bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0170-001-FileNewL_command01]
+userfile=FALSE
+intent=EPlay
+imagetype={default_icl, imagetype_jpg}
+filename=\multimedia\t_imagedecoder\8bit.jpg
+
+
+[MM-ICL-DECDE-PublicApi-0170-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0171-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_jpg}
+intent=EPlay
+filename=\multimedia\t_imagedecoder\8bit.jpg
+
+
+[MM-ICL-DECDE-PublicApi-0171-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0172-001-FileNewL_command01]
+userfile=FALSE
+intent=EView
+imagetype={default_icl, imagetype_bmp}
+filename=\multimedia\t_imagedecoder\4bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0172-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\4bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0173-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_bmp}
+intent=EView
+filename=\multimedia\t_imagedecoder\1bit.bmp
+
+
+[MM-ICL-DECDE-PublicApi-0173-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0174-001-FileNewL_command01]
+userfile=FALSE
+intent=EPlay
+imagetype={default_icl, imagetype_png}
+filename=\multimedia\t_imagedecoder\4bit.png
+
+
+[MM-ICL-DECDE-PublicApi-0174-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\4bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0175-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_png}
+intent=EPlay
+filename=\multimedia\t_imagedecoder\1bit.png
+
+
+[MM-ICL-DECDE-PublicApi-0175-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0176-001-FileNewL_command01]
+userfile=FALSE
+intent=EView
+imagetype={default_icl, imagetype_tiff}
+filename=\multimedia\t_imagedecoder\4bit.tif
+
+
+[MM-ICL-DECDE-PublicApi-0176-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\4bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0177-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_tiff}
+intent=EView
+filename=\multimedia\t_imagedecoder\1bit.tif
+
+
+[MM-ICL-DECDE-PublicApi-0177-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0178-001-FileNewL_command01]
+userfile=FALSE
+intent=EPlay
+imagetype={default_icl, imagetype_ota}
+filename=\multimedia\t_imagedecoder\1bit.ota
+
+
+[MM-ICL-DECDE-PublicApi-0178-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0179-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_ota}
+intent=EPlay
+filename=\multimedia\t_imagedecoder\1bit.ota
+
+
+[MM-ICL-DECDE-PublicApi-0179-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0180-001-FileNewL_command01]
+userfile=FALSE
+intent=EView
+imagetype={default_icl, imagetype_mbm}
+filename=\multimedia\t_imagedecoder\dec8bit.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0180-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\8bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0181-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_mbm}
+intent=EView
+filename=\multimedia\t_imagedecoder\dec4bit.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0181-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\4bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0182-001-FileNewL_command01]
+userfile=FALSE
+intent=EPlay
+imagetype={default_icl, imagetype_wbmp}
+filename=\multimedia\t_imagedecoder\1bit.wbmp
+
+
+[MM-ICL-DECDE-PublicApi-0182-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0183-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_wbm}
+intent=EPlay
+filename=\multimedia\t_imagedecoder\1bit.wbmp
+
+
+[MM-ICL-DECDE-PublicApi-0183-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0184-001-FileNewL_command01]
+userfile=FALSE
+intent=EView
+imagetype=101F45BA
+filename=\multimedia\t_imagedecoder\24bit.wmf
+
+
+[MM-ICL-DECDE-PublicApi-0184-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0185-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_wmf}
+intent=EView
+filename=\multimedia\t_imagedecoder\24bit.wmf
+
+
+[MM-ICL-DECDE-PublicApi-0185-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0186-001-FileNewL_command01]
+userfile=FALSE
+intent=EPlay
+imagetype={default_icl, imagetype_ico}
+filename=\multimedia\t_imagedecoder\4bit.ico
+
+
+[MM-ICL-DECDE-PublicApi-0186-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\4bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0187-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_ico}
+intent=EPlay
+filename=\multimedia\t_imagedecoder\4bit.ico
+
+
+[MM-ICL-DECDE-PublicApi-0187-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\4bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0188-001-FileNewL_command01]
+userfile=FALSE
+intent=EView
+imagetype={default_icl, imagetype_mng}
+filename=\multimedia\t_imagedecoder\24bit.mng
+
+
+[MM-ICL-DECDE-PublicApi-0188-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0189-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_mng}
+intent=EView
+filename=\multimedia\t_imagedecoder\24bit.mng
+
+
+[MM-ICL-DECDE-PublicApi-0189-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0190-001-FileNewL_command01]
+userfile=FALSE
+intent=EPlay
+imagetype=101F45BA
+filename=\multimedia\t_imagedecoder\24bit.apm
+
+
+[MM-ICL-DECDE-PublicApi-0190-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0191-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_wmf}
+intent=EPlay
+filename=\multimedia\t_imagedecoder\24bit.apm
+
+
+[MM-ICL-DECDE-PublicApi-0191-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0192-001-FileNewL_command01]
+userfile=FALSE
+intent=EView
+imagetype=101F45BA
+filename=\multimedia\t_imagedecoder\24bit.clp
+
+
+[MM-ICL-DECDE-PublicApi-0192-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0193-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_wmf}
+intent=EView
+filename=\multimedia\t_imagedecoder\24bit.clp
+
+
+[MM-ICL-DECDE-PublicApi-0193-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\24bit_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0194-001-FileNewL_command01]
+userfile=FALSE
+intent=EPlay
+imagetype={default_icl, imagetype_tiff}
+filename=\multimedia\t_imagedecoder\1bitG3.tif
+
+
+[MM-ICL-DECDE-PublicApi-0194-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bitG3_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0195-001-FileNewL_command01]
+userfile=FALSE
+mime={default_icl, mime_tiff}
+intent=EPlay
+filename=\multimedia\t_imagedecoder\1bitG4.tif
+
+
+[MM-ICL-DECDE-PublicApi-0195-001-Convert_command03]
+bitmapfile=\multimedia\t_imagedecoder\1bitG4_output.mbm
+
+
+[MM-ICL-DECDE-PublicApi-0196-001-GetMimeTypeDataL_command01]
+mime={default_icl, mime_ota}
+filename=\multimedia\t_imagedecoder\1bit.ota
+
+
+[MM-ICL-DECDE-PublicApi-0197-001-GetMimeTypeDataL_command01]
+mime={default_icl, mime_wbm}
+filename=\multimedia\t_imagedecoder\1bit.wbmp
+
+
+[imagedecoder1]
+name=imagedecoder1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageEncoder/group/T_ImageEncoder.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,94 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+TARGET			t_imageencoder.exe
+TARGETTYPE		exe
+UID				0x1000007A 0x20000F73
+VENDORID		0x70000001
+
+CAPABILITY		WriteUserData ReadUserData UserEnvironment
+
+SOURCEPATH		../src
+
+SOURCE			../../../common/src/DataWrapperBase.cpp
+SOURCE			../../../common/src/T_MMUtil.cpp
+
+SOURCE			T_MMDataImageEncoder.cpp
+SOURCE			T_ImageEncoderServer.cpp
+
+USERINCLUDE		../inc
+USERINCLUDE		../../../common/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE	/epoc32/include/test
+
+// Bitmaps
+START BITMAP	enc1bit.mbm
+HEADER
+SOURCEPATH		../src
+TARGETPATH		/multimedia/t_imageencoder
+SOURCE			1	leopard.bmp
+END
+
+START BITMAP	enc2bit.mbm
+HEADER
+SOURCEPATH		../src
+TARGETPATH		/multimedia/t_imageencoder
+SOURCE			2	leopard.bmp
+END
+
+START BITMAP	enc4bit.mbm
+HEADER
+SOURCEPATH		../src
+TARGETPATH		/multimedia/t_imageencoder
+SOURCE			c4	leopard.bmp
+END
+
+START BITMAP	enc8bit.mbm
+HEADER
+SOURCEPATH		../src
+TARGETPATH		/multimedia/t_imageencoder
+SOURCE			c8	leopard.bmp
+END
+
+START BITMAP	enc16bit.mbm
+HEADER
+SOURCEPATH		../src
+TARGETPATH		/multimedia/t_imageencoder
+SOURCE			c16	leopard.bmp
+END
+
+START BITMAP	enc24bit.mbm
+HEADER
+SOURCEPATH		../src
+TARGETPATH		/multimedia/t_imageencoder
+SOURCE			c24	leopard.bmp
+END
+
+LIBRARY			euser.lib
+LIBRARY			efsrv.lib
+LIBRARY			fbscli.lib
+LIBRARY			imageconversion.lib
+LIBRARY			testexecuteutils.lib
+LIBRARY			testexecutelogclient.lib
+LIBRARY			bafl.lib
+LIBRARY			mmfcontrollerframework.lib
+LIBRARY			iniparser.lib
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageEncoder/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,35 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTEXPORTS
+t_imageencoder.iby								/epoc32/rom/include/t_imageencoder.iby
+t_imageencoder_binaries.iby						/epoc32/rom/include/t_imageencoder_binaries.iby
+t_imageencoder_testdata.iby						/epoc32/rom/include/t_imageencoder_testdata.iby
+
+../pkg/T_ImageEncoder.pkg						/epoc32/pkg/t_imageencoder.pkg
+../pkg/timageencoder.bat						/epoc32/pkg/timageencoder.bat
+../scripts/MM-ICL-ENCDE-PublicApi.script		/epoc32/pkg/mm-icl-encde-publicapi.script
+
+../testdata/MM-ICL-ENCDE-PublicApi.ini			/epoc32/pkg/mm-icl-encde-publicapi.ini
+
+../scripts/setup-MM-ICL-ENCDE-PublicApi.script	z:/multimedia/setup-mm-icl-encde-publicapi.script
+../scripts/MM-ICL-ENCDE-PublicApi.script		z:/multimedia/mm-icl-encde-publicapi.script
+
+../testdata/MM-ICL-ENCDE-PublicApi.ini			z:/multimedia/mm-icl-encde-publicapi.ini
+
+PRJ_TESTMMPFILES
+T_ImageEncoder.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageEncoder/group/t_imageencoder.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,24 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_IMAGEENCODER_IBY__)
+#define __T_IMAGEENCODER_IBY__
+
+#include <t_imageencoder_binaries.iby>
+#include <t_imageencoder_testdata.iby>
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageEncoder/group/t_imageencoder_binaries.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_IMAGEENCODER_BINARIES_IBY__)
+#define __T_IMAGEENCODER_BINARIES_IBY__
+
+#include <testexecute.iby>
+
+#if (!defined EKA2)
+file=ABI_DIR\BUILD_DIR\t_imageencoder.exe 	system\libs\t_imageencoder.exe
+#else
+file=ABI_DIR\BUILD_DIR\t_imageencoder.exe 	system\bin\t_imageencoder.exe
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageEncoder/group/t_imageencoder_testdata.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,31 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_IMAGEENCODER_TESTDATA_IBY__)
+#define __T_IMAGEENCODER_TESTDATA_IBY__
+
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-ICL-ENCDE-PublicApi.script		multimedia\MM-ICL-ENCDE-PublicApi.script
+
+data=EPOCROOT##Epoc32\data\z\multimedia\setup-MM-ICL-ENCDE-PublicApi.script	multimedia\setup-MM-ICL-ENCDE-PublicApi.script
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-ICL-ENCDE-PublicApi.ini			multimedia\MM-ICL-ENCDE-PublicApi.ini
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imageencoder\enc1bit.mbm			multimedia\t_imageencoder\enc1bit.mbm
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imageencoder\enc2bit.mbm			multimedia\t_imageencoder\enc2bit.mbm
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imageencoder\enc4bit.mbm			multimedia\t_imageencoder\enc4bit.mbm
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imageencoder\enc8bit.mbm			multimedia\t_imageencoder\enc8bit.mbm
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imageencoder\enc16bit.mbm			multimedia\t_imageencoder\enc16bit.mbm
+data=EPOCROOT##Epoc32\data\z\multimedia\t_imageencoder\enc24bit.mbm			multimedia\t_imageencoder\enc24bit.mbm
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageEncoder/inc/T_ImageEncoderServer.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_IMAGE_ENCODER_SERVER_H__)
+#define __T_IMAGE_ENCODER_SERVER_H__
+
+//	EPOC Includes
+#include <testblockcontroller.h>
+#include <testserver2.h>
+
+class CT_ImageEncoderServer : public CTestServer2
+	{
+private:
+	class CT_ImageEncoder : public CTestBlockController
+		{
+	public:
+		inline CT_ImageEncoder();
+		inline ~CT_ImageEncoder();
+
+		inline CDataWrapper* CreateDataL(const TDesC& aData);
+		};
+
+public:
+	inline ~CT_ImageEncoderServer();
+
+	inline void	DeleteActiveSchedulerL();
+
+	static CT_ImageEncoderServer* NewL();
+
+	inline CTestBlockController*	CreateTestBlock();
+
+protected:
+	inline CT_ImageEncoderServer();
+	};
+
+#include "T_ImageEncoderServer.inl"
+
+#endif /* __T_IMAGE_ENCODER_SERVER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageEncoder/inc/T_ImageEncoderServer.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataImageEncoder.h"
+
+_LIT(KDataImageEncoder,	"CImageEncoder");
+
+// --------------------- CT_ImageEncoder -----------------------------------
+
+inline CT_ImageEncoderServer::CT_ImageEncoder::CT_ImageEncoder()
+    {
+    }
+
+inline CT_ImageEncoderServer::CT_ImageEncoder::~CT_ImageEncoder()
+    {
+    }
+
+inline CDataWrapper* CT_ImageEncoderServer::CT_ImageEncoder::CreateDataL( const TDesC& aData )
+	{
+	CDataWrapper* wrapper = NULL;
+	if( KDataImageEncoder() == aData )
+		{
+		wrapper = CT_MMDataImageEncoder::NewL();
+		}
+	return wrapper;
+	}
+
+// --------------------- CT_ImageEncoderServer -----------------------------------
+
+inline CT_ImageEncoderServer::CT_ImageEncoderServer()
+    {
+    }
+
+inline CT_ImageEncoderServer::~CT_ImageEncoderServer()
+    {
+    }
+
+void CT_ImageEncoderServer::DeleteActiveSchedulerL()
+	{
+	}
+
+inline CTestBlockController*	CT_ImageEncoderServer::CreateTestBlock()
+	{
+	return new CT_ImageEncoder();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageEncoder/inc/T_MMDataImageEncoder.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MM_DATA_IMAGEENCODER_H__)
+#define __T_MM_DATA_IMAGEENCODER_H__
+
+//	User Includes
+#include "DataWrapperBase.h"
+
+//	EPOC includes
+#include <imageconversion.h>
+
+/**
+ * Test Active Notification class
+ *
+ */
+class CT_MMDataImageEncoder : public CDataWrapperBase
+	{
+public:
+	~CT_MMDataImageEncoder();
+
+	static	CT_MMDataImageEncoder*	NewL();
+
+	virtual TBool	DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	virtual TAny*	GetObject();
+
+	virtual void	SetObjectL(TAny* aObject);
+
+	virtual void	DisownObjectL();
+
+	void DestroyData();
+
+	void RunL(CActive* aActive, TInt aIndex);
+    void DoCancel(CActive* aActive, const TInt aIndex);
+
+protected:
+	CT_MMDataImageEncoder();
+
+	void	ConstructL();
+
+private:
+	inline void				DoCmdDestructor();
+	inline void				DoCmdCancel();
+	inline void				DoCmdConvertL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void				DoCmdDataNewL(const TDesC& aSection);
+	inline void				DoCmdFileNewL(const TDesC& aSection);
+	inline void				DoCmdGetFileTypesL(const TDesC& aSection);
+	inline void				DoCmdGetImageSubTypesL(const TDesC& aSection);
+	inline void				DoCmdGetImageTypesL(const TDesC& aSection);
+	inline void				DoCmdImplementationUid();
+	inline void				DoCmdSetThumbnail(const TDesC& aSection);
+
+	//	MTPActiveCallback implementation
+	inline void				RunActiveL(const TInt aIndex);
+	inline void				DoCancelActive(const TInt aIndex);
+
+	//	Helper methods
+	CImageEncoder::TOptions	ReadOptions(const TDesC& aSection);
+	void					ReadUids(const TDesC& aSection, TUid& aImageType, TUid& aImageSubType, TUid& aEncoderUid);
+
+
+private:
+	RFbsSession					iFbsSession;
+	TBool						iFbsSessionConnected;
+	CImageEncoder*				iImageEncoder;
+	CActiveCallback*			iActive;
+	CFbsBitmap*					iBitmap;
+	RImageTypeDescriptionArray	iImageTypeArray;
+	RImageTypeDescriptionArray	iSubTypeArray;
+	RFileExtensionMIMETypeArray	iFileExtensionArray;
+	HBufC8*						iBuffer;
+	RFile						iFile;
+	TBool						iFileOpened;
+	RFs							iFs;
+	};
+
+#endif /* __T_MM_DATA_IMAGEENCODER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageEncoder/pkg/T_ImageEncoder.pkg	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,55 @@
+;
+; Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+;
+;
+; Install file for T_ImageEncoder.exe
+;
+
+; Languages -
+&EN
+
+; Installation header
+; UID is the app's UID
+#{"T_ImageEncoder"},(0x20000F73),1,0,0
+
+;%{"Vendor-EN"}
+;:"Symbian"
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+
+"T_ImageEncoder.exe"-"!:\sys\bin\T_ImageEncoder.exe"
+"timageencoder.bat"-"!:\multimedia\timageencoder.bat"
+"MM-ICL-ENCDE-PublicApi.script"-"!:\multimedia\MM-ICL-ENCDE-PublicApi.script"
+"t_multimedia.tcs"-"!:\multimedia\t_multimedia.tcs"
+"MM-ICL-ENCDE-PublicApi.ini"-"!:\multimedia\MM-ICL-ENCDE-PublicApi.ini"
+"t_imageencoder\enc1bit.mbm"-"!:\multimedia\t_imageencoder\enc1bit.mbm"
+"t_imageencoder\enc2bit.mbm"-"!:\multimedia\t_imageencoder\enc2bit.mbm"
+"t_imageencoder\enc4bit.mbm"-"!:\multimedia\t_imageencoder\enc4bit.mbm"
+"t_imageencoder\enc8bit.mbm"-"!:\multimedia\t_imageencoder\enc8bit.mbm"
+"t_imageencoder\enc16bit.mbm"-"!:\multimedia\t_imageencoder\enc16bit.mbm"
+"t_imageencoder\enc24bit.mbm"-"!:\multimedia\t_imageencoder\enc24bit.mbm"
+
+
+; Required files
+; None
+
+; Component .sis files
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageEncoder/pkg/timageencoder.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testexecute \multimedia\MM-ICL-ENCDE-PublicApi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageEncoder/scripts/MM-ICL-ENCDE-PublicApi.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1336 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName		MM-ICL-ENCDE-PublicApi
+//! @SYMScriptTestEnvironment	This test script requires a basic ROM.
+////////////////////////////////////////////////////////////////////
+// T_ImageEncoder.script
+//
+// Tests all public elements of the CImageEncoder class
+// as a means of confidence that the APIs work as expected.
+//
+// The purpose is to provide a regression test suite of PublishedAll APIs for CImageEncoder.
+// The tests are fully automated.
+/////////////////////////////////////////////////////////////////////
+
+LOAD_SUITE	T_ImageEncoder
+
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0001
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0001
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to bmp from 24-bit image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for bmp file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0001-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0001-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0001
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0002
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0002
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to bmp from 16-bit image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for bmp file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0002-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0002-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0002
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0003
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0003
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to bmp from 8-bit image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for bmp file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0003-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0003-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0003
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0004
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0004
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to bmp from 4-bit image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for bmp file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0004-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0004-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0004
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0005
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0005
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to bmp from 2-bit image in buffer giving an image type.
+//!				Uses API elements: DataNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for bmp file buffer. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	DataNewL	MM-ICL-ENCDE-PublicApi-0005-001-DataNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0005-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0005
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0006
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0006
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to bmp from 1-bit image in buffer giving a mime type.
+//!				Uses API elements: DataNewL(), SetThumbnail(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create encoder for bmp file buffer. 2. Set to encode thumbnail. 3. Encode image. 4. Get implementation UID of encoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder		\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	DataNewL		MM-ICL-ENCDE-PublicApi-0006-001-DataNewL_command01
+		COMMAND		imageencoder1	SetThumbnail		MM-ICL-ENCDE-PublicApi-0006-001-SetThumbnail_command02
+		COMMAND		imageencoder1	Convert			MM-ICL-ENCDE-PublicApi-0006-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imageencoder1	ImplementationUid
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0006
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0007
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0007
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of file extensions that can be encoded and their corresponding MIME types.
+//!				Uses API elements: GetFileTypesL().
+//! @SYMTestActions    		1. Get list of file extensions that can be encoded and their corresponding MIME types.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Information returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	GetFileTypesL
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0007
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0008
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0008
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Try to get list of image sub-types that can be encoded for an unsupported image type.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Try to get list of image sub-types that can be encoded for an unsupported image type.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder		\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	GetImageSubTypesL	MM-ICL-ENCDE-PublicApi-0008-001-GetImageSubTypesL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0008
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0009
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0009
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of basic image types that can be encoded.
+//!				Uses API elements: GetImageTypesL().
+//! @SYMTestActions    		1. Get list of basic image types that can be encoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Information returned with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	GetImageTypesL
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0009
+
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0010
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0010
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to gif from 24-bit image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for gif file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0010-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0010-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0010
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0011
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0011
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to gif from 16-bit image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for gif file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0011-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0011-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0011
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0012
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0012
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to gif from 8-bit image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for gif file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0012-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0012-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0012
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0013
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0013
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to gif from 4-bit image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for gif file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0013-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0013-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0013
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0014
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0014
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to gif from 2-bit image in buffer giving an image type.
+//!				Uses API elements: DataNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for gif file buffer. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	DataNewL	MM-ICL-ENCDE-PublicApi-0014-001-DataNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0014-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0014
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0015
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0015
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to gif from 1-bit image in buffer giving a mime type.
+//!				Uses API elements: DataNewL(), SetThumbnail(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create encoder for gif file buffer. 2. Set to encode thumbnail. 3. Encode image. 4. Get implementation UID of encoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	DataNewL		MM-ICL-ENCDE-PublicApi-0015-001-DataNewL_command01
+		COMMAND		imageencoder1	SetThumbnail		MM-ICL-ENCDE-PublicApi-0015-001-SetThumbnail_command02
+		COMMAND		imageencoder1	Convert			MM-ICL-ENCDE-PublicApi-0015-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imageencoder1	ImplementationUid
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0015
+
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0016
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0016
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to jpg from 24-bit image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for jpg file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0016-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0016-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0016
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0017
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0017
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to jpg from 16-bit image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for jpg file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0017-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0017-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0017
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0018
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0018
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to jpg from 8-bit image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for jpg file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0018-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0018-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0018
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0019
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0019
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to jpg from 4-bit image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for jpg file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0019-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0019-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0019
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0020
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0020
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to jpg from 2-bit image in buffer giving an image type.
+//!				Uses API elements: DataNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for jpg file buffer. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	DataNewL	MM-ICL-ENCDE-PublicApi-0020-001-DataNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0020-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0020
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0021
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0021
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to jpg from 1-bit image in buffer giving a mime type.
+//!				Uses API elements: DataNewL(), SetThumbnail(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create encoder for jpg file buffer. 2. Set to encode thumbnail. 3. Encode image. 4. Get implementation UID of encoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder		\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	DataNewL		MM-ICL-ENCDE-PublicApi-0021-001-DataNewL_command01
+		COMMAND		imageencoder1	SetThumbnail		MM-ICL-ENCDE-PublicApi-0021-001-SetThumbnail_command02
+		COMMAND		imageencoder1	Convert			MM-ICL-ENCDE-PublicApi-0021-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imageencoder1	ImplementationUid
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0021
+
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0022
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0022
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to mbm from 24-bit image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for mbm file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0022-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0022-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0022
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0023
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0023
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to mbm from 16-bit image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for mbm file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0023-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0023-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0023
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0024
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0024
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to mbm from 8-bit image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for mbm file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0024-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0024-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0024
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0025
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0025
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to mbm from 4-bit image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for mbm file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0025-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0025-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0025
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0026
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0026
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to mbm from 2-bit image in buffer giving an image type.
+//!				Uses API elements: DataNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for mbm file buffer. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	DataNewL	MM-ICL-ENCDE-PublicApi-0026-001-DataNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0026-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0026
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0027
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0027
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to mbm from 1-bit image in buffer giving a mime type.
+//!				Uses API elements: DataNewL(), SetThumbnail(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create encoder for mbm file buffer. 2. Set to encode thumbnail. 3. Encode image. 4. Get implementation UID of encoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder		\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	DataNewL		MM-ICL-ENCDE-PublicApi-0027-001-DataNewL_command01
+		COMMAND		imageencoder1	SetThumbnail		MM-ICL-ENCDE-PublicApi-0027-001-SetThumbnail_command02
+		COMMAND		imageencoder1	Convert			MM-ICL-ENCDE-PublicApi-0027-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imageencoder1	ImplementationUid
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0027
+
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0028
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0028
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to png from 24-bit image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for png file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0028-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0028-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0028
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0029
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0029
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to png from 16-bit image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for png file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0029-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0029-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0029
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0030
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0030
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to png from 8-bit image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for png file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0030-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0030-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0030
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0031
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0031
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to png from 4-bit image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for png file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0031-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0031-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0031
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0032
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0032
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to png from 2-bit image in buffer giving an image type.
+//!				Uses API elements: DataNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for png file buffer. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	DataNewL	MM-ICL-ENCDE-PublicApi-0032-001-DataNewL_command01
+		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0032-001-Convert_command02
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0032
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0033
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0033
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to png from 1-bit image in buffer giving a mime type.
+//!				Uses API elements: DataNewL(), SetThumbnail(), Convert(), ImplementationUid().
+//! @SYMTestActions    		1. Create encoder for png file buffer. 2. Set to encode thumbnail. 3. Encode image. 4. Get implementation UID of encoder used.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder		\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	DataNewL		MM-ICL-ENCDE-PublicApi-0033-001-DataNewL_command01
+		COMMAND		imageencoder1	SetThumbnail		MM-ICL-ENCDE-PublicApi-0033-001-SetThumbnail_command02
+		COMMAND		imageencoder1	Convert			MM-ICL-ENCDE-PublicApi-0033-001-Convert_command03
+		OUTSTANDING
+		COMMAND		imageencoder1	ImplementationUid
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0033
+
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0034
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0034
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of gif image sub-types that can be encoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of gif image sub-types that can be encoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder		\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	GetImageSubTypesL	MM-ICL-ENCDE-PublicApi-0034-001-GetImageSubTypesL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0034
+
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0035
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0035
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of jpg image sub-types that can be encoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of jpg image sub-types that can be encoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder		\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	GetImageSubTypesL	MM-ICL-ENCDE-PublicApi-0035-001-GetImageSubTypesL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0035
+
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0036
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0036
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of mbm image sub-types that can be encoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of mbm image sub-types that can be encoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder		\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	GetImageSubTypesL	MM-ICL-ENCDE-PublicApi-0036-001-GetImageSubTypesL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0036
+
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0037
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0037
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of png image sub-types that can be encoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of png image sub-types that can be encoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder		\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	GetImageSubTypesL	MM-ICL-ENCDE-PublicApi-0037-001-GetImageSubTypesL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0037
+
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0038
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0038
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of bmp image sub-types that can be encoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of bmp image sub-types that can be encoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder		\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	GetImageSubTypesL	MM-ICL-ENCDE-PublicApi-0037-001-GetImageSubTypesL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0038
+
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0039
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0039
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Begin encoding a bmp image file giving an image type, using RFile, then cancel the conversion.
+//!				Uses API elements: FileNewL(), Convert(), Cancel().
+//! @SYMTestActions    		1. Create encoder for bmp file image. 2. Encode image. 3. Cancel conversion.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Conversion cancelled with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND			imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0039-001-FileNewL_command01
+		COMMAND	!AsyncError=-3	imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0039-001-Convert_command02
+		COMMAND			imageencoder1	Cancel
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0039
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0040
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0040
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		17/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode an unloaded CFbsBitmap giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for corrupted file. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0040-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0040
+
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0041
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0041
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode a gif image giving an illegal mime type.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for gif file. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0041-001-FileNewL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0041
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0042
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0042
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode a bmp image giving an illegal mime type.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for bmp file. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0042-001-FileNewL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0042
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0043
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0043
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode a jpg image giving an illegal mime type.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for jpg file. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0043-001-FileNewL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0043
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0044
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0044
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode a mbm image giving an illegal mime type.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for mbm file. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0044-001-FileNewL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0044
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0045
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0045
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		27/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode a png image giving an illegal mime type.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for png file. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0045-001-FileNewL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0045
+
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0046
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0046
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Open tif 24-bit image file giving an image type, using RFile.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create encoder for tif file image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0046-001-FileNewL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0046
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0047
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0047
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Open tif 16-bit image file giving a mime type, using RFile.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create encoder for tif file image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0047-001-FileNewL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0047
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0048
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0048
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Open tif 8-bit image file giving an image type, without using RFile.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create encoder for tif file image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0048-001-FileNewL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0048
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0049
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0049
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Open tif 4-bit image file giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL().
+//! @SYMTestActions    		1. Create encoder for tif file image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0049-001-FileNewL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0049
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0050
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0050
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Open tif 2-bit image in buffer giving an image type.
+//!				Uses API elements: DataNewL().
+//! @SYMTestActions    		1. Create encoder for tif file buffer.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	DataNewL	MM-ICL-ENCDE-PublicApi-0050-001-DataNewL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0050
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0051
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0051
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Open tif 1-bit image in buffer giving a mime type.
+//!				Uses API elements: DataNewL().
+//! @SYMTestActions    		1. Create encoder for tif file buffer.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	DataNewL	MM-ICL-ENCDE-PublicApi-0051-001-DataNewL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0051
+
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0052
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0052
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		13/01/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Get list of tif image sub-types that can be encoded.
+//!				Uses API elements: GetImageSubTypesL().
+//! @SYMTestActions    		1. Get list of tif image sub-types that can be encoded.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10		T_ImageEncoder		\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT		CImageEncoder	imageencoder1
+		COMMAND	!Error=-1	imageencoder1	GetImageSubTypesL	MM-ICL-ENCDE-PublicApi-0052-001-GetImageSubTypesL_command01
+		COMMAND			imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0052
+
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0053
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0053
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		03/03/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Convert an unloaded CFbsBitmap giving an image type, using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for bmp file image. 2. Convert image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNone returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0053-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0053
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0054
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0054
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		03/03/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Convert an unloaded CFbsBitmap giving a mime type, using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for bmp file image. 2. Convert image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNone returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0054-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0054
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0055
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0055
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		03/03/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Convert an unloaded CFbsBitmap giving an image type, without using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for bmp file image. 2. Convert image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNone returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0055-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0055
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0056
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0056
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		03/03/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Convert an unloaded CFbsBitmap giving a mime type, without using RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for bmp file image. 2. Convert image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNone returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0056-001-FileNewL_command01
+		COMMAND		imageencoder1	Convert
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0056
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0057
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0057
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		03/03/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Convert in buffer from an unloaded CFbsBitmap giving an image type.
+//!				Uses API elements: DataNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for bmp file buffer. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNone returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	DataNewL	MM-ICL-ENCDE-PublicApi-0057-001-DataNewL_command01
+		COMMAND		imageencoder1	Convert
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0057
+
+START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0058
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0058
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		03/03/2006
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Convert in buffer from an unloaded CFbsBitmap giving a mime type.
+//!				Uses API elements: DataNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for bmp file buffer. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNone returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+		CREATE_OBJECT	CImageEncoder	imageencoder1
+		COMMAND		imageencoder1	DataNewL	MM-ICL-ENCDE-PublicApi-0058-001-DataNewL_command01
+		COMMAND		imageencoder1	Convert
+		OUTSTANDING
+		COMMAND		imageencoder1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0058
+
+//! START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0059
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0059
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to bmp from 24-bit image file giving an image type, using a closed RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for bmp file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+//! 		CREATE_OBJECT	CImageEncoder	imageencoder1
+//! 		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0059-001-FileNewL_command01
+//! 		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0059-001-Convert_command02
+//! 		OUTSTANDING
+//! 		COMMAND		imageencoder1	~
+//! 	END_TEST_BLOCK	!PanicCode=0
+//! END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0059
+
+//! START_TESTCASE 			MM-ICL-ENCDE-PublicApi-0060
+//! @SYMTestCaseID		MM-ICL-ENCDE-PublicApi-0060
+//! @SYMAPI			CImageEncoder
+//! @SYMAuthor			Louis Nayegon
+//! @SYMCreationDate		29/11/2005
+//! @SYMTestCaseDependencies	setup-MM-ICL-ENCDE-PublicApi.script
+//! @SYMTestCaseDesc		Encode to bmp from 16-bit image file giving a mime type, using a closed RFile.
+//!				Uses API elements: FileNewL(), Convert().
+//! @SYMTestActions    		1. Create encoder for bmp file image. 2. Encode image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Image encoded with no errors.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10		T_ImageEncoder	\multimedia\MM-ICL-ENCDE-PublicApi.ini
+//! 		CREATE_OBJECT	CImageEncoder	imageencoder1
+//! 		COMMAND		imageencoder1	FileNewL	MM-ICL-ENCDE-PublicApi-0060-001-FileNewL_command01
+//! 		COMMAND		imageencoder1	Convert		MM-ICL-ENCDE-PublicApi-0060-001-Convert_command02
+//! 		OUTSTANDING
+//! 		COMMAND		imageencoder1	~
+//! 	END_TEST_BLOCK	!PanicCode=0
+//! END_TESTCASE 			MM-ICL-ENCDE-PublicApi-0060
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageEncoder/scripts/setup-MM-ICL-ENCDE-PublicApi.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,40 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+RUN_UTILS MkDir 	${SYSDRIVE}\multimedia\
+RUN_UTILS MkDir 	${SYSDRIVE}\multimedia\t_imageencoder\
+
+RUN_UTILS CopyFile	z:\multimedia\MM-ICL-ENCDE-PublicApi.script	${SYSDRIVE}\multimedia\MM-ICL-ENCDE-PublicApi.script
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-ICL-ENCDE-PublicApi.script
+
+RUN_UTILS CopyFile	z:\multimedia\t_multimedia.tcs	${SYSDRIVE}\multimedia\t_multimedia.tcs
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia.tcs
+
+RUN_UTILS CopyFile	z:\multimedia\MM-ICL-ENCDE-PublicApi.ini	${SYSDRIVE}\multimedia\MM-ICL-ENCDE-PublicApi.ini
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-ICL-ENCDE-PublicApi.ini
+RUN_UTILS CopyFile	z:\multimedia\t_imageencoder\enc1bit.mbm	${SYSDRIVE}\multimedia\t_imageencoder\enc1bit.mbm
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imageencoder\enc1bit.mbm
+RUN_UTILS CopyFile	z:\multimedia\t_imageencoder\enc2bit.mbm	${SYSDRIVE}\multimedia\t_imageencoder\enc2bit.mbm
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imageencoder\enc2bit.mbm
+RUN_UTILS CopyFile	z:\multimedia\t_imageencoder\enc4bit.mbm	${SYSDRIVE}\multimedia\t_imageencoder\enc4bit.mbm
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imageencoder\enc4bit.mbm
+RUN_UTILS CopyFile	z:\multimedia\t_imageencoder\enc8bit.mbm	${SYSDRIVE}\multimedia\t_imageencoder\enc8bit.mbm
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imageencoder\enc8bit.mbm
+RUN_UTILS CopyFile	z:\multimedia\t_imageencoder\enc16bit.mbm	${SYSDRIVE}\multimedia\t_imageencoder\enc16bit.mbm
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imageencoder\enc16bit.mbm
+RUN_UTILS CopyFile	z:\multimedia\t_imageencoder\enc24bit.mbm	${SYSDRIVE}\multimedia\t_imageencoder\enc24bit.mbm
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_imageencoder\enc24bit.mbm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageEncoder/src/T_ImageEncoderServer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_ImageEncoderServer.h"
+
+CT_ImageEncoderServer* CT_ImageEncoderServer::NewL()
+	{
+	CT_ImageEncoderServer* server = new (ELeave) CT_ImageEncoderServer();
+	CleanupStack::PushL(server);
+	server->ConstructL();
+	CleanupStack::Pop(server);
+	return server;
+	}
+
+LOCAL_C void MainL()
+	{
+#if (defined __DATA_CAGING__)
+	RProcess().DataCaging(RProcess::EDataCagingOn);
+	RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+	CActiveScheduler* sched=NULL;
+	sched=new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(sched);
+	CT_ImageEncoderServer* server = NULL;
+	TRAPD(err, server = CT_ImageEncoderServer::NewL());
+	if(!err)
+		{
+		RProcess::Rendezvous(KErrNone);
+		sched->Start();
+		}
+	delete server;
+	delete sched;
+	}
+
+GLDEF_C TInt E32Main()
+	{
+	CTrapCleanup* cleanup = CTrapCleanup::New();
+	if(cleanup == NULL)
+		{
+		return KErrNoMemory;
+		}
+	TRAP_IGNORE(MainL());
+	delete cleanup;
+	return KErrNone;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageEncoder/src/T_MMDataImageEncoder.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,678 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataImageEncoder.h"
+#include "T_MMUtil.h"
+
+/*@{*/
+_LIT(KBitmapFile,							"bitmapfile");
+_LIT(KUseRFile,								"userfile");
+_LIT(KUseClosedRFile,						"useclosedrfile");
+_LIT(KFilename,								"filename");
+_LIT(KMime,									"mime");
+_LIT(KOption,								"option%d");
+_LIT(KImageType,							"imagetype");
+_LIT(KImageSubType,							"imagesubtype");
+_LIT(KEncoderUid,							"encoderuid");
+_LIT(KThumbNail,							"thumbnail");
+_LIT(KUseBmpDataType,						"usebmpdatatype");
+_LIT(KDataTypeSetting,						"datatypesetting");
+_LIT(KCount,								"count");
+
+_LIT(KCmdDestructor,						"~");
+_LIT(KCmdCancel,							"Cancel");
+_LIT(KCmdConvert,							"Convert");
+_LIT(KCmdDataNewL,							"DataNewL");
+_LIT(KCmdFileNewL,							"FileNewL");
+_LIT(KCmdGetFileTypesL,						"GetFileTypesL");
+_LIT(KCmdGetImageSubTypesL,					"GetImageSubTypesL");
+_LIT(KCmdGetImageTypesL,					"GetImageTypesL");
+_LIT(KCmdImplementationUid,					"ImplementationUid");
+_LIT(KCmdSetThumbnail,						"SetThumbnail");
+/*@}*/
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+CT_MMDataImageEncoder* CT_MMDataImageEncoder::NewL()
+/**
+ * Two phase constructor
+ *
+ * @leave	system wide error
+ */
+	{
+	CT_MMDataImageEncoder*	ret=new (ELeave) CT_MMDataImageEncoder();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+CT_MMDataImageEncoder::CT_MMDataImageEncoder()
+/**
+ * Protected constructor. First phase construction
+ */
+:	iFbsSessionConnected(EFalse)
+,	iImageEncoder(NULL)
+,	iActive(NULL)
+,	iBitmap(NULL)
+,	iBuffer(NULL)
+,	iFileOpened(EFalse)
+	{
+	}
+
+void CT_MMDataImageEncoder::ConstructL()
+/**
+ * Second phase construction
+ *
+ * @internalComponent
+ *
+ * @return	N/A
+ *
+ * @pre		None
+ * @post	None
+ *
+ * @leave	system wide error
+ */
+	{
+	User::LeaveIfError(iFs.Connect());
+
+	User::LeaveIfError(iFbsSession.Connect()); // Will leave with KErrNotFound if TextShell in epoc.ini
+	iFbsSessionConnected=ETrue;
+
+	iActive=CActiveCallback::NewL(*this);
+	}
+
+CT_MMDataImageEncoder::~CT_MMDataImageEncoder()
+/**
+ * Public destructor
+ */
+	{
+	DestroyData();
+
+	delete iBitmap;
+	iBitmap=NULL;
+	delete iActive;
+	iActive=NULL;
+	if ( iFbsSessionConnected )
+		{
+		iFbsSession.Disconnect();
+		iFbsSessionConnected=EFalse;
+		}
+	}
+
+TAny* CT_MMDataImageEncoder::GetObject()
+	{
+	return iImageEncoder;
+	}
+
+void CT_MMDataImageEncoder::SetObjectL(TAny* aObject)
+	{
+	DestroyData();
+	iImageEncoder	= static_cast<CImageEncoder*> (aObject);
+	}
+
+void CT_MMDataImageEncoder::DisownObjectL()
+	{
+	iImageEncoder = NULL;
+	}
+
+void CT_MMDataImageEncoder::DestroyData()
+	{
+	if ( iFileOpened )
+		{
+		iFile.Close();
+		iFileOpened=EFalse;
+		}
+	iFs.Close();
+	delete iBuffer;
+	iBuffer=NULL;
+	iImageTypeArray.Close();
+	iSubTypeArray.Close();
+	iFileExtensionArray.Close();
+	delete iImageEncoder;
+	iImageEncoder=NULL;
+	}
+
+CImageEncoder::TOptions CT_MMDataImageEncoder::ReadOptions(const TDesC& aSection)
+/**
+ ReadOptions - read in bitwise image encoder options
+ @internalComponent
+ @param aSection - main entry in .ini file
+ @return CImageEncoder::TOptions
+ @pre None
+ @post 2nd stage construction complete
+*/
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt								index=0;
+	TBool								moreData=ETrue;
+	TPtrC								optionString;
+	TInt								options=CImageEncoder::EOptionNone;
+	while ( moreData )
+		{
+		tempStore.Format(KOption(), ++index);
+		if ( GetStringFromConfig(aSection, tempStore, optionString) )
+			{
+			CImageEncoder::TOptions	option;
+			if ( CT_MMUtil::ConvertToOption(optionString, option) )
+				{
+				options |= option;
+				}
+			else
+				{
+				ERR_PRINTF2(_L("Illegal option %S"), &optionString);
+				SetBlockResult(EFail);
+				}
+			}
+		else
+			{
+			moreData=EFalse;
+			}
+		}
+	return CImageEncoder::TOptions(options);
+	}
+
+void CT_MMDataImageEncoder::ReadUids(const TDesC& aSection, TUid& aImageType, TUid& aImageSubType, TUid& aEncoderUid)
+/**
+ ReadUids - read in bitwise image encoder options
+ @internalComponent
+ @param aSection - main entry in .ini file
+ @param aImageType - reference to image type uid if not present uid returned is 0
+ @param aImageSubType - reference to image sub type uid if not present uid returned is 0
+ @param aEncoderUid - reference to encoder uid if not present uid returned is 0
+ @return N/A
+ @pre None
+ @post 2nd stage construction complete
+*/
+	{
+	TInt								intTemp;
+
+	intTemp=0;
+	GetHexFromConfig(aSection, KImageType(), intTemp);
+	aImageType=TUid::Uid(intTemp);
+
+	intTemp=0;
+	GetHexFromConfig(aSection, KImageSubType(), intTemp);
+	aImageSubType=TUid::Uid(intTemp);
+
+	intTemp=0;
+	GetHexFromConfig(aSection, KEncoderUid(), intTemp);
+	aEncoderUid=TUid::Uid(intTemp);
+	}
+
+TBool CT_MMDataImageEncoder::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+/**
+ * Process a command read from the ini file
+ *
+ * @param aCommand			The command to process
+ * @param aSection			The section in the ini containing data for the command
+ * @param aAsyncErrorIndex	Command index for async calls to return errors to
+ *
+ * @return					ETrue if the command is processed
+ *
+ * @leave					System wide error
+ */
+	{
+	TBool	ret=ETrue;
+
+	if ( aCommand==KCmdDestructor )
+		{
+		DoCmdDestructor();
+		}
+	else if ( aCommand==KCmdCancel )
+		{
+		DoCmdCancel();
+		}
+	else if ( aCommand==KCmdConvert )
+		{
+		DoCmdConvertL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdDataNewL )
+		{
+		DoCmdDataNewL(aSection);
+		}
+	else if ( aCommand==KCmdFileNewL )
+		{
+		DoCmdFileNewL(aSection);
+		}
+	else if ( aCommand==KCmdGetFileTypesL )
+		{
+		DoCmdGetFileTypesL(aSection);
+		}
+	else if ( aCommand==KCmdGetImageSubTypesL )
+		{
+		DoCmdGetImageSubTypesL(aSection);
+		}
+	else if ( aCommand==KCmdGetImageTypesL )
+		{
+		DoCmdGetImageTypesL(aSection);
+		}
+	else if ( aCommand==KCmdImplementationUid )
+		{
+		DoCmdImplementationUid();
+		}
+	else if ( aCommand==KCmdSetThumbnail )
+		{
+		DoCmdSetThumbnail(aSection);
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+void CT_MMDataImageEncoder::DoCmdDestructor()
+	{
+	DestroyData();
+	}
+
+void CT_MMDataImageEncoder::DoCmdCancel()
+	{
+	iImageEncoder->Cancel();
+	}
+
+void CT_MMDataImageEncoder::DoCmdConvertL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+	delete iBitmap;
+	iBitmap=NULL;
+	iBitmap=new (ELeave) CFbsBitmap();
+
+	TPtrC	bitmapFile;
+	if ( GetStringFromConfig(aSection, KBitmapFile(), bitmapFile) )
+		{
+		TInt	err=iBitmap->Load(bitmapFile);
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("CFbsBitmap::Load failed with error %d"), err);
+			SetBlockResult(EFail);
+			}
+		}
+
+	CFrameImageData*	frameImageData = NULL;
+
+	TBool	useBmpDataType=EFalse;
+	if ( GetBoolFromConfig(aSection, KUseBmpDataType(), useBmpDataType) )
+		{
+		frameImageData=CFrameImageData::NewL();
+		TInt	imageDataSetting = 0;
+		GetIntFromConfig(aSection, KDataTypeSetting(), imageDataSetting);
+
+		if ( useBmpDataType )
+			{
+			TBmpImageData*	imageData = new(ELeave) TBmpImageData;
+			imageData->iBitsPerPixel = imageDataSetting;
+			frameImageData->AppendImageData(imageData);
+			INFO_PRINTF2(_L("Using TBmpImageData (iBitsPerPixel=%d)"), imageDataSetting);
+			}
+		else
+			{
+			TJpegImageData*	imageData = new(ELeave) TJpegImageData;
+			imageData->iSampleScheme = TJpegImageData::EColor444;
+			imageData->iQualityFactor = imageDataSetting;
+			frameImageData->AppendImageData(imageData);
+			INFO_PRINTF2(_L("Using TJpegImageData (iQualityFactor=%d)"), imageDataSetting);
+			}
+		INFO_PRINTF1(_L("CImageEncoder::Convert(&(iActive->iStatus), iBitmap, frameImageData)"));
+		}
+	else
+		{
+		INFO_PRINTF1(_L("CImageEncoder::Convert(&(iActive->iStatus), iBitmap, NULL)"));
+		}
+
+	iImageEncoder->Convert(&(iActive->iStatus), *iBitmap, frameImageData);
+	iActive->Activate(aAsyncErrorIndex);
+	IncOutstanding();
+	}
+
+void CT_MMDataImageEncoder::DoCmdDataNewL(const TDesC& aSection)
+	{
+	TPtrC	mime;
+	TBool	hasMime=GetStringFromConfig(aSection, KMime(), mime);
+
+	//	Read options
+	CImageEncoder::TOptions	options=ReadOptions(aSection);
+
+	//	Read Uids
+	TUid	imageType;
+	TUid	imageSubType;
+	TUid	encoderUid;
+	ReadUids(aSection, imageType, imageSubType, encoderUid);
+
+	if ( EPass==BlockResult() )
+		{
+		HBufC8*	mime8=HBufC8::NewLC(mime.Length());
+		mime8->Des().Copy(mime);
+
+		delete iBuffer;
+		iBuffer=NULL;
+		if ( hasMime )
+			{
+			TRAPD(err, iImageEncoder=CImageEncoder::DataNewL(iBuffer, mime8->Des(), options));
+			if ( err == KErrNone )
+				{
+				INFO_PRINTF1(_L("CImageEncoder::DataNewL(iBuffer, mime8->Des(), options)"));
+				}
+			else
+				{
+				ERR_PRINTF2(_L("CImageEncoder::DataNewL Error %d"), err);
+				SetError(err);
+				}
+			}
+		else
+			{
+			TRAPD(err, iImageEncoder=CImageEncoder::DataNewL(iBuffer, options, imageType, imageSubType, encoderUid));
+			if ( err == KErrNone )
+				{
+				INFO_PRINTF1(_L("CImageEncoder::DataNewL(iBuffer, options, imageType, imageSubType, encoderUid)"));
+				}
+			else
+				{
+				ERR_PRINTF2(_L("CImageEncoder::DataNewL Error %d"), err);
+				SetError(err);
+				}
+			}
+		CleanupStack::PopAndDestroy(mime8);
+		}
+	}
+
+void CT_MMDataImageEncoder::DoCmdFileNewL(const TDesC& aSection)
+	{
+	TBool	useRFile=EFalse;
+	GetBoolFromConfig(aSection, KUseRFile(), useRFile);
+
+	TBool	useClosedRFile=EFalse;
+	GetBoolFromConfig(aSection, KUseClosedRFile(), useClosedRFile);
+
+	TPtrC	filename;
+	if ( !GetStringFromConfig(aSection, KFilename(), filename) )
+		{
+		ERR_PRINTF1(_L("No Filename"));
+		SetBlockResult(EFail);
+		}
+
+	TPtrC	mime;
+	TBool	hasMime=GetStringFromConfig(aSection, KMime(), mime);
+
+	//	Read options
+	CImageEncoder::TOptions	options=ReadOptions(aSection);
+
+	//	Read Uids
+	TUid	imageType;
+	TUid	imageSubType;
+	TUid	encoderUid;
+	ReadUids(aSection, imageType, imageSubType, encoderUid);
+
+	if ( EPass==BlockResult() )
+		{
+		HBufC8*	mime8=HBufC8::NewLC(mime.Length());
+		mime8->Des().Copy(mime);
+		if ( useRFile || useClosedRFile )
+			{
+			if ( iFileOpened )
+				{
+				iFile.Close();
+				iFileOpened=EFalse;
+				}
+			if ( !useClosedRFile )
+				{
+				if ( iFile.Open(iFs, filename, EFileWrite)!=KErrNone )
+					{
+					User::LeaveIfError(iFile.Create(iFs, filename, EFileWrite));
+					}
+				iFileOpened=ETrue;
+				}
+			if ( hasMime )
+				{
+				TRAPD(err, iImageEncoder=CImageEncoder::FileNewL(iFile, mime8->Des(), options));
+				if ( err == KErrNone )
+					{
+					INFO_PRINTF1(_L("CImageEncoder::FileNewL(iFile, mime8->Des(), options)"));
+					}
+				else
+					{
+					ERR_PRINTF2(_L("CImageEncoder::FileNewL Error %d"), err);
+					SetError(err);
+					}
+				}
+			else
+				{
+				TRAPD(err, iImageEncoder=CImageEncoder::FileNewL(iFile, options, imageType, imageSubType, encoderUid));
+				if ( err == KErrNone )
+					{
+					INFO_PRINTF1(_L("CImageEncoder::FileNewL(iFile, options, imageType, imageSubType, encoderUid)"));
+					}
+				else
+					{
+					ERR_PRINTF2(_L("CImageEncoder::FileNewL Error %d"), err);
+					SetError(err);
+					}
+				}
+			}
+		else
+			{
+			if ( hasMime )
+				{
+				TRAPD(err, iImageEncoder=CImageEncoder::FileNewL(iFs, filename, mime8->Des(), options));
+				if ( err == KErrNone )
+					{
+					INFO_PRINTF1(_L("CImageEncoder::FileNewL(iFs, filename, mime8->Des(), options)"));
+					}
+				else
+					{
+					ERR_PRINTF2(_L("CImageEncoder::FileNewL Error %d"), err);
+					SetError(err);
+					}
+				}
+			else
+				{
+				TRAPD(err, iImageEncoder=CImageEncoder::FileNewL(iFs, filename, options, imageType, imageSubType, encoderUid));
+				if ( err == KErrNone )
+					{
+					INFO_PRINTF1(_L("CImageEncoder::FileNewL(iFs, filename, options, imageType, imageSubType, encoderUid)"));
+					}
+				else
+					{
+					ERR_PRINTF2(_L("CImageEncoder::FileNewL Error %d"), err);
+					SetError(err);
+					}
+				}
+			}
+		CleanupStack::PopAndDestroy(mime8);
+		}
+	}
+
+void CT_MMDataImageEncoder::DoCmdGetFileTypesL(const TDesC& aSection)
+	{
+	iFileExtensionArray.ResetAndDestroy();
+	TRAPD(err, CImageEncoder::GetFileTypesL(iFileExtensionArray));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CImageEncoder::GetFileTypesL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		CT_MMUtil::VerifyMIMETypeArrayL(*this, aSection, iFileExtensionArray);
+		}
+	}
+
+void CT_MMDataImageEncoder::DoCmdGetImageSubTypesL(const TDesC& aSection)
+	{
+	TInt	uid=0;
+	GetHexFromConfig(aSection, KImageType(), uid);
+
+	iSubTypeArray.ResetAndDestroy();
+	TRAPD(err, CImageEncoder::GetImageSubTypesL(TUid::Uid(uid), iSubTypeArray));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CImageEncoder::GetImageSubTypesL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		TInt	count=iSubTypeArray.Count();
+		for ( TInt index=0; index<count; ++index )
+			{
+			CImageTypeDescription*	data=iSubTypeArray[index];
+			const TDesC&			description=data->Description();
+			TUid					imageType=data->ImageType();
+			TUid					subType=data->SubType();
+			INFO_PRINTF3(_L("Description[%d]      =%S"), index, &description);
+			INFO_PRINTF3(_L("ImageType[%d]        =0x%X"), index, imageType.iUid);
+			INFO_PRINTF3(_L("SubType[%d]          =0x%X"), index, subType.iUid);
+			}
+		TInt	expectedCount=0;
+		if ( GetIntFromConfig(aSection, KCount(), expectedCount) )
+			{
+			if ( count != expectedCount )
+				{
+				ERR_PRINTF3(_L("count (%d) != expectedCount (%d)"), count, expectedCount);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataImageEncoder::DoCmdGetImageTypesL(const TDesC& aSection)
+	{
+
+	iImageTypeArray.ResetAndDestroy();
+	TRAPD(err, CImageEncoder::GetImageTypesL(iImageTypeArray));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CImageEncoder::GetImageTypesL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		TInt	count=iImageTypeArray.Count();
+		for ( TInt index=0; index<count; ++index )
+			{
+			CImageTypeDescription*	data=iImageTypeArray[index];
+			const TDesC&			description=data->Description();
+			TUid					imageType=data->ImageType();
+			TUid					subType=data->SubType();
+			INFO_PRINTF3(_L("Description[%d]      =%S"), index, &description);
+			INFO_PRINTF3(_L("ImageType[%d]        =0x%X"), index, imageType.iUid);
+			INFO_PRINTF3(_L("SubType[%d]          =0x%X"), index, subType.iUid);
+			}
+		TInt	expectedCount=0;
+		if ( GetIntFromConfig(aSection, KCount(), expectedCount) )
+			{
+			if ( count != expectedCount )
+				{
+				ERR_PRINTF3(_L("count (%d) != expectedCount (%d)"), count, expectedCount);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataImageEncoder::DoCmdImplementationUid()
+	{
+	TUid	uid=iImageEncoder->ImplementationUid();
+	INFO_PRINTF2(_L("ImplementationUid Uid: 0x%X"), uid.iUid);
+	}
+
+void CT_MMDataImageEncoder::DoCmdSetThumbnail(const TDesC& aSection)
+	{
+	TBool	generateThumbnail=EFalse;
+	GetBoolFromConfig(aSection, KThumbNail(), generateThumbnail);
+
+	iImageEncoder->SetThumbnail(generateThumbnail);
+	}
+
+void CT_MMDataImageEncoder::RunL(CActive* aActive, const TInt aAsyncErrorIndex)
+/**
+ Virtual RunL - Called on completion of an asynchronous command
+ @internalComponent
+ @see MTPActiveCallback
+ @param aActive Active Object that RunL has been called on
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+	{
+	if ( aActive==iActive )
+		{
+		RunActiveL(aAsyncErrorIndex);
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Stray signal"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataImageEncoder::DoCancel(CActive* aActive, const TInt aAsyncErrorIndex)
+/**
+ Virtual DoCancel - Request to cancel the asynchronous command
+ @internalComponent
+ @see - MTPActiveCallback
+ @param aActive Active Object that DoCancel has been called on
+ @pre - N/A
+ @post - N/A
+ @leave system wide error code
+*/
+	{
+	if ( aActive==iActive )
+		{
+		DoCancelActive(aAsyncErrorIndex);
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Stray signal"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataImageEncoder::RunActiveL(const TInt aAsyncErrorIndex)
+/**
+ RunActiveL - Process RunL for iActive
+ @internalComponent
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+	{
+	TInt	err=iActive->iStatus.Int();
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("RunL Error %d"), err);
+		SetAsyncError(aAsyncErrorIndex, err);
+		}
+	DecOutstanding();
+	}
+
+
+void CT_MMDataImageEncoder::DoCancelActive(const TInt /*aAsyncErrorIndex*/)
+/**
+ DoCancelActive - Process DoCancel for iActive
+ @internalComponent
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+	{
+	ERR_PRINTF1(_L("Canceled"));
+	iImageEncoder->Cancel();
+	}
Binary file mmapitest/mmsvs/suite/icl/T_ImageEncoder/src/leopard.bmp has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/icl/T_ImageEncoder/testdata/MM-ICL-ENCDE-PublicApi.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,484 @@
+[MM-ICL-ENCDE-PublicApi-0001-001-FileNewL_command01]
+userfile	=TRUE
+imagetype	=101F45B0
+filename	=\multimedia\t_imageencoder\24bit_output.bmp
+
+
+[MM-ICL-ENCDE-PublicApi-0001-001-Convert_command02]
+datatypesetting	=24
+usebmpdatatype	=TRUE
+bitmapfile	=\multimedia\t_imageencoder\enc24bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0002-001-FileNewL_command01]
+userfile	=TRUE
+mime		=image/bmp
+filename	=\multimedia\t_imageencoder\16bit_output.bmp
+
+
+[MM-ICL-ENCDE-PublicApi-0002-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc16bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0003-001-FileNewL_command01]
+userfile	=FALSE
+imagetype	=101F45B0
+filename	=\multimedia\t_imageencoder\8bit_output.bmp
+
+
+[MM-ICL-ENCDE-PublicApi-0003-001-Convert_command02]
+datatypesetting	=8
+usebmpdatatype	=TRUE
+bitmapfile	=\multimedia\t_imageencoder\enc8bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0004-001-FileNewL_command01]
+userfile	=FALSE
+mime		=image/bmp
+filename	=\multimedia\t_imageencoder\4bit_output.bmp
+
+
+[MM-ICL-ENCDE-PublicApi-0004-001-Convert_command02]
+datatypesetting	=4
+usebmpdatatype	=TRUE
+bitmapfile	=\multimedia\t_imageencoder\enc4bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0005-001-DataNewL_command01]
+imagetype	=101F45B0
+userfile	=FALSE
+
+
+[MM-ICL-ENCDE-PublicApi-0005-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc2bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0006-001-DataNewL_command01]
+mime		=image/bmp
+userfile	=FALSE
+
+
+[MM-ICL-ENCDE-PublicApi-0006-001-SetThumbnail_command02]
+thumbnail	=TRUE
+
+
+[MM-ICL-ENCDE-PublicApi-0006-001-Convert_command03]
+bitmapfile	=\multimedia\t_imageencoder\enc1bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0008-001-GetImageSubTypesL_command01]
+imagetype	=101F45C4
+
+
+[MM-ICL-ENCDE-PublicApi-0010-001-FileNewL_command01]
+userfile	=TRUE
+imagetype	=101F45B3
+filename	=\multimedia\t_imageencoder\24bit_output.gif
+
+
+[MM-ICL-ENCDE-PublicApi-0010-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc24bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0011-001-FileNewL_command01]
+userfile	=TRUE
+mime		=image/gif
+filename	=\multimedia\t_imageencoder\16bit_output.gif
+
+
+[MM-ICL-ENCDE-PublicApi-0011-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc16bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0012-001-FileNewL_command01]
+userfile	=FALSE
+imagetype	=101F45B3
+filename	=\multimedia\t_imageencoder\8bit_output.gif
+
+
+[MM-ICL-ENCDE-PublicApi-0012-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc8bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0013-001-FileNewL_command01]
+userfile	=FALSE
+mime		=image/gif
+filename	=\multimedia\t_imageencoder\4bit_output.gif
+
+
+[MM-ICL-ENCDE-PublicApi-0013-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc4bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0014-001-DataNewL_command01]
+imagetype	=101F45B3
+userfile	=FALSE
+
+
+[MM-ICL-ENCDE-PublicApi-0014-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc2bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0015-001-DataNewL_command01]
+mime		=image/gif
+userfile	=FALSE
+
+
+[MM-ICL-ENCDE-PublicApi-0015-001-SetThumbnail_command02]
+thumbnail	=TRUE
+
+
+[MM-ICL-ENCDE-PublicApi-0015-001-Convert_command03]
+bitmapfile	=\multimedia\t_imageencoder\enc1bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0016-001-FileNewL_command01]
+userfile	=TRUE
+imagetype	=101F45D8
+filename	=\multimedia\t_imageencoder\24bit_output.jpg
+
+
+[MM-ICL-ENCDE-PublicApi-0016-001-Convert_command02]
+datatypesetting	=80
+usebmpdatatype	=FALSE
+bitmapfile	=\multimedia\t_imageencoder\enc24bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0017-001-FileNewL_command01]
+userfile	=TRUE
+mime		=image/jpeg
+filename	=\multimedia\t_imageencoder\16bit_output.jpg
+
+
+[MM-ICL-ENCDE-PublicApi-0017-001-Convert_command02]
+datatypesetting	=80
+usebmpdatatype	=FALSE
+bitmapfile	=\multimedia\t_imageencoder\enc16bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0018-001-FileNewL_command01]
+userfile	=FALSE
+imagetype	=101F45D8
+filename	=\multimedia\t_imageencoder\8bit_output.jpg
+
+
+[MM-ICL-ENCDE-PublicApi-0018-001-Convert_command02]
+datatypesetting	=80
+usebmpdatatype	=FALSE
+bitmapfile	=\multimedia\t_imageencoder\enc8bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0019-001-FileNewL_command01]
+userfile	=FALSE
+mime		=image/jpeg
+filename	=\multimedia\t_imageencoder\4bit_output.jpg
+
+
+[MM-ICL-ENCDE-PublicApi-0019-001-Convert_command02]
+datatypesetting	=80
+usebmpdatatype	=FALSE
+bitmapfile	=\multimedia\t_imageencoder\enc4bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0020-001-DataNewL_command01]
+imagetype	=101F45D8
+userfile	=FALSE
+
+
+[MM-ICL-ENCDE-PublicApi-0020-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc2bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0021-001-DataNewL_command01]
+mime		=image/jpeg
+userfile	=FALSE
+
+
+[MM-ICL-ENCDE-PublicApi-0021-001-SetThumbnail_command02]
+thumbnail	=TRUE
+
+
+[MM-ICL-ENCDE-PublicApi-0021-001-Convert_command03]
+bitmapfile	=\multimedia\t_imageencoder\enc1bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0022-001-FileNewL_command01]
+userfile	=TRUE
+imagetype	=101F45CC
+filename	=\multimedia\t_imageencoder\24bit_output.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0022-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc24bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0023-001-FileNewL_command01]
+userfile	=TRUE
+mime		=image/x-epoc-mbm
+filename	=\multimedia\t_imageencoder\16bit_output.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0023-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc16bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0024-001-FileNewL_command01]
+userfile	=FALSE
+imagetype	=101F45CC
+filename	=\multimedia\t_imageencoder\8bit_output.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0024-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc8bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0025-001-FileNewL_command01]
+userfile	=FALSE
+mime		=image/x-epoc-mbm
+filename	=\multimedia\t_imageencoder\4bit_output.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0025-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc4bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0026-001-DataNewL_command01]
+imagetype	=101F45CC
+userfile	=FALSE
+
+
+[MM-ICL-ENCDE-PublicApi-0026-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc2bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0027-001-DataNewL_command01]
+mime		=image/x-epoc-mbm
+userfile	=FALSE
+
+
+[MM-ICL-ENCDE-PublicApi-0027-001-SetThumbnail_command02]
+thumbnail	=TRUE
+
+
+[MM-ICL-ENCDE-PublicApi-0027-001-Convert_command03]
+bitmapfile	=\multimedia\t_imageencoder\enc1bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0028-001-FileNewL_command01]
+userfile	=TRUE
+imagetype	=101F45C9
+filename	=\multimedia\t_imageencoder\24bit_output.png
+
+
+[MM-ICL-ENCDE-PublicApi-0028-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc24bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0029-001-FileNewL_command01]
+userfile	=TRUE
+mime		=image/png
+filename	=\multimedia\t_imageencoder\16bit_output.png
+
+
+[MM-ICL-ENCDE-PublicApi-0029-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc16bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0030-001-FileNewL_command01]
+userfile	=FALSE
+imagetype	=101F45C9
+filename	=\multimedia\t_imageencoder\8bit_output.png
+
+
+[MM-ICL-ENCDE-PublicApi-0030-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc8bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0031-001-FileNewL_command01]
+userfile	=FALSE
+mime		=image/png
+filename	=\multimedia\t_imageencoder\4bit_output.png
+
+
+[MM-ICL-ENCDE-PublicApi-0031-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc4bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0032-001-DataNewL_command01]
+imagetype	=101F45C9
+userfile	=FALSE
+
+
+[MM-ICL-ENCDE-PublicApi-0032-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc2bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0033-001-DataNewL_command01]
+mime		=image/png
+userfile	=FALSE
+
+
+[MM-ICL-ENCDE-PublicApi-0033-001-SetThumbnail_command02]
+thumbnail	=TRUE
+
+
+[MM-ICL-ENCDE-PublicApi-0033-001-Convert_command03]
+bitmapfile	=\multimedia\t_imageencoder\enc1bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0034-001-GetImageSubTypesL_command01]
+imagetype	=101F45B3
+
+
+[MM-ICL-ENCDE-PublicApi-0035-001-GetImageSubTypesL_command01]
+imagetype	=101F45D8
+
+
+[MM-ICL-ENCDE-PublicApi-0036-001-GetImageSubTypesL_command01]
+imagetype	=101F45CC
+
+
+[MM-ICL-ENCDE-PublicApi-0037-001-GetImageSubTypesL_command01]
+imagetype	=101F45C9
+
+
+[MM-ICL-ENCDE-PublicApi-0039-001-FileNewL_command01]
+userfile	=TRUE
+imagetype	=101F45B0
+filename	=\multimedia\t_imageencoder\24bit_output.bmp
+
+
+[MM-ICL-ENCDE-PublicApi-0039-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc24bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0040-001-FileNewL_command01]
+userfile	=TRUE
+imagetype	=101F45B0
+filename	=\multimedia\t_imageencoder\empty_0040.bmp
+
+
+[MM-ICL-ENCDE-PublicApi-0041-001-FileNewL_command01]
+userfile	=TRUE
+mime		=bad-value
+filename	=\multimedia\t_imageencoder\16bit_output.gif
+
+
+[MM-ICL-ENCDE-PublicApi-0042-001-FileNewL_command01]
+userfile	=TRUE
+mime		=bad-value
+filename	=\multimedia\t_imageencoder\16bit_output.bmp
+
+
+[MM-ICL-ENCDE-PublicApi-0043-001-FileNewL_command01]
+userfile	=TRUE
+mime		=bad-value
+filename	=\multimedia\t_imageencoder\16bit_output.jpg
+
+
+[MM-ICL-ENCDE-PublicApi-0044-001-FileNewL_command01]
+userfile	=TRUE
+mime		=bad-value
+filename	=\multimedia\t_imageencoder\16bit_output.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0045-001-FileNewL_command01]
+userfile	=TRUE
+mime		=bad-value
+filename	=\multimedia\t_imageencoder\16bit_output.png
+
+
+[MM-ICL-ENCDE-PublicApi-0046-001-FileNewL_command01]
+userfile	=TRUE
+imagetype	=101F45C4
+filename	=\multimedia\t_imageencoder\24bit_output.tif
+
+
+[MM-ICL-ENCDE-PublicApi-0047-001-FileNewL_command01]
+userfile	=TRUE
+mime		=image/tiff
+filename	=\multimedia\t_imageencoder\16bit_output.tif
+
+
+[MM-ICL-ENCDE-PublicApi-0048-001-FileNewL_command01]
+userfile	=FALSE
+imagetype	=101F45C4
+filename	=\multimedia\t_imageencoder\8bit_output.tif
+
+
+[MM-ICL-ENCDE-PublicApi-0049-001-FileNewL_command01]
+userfile	=FALSE
+mime		=image/tiff
+filename	=\multimedia\t_imageencoder\4bit_output.tif
+
+
+[MM-ICL-ENCDE-PublicApi-0050-001-DataNewL_command01]
+imagetype	=101F45C4
+userfile	=FALSE
+
+
+[MM-ICL-ENCDE-PublicApi-0051-001-DataNewL_command01]
+mime		=image/tiff
+userfile	=FALSE
+
+
+[MM-ICL-ENCDE-PublicApi-0052-001-GetImageSubTypesL_command01]
+imagetype	=101F45C4
+
+
+[MM-ICL-ENCDE-PublicApi-0053-001-FileNewL_command01]
+userfile	=TRUE
+imagetype	=101F45B0
+filename	=\multimedia\t_imageencoder\empty_0053.bmp
+
+
+[MM-ICL-ENCDE-PublicApi-0054-001-FileNewL_command01]
+userfile	=TRUE
+mime		=image/bmp
+filename	=\multimedia\t_imageencoder\empty_0054.bmp
+
+
+[MM-ICL-ENCDE-PublicApi-0055-001-FileNewL_command01]
+userfile	=FALSE
+imagetype	=101F45B0
+filename	=\multimedia\t_imageencoder\empty_0055.bmp
+
+
+[MM-ICL-ENCDE-PublicApi-0056-001-FileNewL_command01]
+userfile	=FALSE
+mime		=image/bmp
+filename	=\multimedia\t_imageencoder\empty_0056.bmp
+
+
+[MM-ICL-ENCDE-PublicApi-0057-001-DataNewL_command01]
+imagetype	=101F45B0
+userfile	=FALSE
+
+
+[MM-ICL-ENCDE-PublicApi-0058-001-DataNewL_command01]
+mime		=image/bmp
+userfile	=FALSE
+
+
+[MM-ICL-ENCDE-PublicApi-0059-001-FileNewL_command01]
+useclosedrfile	=TRUE
+imagetype	=101F45B0
+filename	=\multimedia\t_imageencoder\24bit_output.bmp
+
+
+[MM-ICL-ENCDE-PublicApi-0059-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc24bit.mbm
+
+
+[MM-ICL-ENCDE-PublicApi-0060-001-FileNewL_command01]
+mime		=image/bmp
+useclosedrfile	=TRUE
+filename	=\multimedia\t_imageencoder\24bit_output.bmp
+
+
+[MM-ICL-ENCDE-PublicApi-0060-001-Convert_command02]
+bitmapfile	=\multimedia\t_imageencoder\enc24bit.mbm
+
+
+[imageencoder1]
+name		=imageencoder1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/group/T_MdaAudioConvertUtility.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+TARGET			t_mdaaudioconvertutility.exe
+TARGETTYPE		exe
+UID				0x1000007A 0x20000F74
+VENDORID		0x70000001
+
+CAPABILITY		UserEnvironment MultimediaDD
+
+SOURCEPATH		../src
+
+SOURCE			../../../common/src/DataWrapperBase.cpp
+SOURCE			../../../common/src/T_MMUtil.cpp
+
+SOURCE			T_MMDataMdaAudioConvertUtility.cpp
+SOURCE			T_MdaAudioConvertUtilityServer.cpp
+
+USERINCLUDE		../inc
+USERINCLUDE		../../../common/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE	/epoc32/include/test
+SYSTEMINCLUDE	/epoc32/include/mda/common
+SYSTEMINCLUDE	/epoc32/include/mmf/common
+
+LIBRARY			euser.lib
+LIBRARY			efsrv.lib
+LIBRARY			testexecuteutils.lib
+LIBRARY			testexecutelogclient.lib
+LIBRARY			bafl.lib
+LIBRARY			mediaclientaudio.lib
+LIBRARY			mmfcontrollerframework.lib
+LIBRARY			mediaclient.lib
+LIBRARY			imageconversion.lib
+LIBRARY			iniparser.lib
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,46 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTEXPORTS
+t_mdaaudioconvertutility.iby							/epoc32/rom/include/t_mdaaudioconvertutility.iby
+t_mdaaudioconvertutility_binaries.iby					/epoc32/rom/include/t_mdaaudioconvertutility_binaries.iby
+t_mdaaudioconvertutility_testdata.iby					/epoc32/rom/include/t_mdaaudioconvertutility_testdata.iby
+
+../pkg/T_MdaAudioConvertUtility.pkg						/epoc32/pkg/t_mdaaudioconvertutility.pkg
+../pkg/tmdaaudioconvertutility.bat						/epoc32/pkg/tmdaaudioconvertutility.bat
+../scripts/MM-MMF-ACLNT-CNVRT-PublicAPI.script			/epoc32/pkg/mm-mmf-aclnt-cnvrt-publicapi.script
+
+../testdata/MM-MMF-ACLNT-CNVRT-PublicAPI.ini			/epoc32/pkg/mm-mmf-aclnt-cnvrt-publicapi.ini
+../../../../testdata/mmf/T_MdaAudioConvertUtility/note.wav									/epoc32/pkg/t_mdaaudioconvertutility/note.wav
+../../../../testdata/mmf/T_MdaAudioConvertUtility/note.raw									/epoc32/pkg/t_mdaaudioconvertutility/note.raw
+../../../../testdata/mmf/T_MdaAudioConvertUtility/corrupted.wav								/epoc32/pkg/t_mdaaudioconvertutility/corrupted.wav
+../../../../testdata/mmf/T_MdaAudioConvertUtility/armv5/explode.wav							/epoc32/pkg/t_mdaaudioconvertutility/explode.wav
+
+../scripts/setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script	z:/multimedia/setup-mm-mmf-aclnt-cnvrt-publicapi.script
+../scripts/MM-MMF-ACLNT-CNVRT-PublicAPI.script			z:/multimedia/mm-mmf-aclnt-cnvrt-publicapi.script
+
+../testdata/MM-MMF-ACLNT-CNVRT-PublicAPI.ini			z:/multimedia/mm-mmf-aclnt-cnvrt-publicapi.ini
+../../../../testdata/mmf/T_MdaAudioConvertUtility/note.wav									z:/multimedia/t_mdaaudioconvertutility/note.wav
+../../../../testdata/mmf/T_MdaAudioConvertUtility/note.raw									z:/multimedia/t_mdaaudioconvertutility/note.raw
+../../../../testdata/mmf/T_MdaAudioConvertUtility/corrupted.wav								z:/multimedia/t_mdaaudioconvertutility/corrupted.wav
+../../../../testdata/mmf/T_MdaAudioConvertUtility/armv5/explode.wav							/epoc32/release/armv5/urel/z/multimedia/t_mdaaudioconvertutility/explode.wav
+../../../../testdata/mmf/T_MdaAudioConvertUtility/armv5/explode.wav							/epoc32/release/armv5/udeb/z/multimedia/t_mdaaudioconvertutility/explode.wav
+../../../../testdata/mmf/T_MdaAudioConvertUtility/winscw/explode.wav							/epoc32/release/winscw/urel/z/multimedia/t_mdaaudioconvertutility/explode.wav
+../../../../testdata/mmf/T_MdaAudioConvertUtility/winscw/explode.wav							/epoc32/release/winscw/udeb/z/multimedia/t_mdaaudioconvertutility/explode.wav
+
+PRJ_TESTMMPFILES
+T_MdaAudioConvertUtility.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/group/t_mdaaudioconvertutility.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,24 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIOCONVERTUTILITY_IBY__)
+#define __T_MDAAUDIOCONVERTUTILITY_IBY__
+
+#include <t_mdaaudioconvertutility_binaries.iby>
+#include <t_mdaaudioconvertutility_testdata.iby>
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/group/t_mdaaudioconvertutility_binaries.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIOCONVERTUTILITY_BINARIES_IBY__)
+#define __T_MDAAUDIOCONVERTUTILITY_BINARIES_IBY__
+
+#include <testexecute.iby>
+
+#if (!defined EKA2)
+file=ABI_DIR\BUILD_DIR\t_mdaaudioconvertutility.exe 	system\libs\t_mdaaudioconvertutility.exe
+#else
+file=ABI_DIR\BUILD_DIR\t_mdaaudioconvertutility.exe 	system\bin\t_mdaaudioconvertutility.exe
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/group/t_mdaaudioconvertutility_testdata.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIOCONVERTUTILITY_TESTDATA_IBY__)
+#define __T_MDAAUDIOCONVERTUTILITY_TESTDATA_IBY__
+
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.script					multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.script
+
+data=EPOCROOT##Epoc32\data\z\multimedia\setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script			multimedia\setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini					multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+data=EPOCROOT##Epoc32\data\z\multimedia\t_mdaaudioconvertutility\note.wav					multimedia\t_mdaaudioconvertutility\note.wav
+data=EPOCROOT##Epoc32\data\z\multimedia\t_mdaaudioconvertutility\note.raw					multimedia\t_mdaaudioconvertutility\note.raw
+data=EPOCROOT##Epoc32\data\z\multimedia\t_mdaaudioconvertutility\corrupted.wav				multimedia\t_mdaaudioconvertutility\corrupted.wav
+data=EPOCROOT##Epoc32\release\armv5\urel\z\multimedia\t_mdaaudioconvertutility\explode.wav	multimedia\t_mdaaudioconvertutility\explode.wav
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/inc/T_MMDataMdaAudioConvertUtility.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,127 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MM_DATA_MDA_AUDIO_CONVERT_UTILITY_H__)
+#define __T_MM_DATA_MDA_AUDIO_CONVERT_UTILITY_H__
+
+//	User Includes
+#include "DataWrapperBase.h"
+//	EPOC includes
+#include <mdaaudiosampleeditor.h>
+#include <audio.h>
+#include <mmfcontrollerpluginresolver.h>
+const TInt KMaxdataFromText = 255;
+
+// Temp fix for conditional building and testing of UseSharedHeap
+#if (defined SYMBIAN_SWI_POST_INSTALL_REVOCATION)
+#define CMDA_AUDIO_CONVERT_UTILITY_USED_SHARED_HEAP
+#endif
+
+/**
+CMdaAudioConvertUtility API test commands
+@internalComponent
+*/
+class CT_MMDataMdaAudioConvertUtility:public CDataWrapperBase ,public MMdaObjectStateChangeObserver
+	{
+public:
+	static CT_MMDataMdaAudioConvertUtility*	NewL();
+
+	~CT_MMDataMdaAudioConvertUtility();
+
+	virtual TAny*	GetObject();
+	virtual TBool	DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+
+protected:
+	CT_MMDataMdaAudioConvertUtility();
+
+	void	ConstructL();
+
+private:
+	inline	void			DoCmdConstructor(const TDesC& aSection);
+	inline 	void			DoCmdOpenL(const TDesC& aSection);
+	inline 	void			DoCmdConvertL(const TDesC& aSection);
+	inline	void			DoCmdSourceDataTypeL(const TDesC& aSection);
+	inline	void			DoCmdGetSupportedDestDataTypesL(const TDesC& aSection);
+	inline	void 			DoCmdSetDestinationDataTypeL(const TDesC& aSection);
+	inline	void 			DoCmdDestinationDataTypeL(const TDesC& aSection);
+	inline	void 			DoCmdSourceBitRateL(const TDesC& aSection);
+	inline	void 			DoCmdGetSupConversionBitRatesL(const TDesC& aSection);
+	inline	void 			DoCmdDestinationBitRateL(const TDesC& aSection);
+	inline	void 			DoCmdSetDestinationBitRateL(const TDesC& aSection);
+	inline	void 			DoCmdSourceSampleRateL(const TDesC& aSection);
+	inline	void 			DoCmdGetSupConvSampleRatesL(const TDesC& aSection);
+	inline	void 			DoCmdDestinationSampleRateL(const TDesC& aSection);
+	inline	void 			DoCmdSetDestinationSampleRateL(const TDesC& aSection);
+	inline	void 			DoCmdSourceFormatL(const TDesC& aSection);
+	inline	void 			DoCmdDestinationFormatL(const TDesC& aSection);
+	inline	void 			DoCmdSetDestinationFormatL(const TDesC& aSection);
+	inline	void 			DoCmdSourceNumberOfChannelsL(const TDesC& aSection);
+	inline	void 			DoCmdGetSupConvNrOfChnlsL(const TDesC& aSection);
+	inline	void 			DoCmdDestinationNrOfChannelsL(const TDesC& aSection);
+	inline	void 			DoCmdSetDestinationNrOfChnlsL(const TDesC& aSection);
+	inline	void 			DoCmdState(const TDesC& aSection);
+	inline	void 			DoCmdClose();
+	inline	void 			DoCmdPlayL();
+	inline	void 			DoCmdRecordL();
+	inline	void 			DoCmdStop();
+	inline	void 			DoCmdPosition(const TDesC& aSection);
+	inline	void 			DoCmdSetPosition(const TDesC& aSection);
+	inline	void 			DoCmdDuration(const TDesC& aSection);
+	inline	void 			DoCmdRecordTimeAvailable(const TDesC& aSection);
+	inline	void 			DoCmdCropL();
+	inline	void 			DoCmdSetPlayWindow(const TDesC& aSection);
+	inline	void 			DoCmdClearPlayWindow();
+	inline	void 			DoCmdSetMaxWriteLength(const TDesC& aSection);
+	inline	void 			DoCmdCropFromBeginningL();
+	inline	void 			DoCmdControllerImplInfoL();
+	inline	void 			DoCmdCustomCommandSyncL(const TDesC& aSection);
+	inline	void 			DoCmdCustomCommandAsyncL(const TDesC& aSection);
+	inline	void 			DoCmdSetThreadPriority(const TDesC& aSection);
+	inline	void			DoCmdSetRepeats(const TDesC& aSection);
+	inline	void			DoCmdUseSharedHeap();
+	inline	void 			DoCmdDestructor();
+
+	// from the MMdaObjectStateChangeObserverInterface
+	virtual void 			MoscoStateChangeEvent(CBase *aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode);
+
+	//	Helper methods
+	void					DestroyData();
+	TBool 					GetFormatL(const TDesC& aFormatStr, TMdaClipFormat* &aMdaClipFormat, const TDesC& aSection);
+	TBool  					GetCodecL(const TDesC& aCodecStr, TMdaPackage* &aMdaPackage);
+	const TDesC& 			GetState(const TInt& aState);
+	void					GetAudioSettingsL(const TDesC& aAudioSettingsStr, CDataWrapperBase& aTestStep, const TDesC& aSection, TMdaPackage* &aMdaPackage);
+
+	//	MT_MMActiveCallback implementation
+ 	virtual void			RunL(CActive* aActive,const TInt aAsyncErrorIndex);
+ 	virtual void			DoCancel(CActive* aActive);
+ 	inline void				RunCustomCommandAsyncL(const TInt aAsyncErrorIndex);
+ 	inline void				DoCancelCustomCommandAsync();
+
+private:
+	CMdaAudioConvertUtility*	iConvertUtility;
+	CMdaServer* 				iServer;
+	TUid						iAudioControllerUid;
+	TUid						iAudioFormatUid;
+	CActiveCallback*			iActiveCustomCommandAsync;
+	TBuf8<KMaxdataFromText>		iDataFromText;
+	TInt 						iAsyncErrorIndex;
+	TInt						iOutstandingRepeats;
+	};
+
+#endif /* __T_MM_DATA_MDA_AUDIO_CONVERT_UTILITY_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/inc/T_MdaAudioConvertUtilityServer.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MDA_AUDIO_CONVERT_UTILITY_SERVER_H__)
+#define __T_MDA_AUDIO_CONVERT_UTILITY_SERVER_H__
+
+//	EPOC Includes
+#include <testblockcontroller.h>
+#include <testserver2.h>
+
+class CT_MdaAudioConvertUtilityServer : public CTestServer2
+	{
+private:
+	class CT_MdaAudioConvertUtilityBlock : public CTestBlockController
+		{
+	public:
+		inline CT_MdaAudioConvertUtilityBlock();
+		inline ~CT_MdaAudioConvertUtilityBlock();
+
+		inline CDataWrapper*	CreateDataL(const TDesC& aData);
+		};
+
+public:
+	inline ~CT_MdaAudioConvertUtilityServer();
+
+	inline void	DeleteActiveSchedulerL();
+
+	static CT_MdaAudioConvertUtilityServer*	NewL();
+
+	inline CTestBlockController*	CreateTestBlock();
+
+protected:
+	inline CT_MdaAudioConvertUtilityServer();
+	};
+
+#include "T_MdaAudioConvertUtilityServer.inl"
+
+#endif /* __T_MDA_AUDIO_CONVERT_UTILITY_SERVER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/inc/T_MdaAudioConvertUtilityServer.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataMdaAudioConvertUtility.h"
+
+_LIT(KT_MdaAudioConvertUtility,	"CMdaAudioConvertUtility");
+
+CT_MdaAudioConvertUtilityServer::CT_MdaAudioConvertUtilityBlock::CT_MdaAudioConvertUtilityBlock()
+:	CTestBlockController()
+	{
+	}
+
+CT_MdaAudioConvertUtilityServer::CT_MdaAudioConvertUtilityBlock::~CT_MdaAudioConvertUtilityBlock()
+	{
+	}
+
+CDataWrapper* CT_MdaAudioConvertUtilityServer::CT_MdaAudioConvertUtilityBlock::CreateDataL(const TDesC& aData)
+	{
+	CDataWrapper*	wrapper = NULL;
+	if( KT_MdaAudioConvertUtility() == aData )
+		{
+		wrapper = CT_MMDataMdaAudioConvertUtility::NewL();
+		}
+	return wrapper;
+	}
+
+CT_MdaAudioConvertUtilityServer::CT_MdaAudioConvertUtilityServer()
+	{
+	}
+
+CT_MdaAudioConvertUtilityServer::~CT_MdaAudioConvertUtilityServer()
+	{
+	}
+
+void CT_MdaAudioConvertUtilityServer::DeleteActiveSchedulerL()
+	{
+	}
+
+CTestBlockController* CT_MdaAudioConvertUtilityServer::CreateTestBlock()
+	{
+	return new CT_MdaAudioConvertUtilityBlock();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/pkg/T_MdaAudioConvertUtility.pkg	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,53 @@
+;
+; Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+;
+;
+; Install file for T_MdaAudioConvertUtility.exe
+;
+
+; Languages - 
+&EN
+
+; Installation header
+; UID is the app's UID
+#{"T_MdaAudioConvertUtility"},(0x20000F74),1,0,0
+
+;%{"Vendor-EN"}
+;:"Symbian"
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+
+"T_MdaAudioConvertUtility.exe"-"!:\sys\bin\T_MdaAudioConvertUtility.exe"
+"tmdaaudioconvertutility.bat"-"!:\multimedia\tmdaaudioconvertutility.bat"
+"MM-MMF-ACLNT-CNVRT-PublicAPI.script"-"!:\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.script"
+"t_multimedia.tcs"-"!:\multimedia\t_multimedia.tcs"
+"MM-MMF-ACLNT-CNVRT-PublicAPI.ini"-"!:\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini"
+"t_mdaaudioconvertutility\note.wav"-"!:\multimedia\t_mdaaudioconvertutility\note.wav"
+"t_mdaaudioconvertutility\corrupted.wav"-"!:\multimedia\t_mdaaudioconvertutility\corrupted.wav"
+"t_mdaaudioconvertutility\note.raw"-"!:\multimedia\t_mdaaudioconvertutility\note.raw"
+"t_multimedia.ini"-"!:\multimedia\t_multimedia.ini"
+"t_mdaaudioconvertutility\explode.wav"-"!:\multimedia\t_mdaaudioconvertutility\explode.wav"
+
+; Required files
+; None
+
+; Component .sis files
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/pkg/tmdaaudioconvertutility.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testexecute \multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/scripts/MM-MMF-ACLNT-CNVRT-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,2883 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName		MM-MMF-ACLNT-CNVRT-PublicAPI
+//! @SYMScriptTestEnvironment	This test script requires a basic ROM.
+/////////////////////////////////////////////////////////////////////
+// MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//
+// Tests all public elements of the CMdaAudioConvertUtility class
+// as a means of confidence that the APIs work as expected.
+//
+// The purpose is to provide a regression test suite of PublishedAll APIs for CMdaAudioConvertUtility.
+// Negative testing is performed to confirm that correct errors are returned when incorrect parameters are given.
+// The tests are fully automated.
+/////////////////////////////////////////////////////////////////////
+
+LOAD_SUITE	T_MdaAudioConvertUtility
+
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0001
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0001
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and convert
+//!				Uses API elements: NewL(), OpenL(), ConvertL()
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Convert file
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	File is converted
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		MM-MMF-ACLNT-CNVRT-PublicAPI-0001-001-NewL_command01
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0001-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SourceDataTypeL			
+		COMMAND		convertutility1	GetSupportedDestDataTypesL	
+		COMMAND		convertutility1	ConvertL			
+		OUTSTANDING
+		COMMAND		convertutility1	Close				
+		COMMAND		convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0001
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0002
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0002
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files with target format and source, destination codecs
+//!				Uses API elements: NewL(), OpenL(), ConvertL()
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Convert file
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	File is converted
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0002-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SourceDataTypeL		
+		COMMAND		convertutility1	GetSupportedDestDataTypesL		
+		COMMAND		convertutility1	ConvertL		
+		OUTSTANDING
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0002
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0003
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0003
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and target files with source and target format,
+//!				source and target codecs, source and target audio settings
+//!				Uses API elements: NewL(), OpenL(), ConvertL()
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and target files
+//!				3. Convert file
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	File is converted
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0003-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	ConvertL		
+		OUTSTANDING
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0003
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0004
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0004
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and target files with UID of the controller, UID of the destination format
+//!				and audio codec for the destination data sink
+//!				Uses API elements: NewL(), OpenL(), ConvertL()
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and target files
+//!				3. Convert file
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	File is converted
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0004-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	ConvertL	
+		OUTSTANDING
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0004
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0005
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0005
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and get source datatype.
+//!				Get supported detination datatypes and set different destination datatypes.
+//!				Uses API elements: 	NewL(), OpenL(), SourceDataTypeL(), GetSupportedDestinationDataTypesL(),
+//!							SetDestinationDataTypeL(), DestinationDataTypeL()
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files.
+//!				3. Get source datatype
+//!				4. Get supported destination datatypes
+//!				5. Set destination datatype
+//!				6. Get destination datatype
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Destination datatype must been set
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SourceDataTypeL		MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-SourceDataTypeL_command03
+		COMMAND		convertutility1	GetSupportedDestDataTypesL		MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-GetSupportedDestDataTypesL_command04
+		COMMAND		convertutility1	SetDestinationDataTypeL		MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-SetDestinationDataTypeL_command05
+		COMMAND		convertutility1	DestinationDataTypeL		MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-DestinationDataTypeL_command06
+		COMMAND		convertutility1	SetDestinationDataTypeL		MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-SetDestinationDataTypeL_command07
+		COMMAND		convertutility1	DestinationDataTypeL		MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-DestinationDataTypeL_command08
+		COMMAND		convertutility1	SetDestinationDataTypeL		MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-SetDestinationDataTypeL_command09
+		COMMAND		convertutility1	DestinationDataTypeL		MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-DestinationDataTypeL_command10
+		COMMAND		convertutility1	SetDestinationDataTypeL		MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-SetDestinationDataTypeL_command11
+		COMMAND		convertutility1	DestinationDataTypeL		MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-DestinationDataTypeL_command12
+		COMMAND		convertutility1	SetDestinationDataTypeL		MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-SetDestinationDataTypeL_command13
+		COMMAND		convertutility1	DestinationDataTypeL		MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-DestinationDataTypeL_command14
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0005
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0006
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0006
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and get source bitrate.
+//!				Uses API elements: 	NewL(), OpenL(), SourceBitRateL(),
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files.
+//!				3. Get source bitrate
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Source bitrate must been returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0006-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SourceBitRateL		MM-MMF-ACLNT-CNVRT-PublicAPI-0006-001-SourceBitRateL_command03
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0006
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0007
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0007
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and get supported conversion bitrates.
+//!				Uses API elements: 	NewL(), OpenL(), GetSupportedConversionBitRatesL(),
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files.
+//!				3. Get supported conversion bitrates
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND			convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0007-001-OpenL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	convertutility1	GetSupConversionBitRatesL		
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0007
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0008
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0008
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and set different destination bitrates.
+//!				Uses API elements: 	NewL(), OpenL(), SetDestinationBitRateL(), DestinationBitRateL()
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files.
+//!				3. Set destination bitrate
+//!				4. Get destination bitrate
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND			convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0008-001-OpenL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	convertutility1	SetDestinationBitRateL		MM-MMF-ACLNT-CNVRT-PublicAPI-0008-001-SetDestinationBitRateL_command03
+		COMMAND			convertutility1	DestinationBitRateL	
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0008
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0009
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0009
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and get source sample rate.
+//!				Get supported conversion sample rates and set different destination sample rates.
+//!				Uses API elements: 	NewL(), OpenL(), SourceSampleRateL(), GetSupportedConversionSampleRatesL(),
+//!							SetDestinationSampleRateL(), DestinationSampleRateL()
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Get source sample rate
+//!				4. Get supported conversion sample rates
+//!				5. Set destination sample rate
+//!				6. Get destination sample rate
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Destination bitrate must been set
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0009-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SourceSampleRateL		MM-MMF-ACLNT-CNVRT-PublicAPI-0009-001-SourceSampleRateL_command03
+		COMMAND		convertutility1	GetSupConvSampleRatesL		MM-MMF-ACLNT-CNVRT-PublicAPI-0009-001-GetSupConvSampleRatesL_command04
+		COMMAND		convertutility1	SetDestinationSampleRateL		MM-MMF-ACLNT-CNVRT-PublicAPI-0009-001-SetDestinationSampleRateL_command05
+		COMMAND		convertutility1	DestinationSampleRateL		MM-MMF-ACLNT-CNVRT-PublicAPI-0009-001-DestinationSampleRateL_command06
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0009
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0010
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0010
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and get source format. Set different destination formats.
+//!				Uses API elements: 	NewL(), OpenL(), SourceFormatL(),
+//!							SetDestinationFormatL(), DestinationFormatL()
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files.
+//!				3. Get format of source audio clip
+//!				4. Set destination format of audio clip
+//!				5. Get destination format of audio clip
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Destination audio format must been set
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SourceFormatL		MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-SourceFormatL_command03
+		COMMAND		convertutility1	SetDestinationFormatL		MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-SetDestinationFormatL_command04
+		COMMAND		convertutility1	DestinationFormatL		MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-DestinationFormatL_command05
+		COMMAND		convertutility1	SetDestinationFormatL		MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-SetDestinationFormatL_command06
+		COMMAND		convertutility1	DestinationFormatL		MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-DestinationFormatL_command07
+		COMMAND		convertutility1	SetDestinationFormatL		MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-SetDestinationFormatL_command08
+		COMMAND		convertutility1	DestinationFormatL		MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-DestinationFormatL_command09
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0010
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0011
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0011
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and get source number of channels.
+//!				Get supported number of channels for conversion. Set different number of channels for destination.
+//!				Uses API elements: 	NewL(), OpenL(), SourceNumberOfChannelsL(),
+//!							GetSupportedConversionNumberOfChannelsL(), SetDestinationNumberOfChannelsL(), DestinationNumberOfChannelsL()
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files.
+//!				3. Get number of channels of source audio clip
+//!				4. Get supported number of channels for conversion
+//!				5. Set destination number of channels of audio clip
+//!				6. Get destination number of channels of audio clip
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Destination number of channels of audio must been set
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0011-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SourceNumberOfChannelsL		MM-MMF-ACLNT-CNVRT-PublicAPI-0011-001-SourceNumberOfChannelsL_command03
+		COMMAND		convertutility1	GetSupportedConversionNumberOfChannelsL		MM-MMF-ACLNT-CNVRT-PublicAPI-0011-001-GetSupportedConversionNumberOfChannelsL_command04
+		COMMAND		convertutility1	SetDestinationNumberOfChannelsL		MM-MMF-ACLNT-CNVRT-PublicAPI-0011-001-SetDestinationNumberOfChannelsL_command05
+		COMMAND		convertutility1	DestinationNumberOfChannelsL		MM-MMF-ACLNT-CNVRT-PublicAPI-0011-001-DestinationNumberOfChannelsL_command06
+		COMMAND		convertutility1	SetDestinationNumberOfChannelsL		MM-MMF-ACLNT-CNVRT-PublicAPI-0011-001-SetDestinationNumberOfChannelsL_command07
+		COMMAND		convertutility1	DestinationNumberOfChannelsL		MM-MMF-ACLNT-CNVRT-PublicAPI-0011-001-DestinationNumberOfChannelsL_command08
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0011
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0012
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0012
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and get converter state.
+//!				Uses API elements: 	NewL(), OpenL(), State(),
+//! @SYMTestActions		1. Create convert object
+//!				2. Get converter state
+//!				3. Open source and destination files.
+//!				4. Get converter state
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Final state must be EOpen
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	State		MM-MMF-ACLNT-CNVRT-PublicAPI-0012-001-State_command02
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0012-001-OpenL_command03
+		OUTSTANDING
+		COMMAND		convertutility1	State		MM-MMF-ACLNT-CNVRT-PublicAPI-0012-001-State_command04
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0012
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0013
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0013
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files. Close files and get converter state.
+//!				Uses API elements: 	NewL(), OpenL(), Close(), State(),
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files.
+//!				3. Close files
+//!				4. Get converter state
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	State must be ENotReady
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	State		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0013-001-OpenL_command03
+		OUTSTANDING
+		COMMAND		convertutility1	Close		
+		COMMAND		convertutility1	State		MM-MMF-ACLNT-CNVRT-PublicAPI-0013-001-State_command05
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0013
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0014
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0014
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and play (convert)
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Play file
+//!				Uses API elements: NewL(), OpenL(), PlayL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	File is converted
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0014-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	PlayL		
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0014
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0015
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0015
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and record (convert)
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Record file
+//!				Uses API elements: NewL(), OpenL(), RecordL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	File is converted
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0015-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	RecordL		
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0015
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0016
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0016
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk & Rehana Anwar
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files start conversion and stop conversion.
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Start conversion
+//!				4. Stop
+//!				Uses API elements: NewL(), OpenL(), ConvertL(), Stop()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0016-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	ConvertL 		MM-MMF-ACLNT-CNVRT-PublicAPI-0016-001-ConvertL_command03
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	convertutility1	Stop		
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-CNVRT-PublicAPI-0016
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0017
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0017
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and set clip position many times.
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Set postion
+//!				4. Get position
+//!				Uses API elements: NewL(), OpenL(), SetPosition(), Position()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Clip postion is changed
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0017-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SetPosition		MM-MMF-ACLNT-CNVRT-PublicAPI-0017-001-SetPosition_command03
+		COMMAND		convertutility1	Position		MM-MMF-ACLNT-CNVRT-PublicAPI-0017-001-Position_command04
+		COMMAND		convertutility1	SetPosition		MM-MMF-ACLNT-CNVRT-PublicAPI-0017-001-SetPosition_command05
+		COMMAND		convertutility1	Position		MM-MMF-ACLNT-CNVRT-PublicAPI-0017-001-Position_command06
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0017
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0018
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0018
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and crop.
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Crop
+//!				Uses API elements: NewL(), OpenL(), CropL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	File is cropped
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0018-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SetPosition		MM-MMF-ACLNT-CNVRT-PublicAPI-0018-001-SetPosition_command03
+		COMMAND		convertutility1	CropL		
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0018
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0019
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0019
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and get record time available.
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Get record time available
+//!				Uses API elements: NewL(), OpenL(), RecordTimeAvailable()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Returned available recording time
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0019-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	RecordTimeAvailable		
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0019
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0020
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0020
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and get clip duration.
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Get clip duration
+//!				Uses API elements: NewL(), OpenL(), Duration()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Returned clip duration
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0020-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	Duration		MM-MMF-ACLNT-CNVRT-PublicAPI-0020-001-Duration_command03
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0020
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0021
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0021
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files. Set and clear window for playpack many times
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Set windows for playback
+//!				4. Clear playback window
+//!				Uses API elements: NewL(), OpenL(), SetPlayWindow(), ClearPlayWindow()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No Errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0021-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SetPlayWindow		MM-MMF-ACLNT-CNVRT-PublicAPI-0021-001-SetPlayWindow_command03
+		COMMAND		convertutility1	ClearPlayWindow		
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0021
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0022
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0022
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		21/04/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Set the number of repetitions for playback
+//! @SYMTestActions		1. Create convert object 2. Set the number of repetitions for playback
+//!				Uses API elements: NewL(), SetRepeats()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Repetitions set
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0022-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SetRepeats		MM-MMF-ACLNT-CNVRT-PublicAPI-0022-001-SetRepeats_command03
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0022
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0023
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0023
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and set maximum write length.
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Set maximum write length
+//!				Uses API elements: NewL(), OpenL(), SetMaxWriteLength()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No Errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0023-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SetMaxWriteLength		MM-MMF-ACLNT-CNVRT-PublicAPI-0023-001-SetMaxWriteLength_command03
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0023
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0024
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0024
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and crop from beginning.
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Crop audio clip from beginning
+//!				Uses API elements: NewL(), OpenL(), CropFromBeginningL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Audio clip is cropped
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0024-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SetPosition		MM-MMF-ACLNT-CNVRT-PublicAPI-0024-001-SetPosition_command03
+		COMMAND		convertutility1	CropFromBeginningL		
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0024
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0025
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0025
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Get controller implementation information
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Get controller information
+//!				Uses API elements: NewL(), OpenL(), ControllerImplementationInformationL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Returned controller implementation structure
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0025-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	ControllerImplementationInformationL		
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0025
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0026
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0026
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Send a synchronous custom command to the controller with Dataformat
+//! @SYMTestActions		1. Create convert object 2. Send synchronous custom command
+//!				Uses API elements: NewL(), CustomCommandSync()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND			convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0026-001-OpenL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	convertutility1	CustomCommandSync		MM-MMF-ACLNT-CNVRT-PublicAPI-0026-001-CustomCommandSync_command03
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0026
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0027
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0027
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Send a synchronous custom command to the controller without Dataformat
+//! @SYMTestActions		1. Create convert object 2. Send synchronous custom command
+//!				Uses API elements: NewL(), CustomCommandSync()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND			convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0027-001-OpenL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	convertutility1	CustomCommandSync		MM-MMF-ACLNT-CNVRT-PublicAPI-0027-001-CustomCommandSync_command03
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0027
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0028
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0028
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Send an asynchronous custom command to the controller with Dataformat
+//! @SYMTestActions		1. Create convert object 2. Send synchronous custom command
+//!				Uses API elements: NewL(), CustomCommandAsync()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND			convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0028-001-OpenL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	convertutility1	CustomCommandAsync		MM-MMF-ACLNT-CNVRT-PublicAPI-0028-001-CustomCommandAsync_command03
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0028
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0029
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0029
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Send an asynchronous custom command to the controller without Dataformat
+//! @SYMTestActions		1. Create convert object 2. Send synchronous custom command
+//!				Uses API elements: NewL(), CustomCommandAsync()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND			convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0029-001-OpenL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	convertutility1	CustomCommandAsync		MM-MMF-ACLNT-CNVRT-PublicAPI-0029-001-CustomCommandAsync_command03
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0029
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0030
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0030
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Set the priority of the controller's sub thread
+//! @SYMTestActions		1. Create convert object
+//!				2. Set the priority of the controller's sub thread
+//!				Uses API elements: NewL(), SetThreadPriority()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Priority is changed
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0030-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SetThreadPriority		MM-MMF-ACLNT-CNVRT-PublicAPI-0030-001-SetThreadPriority_command03
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0030
+
+//******************************************************//
+//	Phase 2 (negative) tests begin here		//
+//******************************************************//
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0031
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0031
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open nonexisting source and target files
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-1	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0031-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0031
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0032
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0032
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and target files with not valid target format
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-1	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0032-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0032
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0033
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0033
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and target files with not valid audio codec for the destination data sink
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Files are opened
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0033-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0033
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0034
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0034
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and target files with not valid audio setings
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Files are opened
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0034-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0034
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0035
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0035
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and target files with not valid audio setings for source and target files
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-5	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0035-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0035
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0036
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0036
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and target files with not valid audio codec for the source audio object
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-5	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0036-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0036
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0037
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0037
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Set not valid destination data type
+//! @SYMTestActions		1. Create convert object 2. Open source and target files 3. set destination audio clip data type
+//!				Uses API elements: NewL(), OpenL(), SetDestinationDataTypeL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND			convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0037-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	SourceDataTypeL		
+		COMMAND			convertutility1	GetSupportedDestDataTypesL		
+		COMMAND	!Error=-5	convertutility1	SetDestinationDataTypeL		MM-MMF-ACLNT-CNVRT-PublicAPI-0037-001-SetDestinationDataTypeL_command05
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0037
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0038
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0038
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Get destination audio clip data type without opening files before
+//! @SYMTestActions		1. Create convert object 2. Get destination audio clip data type
+//!				Uses API elements: NewL(), DestinationDataTypeL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	DestinationDataTypeL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0038
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0039
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0039
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Get source audio clip data type without opening files before
+//! @SYMTestActions		1. Create convert object 2. Get source audio clip data type
+//!				Uses API elements: NewL(), SourceDataTypeL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	SourceDataTypeL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0039
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0040
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0040
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Set not valid destination audio clip bit rate
+//! @SYMTestActions		1. Create convert object 2. Open source and target files 3. Set destination audio clip bit rate
+//!				Uses API elements: NewL(), OpenL(), SetDestinationBitRateL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND			convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0040-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	SourceBitRateL		
+		COMMAND	!Error=-5	convertutility1	SetDestinationBitRateL		MM-MMF-ACLNT-CNVRT-PublicAPI-0040-001-SetDestinationBitRateL_command04
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0040
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0041
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0041
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Get destination audio clip bit rate without opening files before
+//! @SYMTestActions		1. Create convert object 2. Get destination audio clip bit rate
+//!				Uses API elements: NewL(), DestinationBitRateL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	DestinationBitRateL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0041
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0042
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0042
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Get source audio clip bit rate without opening files before
+//! @SYMTestActions		1. Create convert object 2. Get source audio clip bit rate
+//!				Uses API elements: NewL(), SourceBitRateL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	SourceBitRateL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0042
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0043
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0043
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Set not valid destination audio clip sample rate
+//! @SYMTestActions		1. Create convert object 2. Open source and target files 3. Set destination audio clip sample rate
+//!				Uses API elements: NewL(), OpenL(), SetDestinationSampleRateL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND			convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0043-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	SourceSampleRateL		
+		COMMAND			convertutility1	GetSupConvSampleRatesL		
+		COMMAND	!Error=-5	convertutility1	SetDestinationSampleRateL		MM-MMF-ACLNT-CNVRT-PublicAPI-0043-001-SetDestinationSampleRateL_command05
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0043
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0044
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0044
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Get destination audio clip sample rate without opening files before
+//! @SYMTestActions		1. Create convert object 2. Get destination audio clip sample rate
+//!				Uses API elements: NewL(), DestinationSampleRateL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	DestinationSampleRateL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0044
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0045
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0045
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		23/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Get source audio clip sample rate without opening files before
+//! @SYMTestActions		1. Create convert object 2. Get source audio clip sample rate
+//!				Uses API elements: NewL(), SourceSampleRateL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	SourceSampleRateL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0045
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0046
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0046
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Set not valid format for destination audio clip
+//! @SYMTestActions		1. Create convert object 2. Open source and target files 3. Sets the format of the destination audio clip
+//!				Uses API elements: NewL(), OpenL(), SetDestinationFormatL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND			convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0046-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	SourceFormatL		
+		COMMAND	!Error=-5	convertutility1	SetDestinationFormatL		MM-MMF-ACLNT-CNVRT-PublicAPI-0046-001-SetDestinationFormatL_command04
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0046
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0047
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0047
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Get format of the destination audio clip without opening files before
+//! @SYMTestActions		1. Create convert object 2. Get format of the destination audio clip
+//!				Uses API elements: NewL(), DestinationFormatL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	DestinationFormatL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0047
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0048
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0048
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Get format of the source audio clip without opening files before
+//! @SYMTestActions		1. Create convert object 2. Get format of the source audio clip
+//!				Uses API elements: NewL(), SourceFormatL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	SourceFormatL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0048
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0049
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0049
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Set not valid number of channels for destination audio clip
+//! @SYMTestActions		1. Create convert object 2. Open source and target files 3. Sets the number of channels for the destination audio clip
+//!				Uses API elements: NewL(), OpenL(), SetDestinationNumberOfChannelsL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND			convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0049-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	SourceNumberOfChannelsL		
+		COMMAND			convertutility1	GetSupportedConversionNumberOfChannelsL		
+		COMMAND	!Error=-5	convertutility1	SetDestinationNumberOfChannelsL		MM-MMF-ACLNT-CNVRT-PublicAPI-0049-001-SetDestinationNumberOfChannelsL_command05
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0049
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0050
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0050
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Get number of channels of the destination audio clip without opening files before
+//! @SYMTestActions		1. Create convert object 2. Get number of channels of the destination audio clip
+//!				Uses API elements: NewL(), DestinationNumberOfChannelsL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	DestinationNumberOfChannelsL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0050
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0051
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0051
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Get number of channels of the source audio clip without opening files before
+//! @SYMTestActions		1. Create convert object 2. Get number of channels of the source audio clip
+//!				Uses API elements: NewL(), SourceNumberOfChannelsL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	SourceNumberOfChannelsL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0051
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0052
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0052
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Start conversion without opening files
+//! @SYMTestActions		1. Create convert object 2. Start conversion
+//!				Uses API elements: NewL(), ConvertL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-18	convertutility1	ConvertL	
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0052
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0053
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0053
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		25/04/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Close files witout opening them first
+//! @SYMTestActions		1. Create convert object 2. Close files
+//!				Uses API elements: NewL(), Close()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	Close		
+		COMMAND		convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0053
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0054
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0054
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Start playing without opening files first
+//! @SYMTestActions		1. Create convert object 2. Start playing
+//!				Uses API elements: NewL(), PlayL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-18	convertutility1	PlayL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0054
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0055
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0055
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Start recording without opening files first
+//! @SYMTestActions		1. Create convert object 2. Start recording
+//!				Uses API elements: NewL(), RecordL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-18	convertutility1	RecordL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0055
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0056
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0056
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Stop conversion without starting it
+//! @SYMTestActions		1. Create convert object 2. Stop conversion
+//!				Uses API elements: NewL(), Stop()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	5	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-18	convertutility1	Stop		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0056
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0057
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0057
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Crop without opening files first
+//! @SYMTestActions		1. Create convert object 2. Crop current clip from the current position
+//!				Uses API elements: NewL(), CropL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	CropL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0057
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0058
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0058
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to set negative and very big postion in the audio clip.
+//! @SYMTestActions		1. Create convert object 2. Open audio files 3. Set negative position
+//!				Uses API elements: NewL(), OpenL(), SetPosition()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	If the negative value is set then actual postion will be 0 and if very big
+//!				positive value is set then the actual position will be max duration.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0058-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SetPosition		MM-MMF-ACLNT-CNVRT-PublicAPI-0058-001-SetPosition_command03
+		COMMAND		convertutility1	Position		MM-MMF-ACLNT-CNVRT-PublicAPI-0058-001-Position_command04
+		COMMAND		convertutility1	SetPosition		MM-MMF-ACLNT-CNVRT-PublicAPI-0058-001-SetPosition_command05
+		COMMAND		convertutility1	Position		MM-MMF-ACLNT-CNVRT-PublicAPI-0058-001-Position_command06
+		COMMAND		convertutility1	Duration		
+		COMMAND		convertutility1	SetPosition		MM-MMF-ACLNT-CNVRT-PublicAPI-0058-001-SetPosition_command08
+		COMMAND		convertutility1	Position		MM-MMF-ACLNT-CNVRT-PublicAPI-0058-001-Position_command09
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0058
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0059
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0059
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Set the current position in the audio clip without opening files first
+//! @SYMTestActions		1. Create convert object 2. Set the current position in the audio clip
+//!				Uses API elements: NewL(), SetPosition()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	SetPosition		MM-MMF-ACLNT-CNVRT-PublicAPI-0059-001-SetPosition_command02
+		COMMAND		convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0059
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0060
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0060
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Get the current position in the audio clip without opening files first
+//! @SYMTestActions		1. Create convert object 2. Get the current position in the audio clip
+//!				Uses API elements: NewL(), Position()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	Position		
+		COMMAND		convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0060
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0062
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0062
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Get duration of the audio clip without opening files first
+//! @SYMTestActions		1. Create convert object 2. Get duration of the audio clip
+//!				Uses API elements: NewL(), Duration()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	Duration		
+		COMMAND		convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0062
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0064
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0064
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Set window for playback, startpoint bigger than duration and endpoint negative
+//! @SYMTestActions		1. Create convert object 2. Set window for playback
+//!				Uses API elements: NewL(), SetPlayWindow()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No Errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0064-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	Duration		
+		COMMAND		convertutility1	SetPlayWindow		MM-MMF-ACLNT-CNVRT-PublicAPI-0064-001-SetPlayWindow_command04
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0064
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0066
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0066
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Set negative value for maximum size of an audio clip.
+//! @SYMTestActions		1. Create convert object 2. Open source and target files 3. Set the maximum size of an audio clip
+//!				Uses API elements: NewL(), OpenL(), SetMaxWriteLength()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0066-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SetMaxWriteLength		MM-MMF-ACLNT-CNVRT-PublicAPI-0066-001-SetMaxWriteLength_command03
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0066
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0067
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0067
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to open corrupted destination file
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-1	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0067-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0067
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0068
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0068
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Crop the audio clip from the start of the file to the current position without opening files first
+//! @SYMTestActions		1. Create convert object 2. Crop the audio clip from the start of the file to the current position
+//!				Uses API elements: NewL(), CropFromBeginningL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	CropFromBeginningL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0068
+
+//! START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0069
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0069
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Send a synchronous custom command to the controller with negative function number with reference to an "DataFrom"
+//! @SYMTestActions		1. Create convert object 2. Send a synchronous custom command to the controller
+//!				Uses API elements: NewL(), CustomCommandSync()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Program is paniced
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK		50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+//! 		COMMAND		convertutility1	NewL			
+//! 		COMMAND		convertutility1	OpenL			MM-MMF-ACLNT-CNVRT-PublicAPI-0069-001-OpenL_command02
+//! 		OUTSTANDING
+//! 		COMMAND		convertutility1	CustomCommandSync	MM-MMF-ACLNT-CNVRT-PublicAPI-0069-001-CustomCommandSync_command03
+//! 		COMMAND		convertutility1	Close
+//! 	END_TEST_BLOCK	!PanicString=User !PanicCode=72
+//! END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0069
+
+//! START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0070
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0070
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Send a synchronous custom command to the controller with negative function number without reference to an "DataFrom"
+//! @SYMTestActions		1. Create convert object 2. Send a synchronous custom command to the controller
+//!				Uses API elements: NewL(), CustomCommandSync()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Program is paniced
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK		50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+//! 		COMMAND		convertutility1	NewL		
+//! 		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0070-001-OpenL_command02
+//! 		OUTSTANDING
+//! 		COMMAND		convertutility1	CustomCommandSync		MM-MMF-ACLNT-CNVRT-PublicAPI-0070-001-CustomCommandSync_command03
+//! 		COMMAND		convertutility1	Close
+//! 	END_TEST_BLOCK	!PanicString=User !PanicCode=72
+//! END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0070
+
+//! START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0071
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0071
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Send a asynchronous custom command to the controller with negative function number with reference to an "DataFrom"
+//! @SYMTestActions		1. Create convert object 2. Send a asynchronous custom command to the controller
+//!				Uses API elements: NewL(), CustomCommandAsync()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Program is paniced
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK		50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+//! 		COMMAND		convertutility1	NewL		
+//! 		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0071-001-OpenL_command02
+//! 		OUTSTANDING
+//! 		COMMAND		convertutility1	CustomCommandAsync		MM-MMF-ACLNT-CNVRT-PublicAPI-0071-001-CustomCommandAsync_command03
+//! 		OUTSTANDING
+//! 		COMMAND		convertutility1	Close
+//! 	END_TEST_BLOCK	!PanicString=User !PanicCode=72
+//! END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0071
+
+//! START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0072
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0072
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Send a asynchronous custom command to the controller with negative function number without reference to an "DataFrom"
+//! @SYMTestActions		1. Create convert object 2. Send a asynchronous custom command to the controller
+//!				Uses API elements: NewL(), CustomCommandAsync()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Program is paniced
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK		50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+//! 		COMMAND		convertutility1	NewL		
+//! 		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0072-001-OpenL_command02
+//! 		OUTSTANDING
+//! 		COMMAND		convertutility1	CustomCommandAsync		MM-MMF-ACLNT-CNVRT-PublicAPI-0072-001-CustomCommandAsync_command03
+//! 		OUTSTANDING
+//! 		COMMAND		convertutility1	Close
+//! 	END_TEST_BLOCK	!PanicString=User !PanicCode=72
+//! END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0072
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0073
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0073
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		24/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Set invalid priority of the controller's sub thread
+//! @SYMTestActions		1. Create convert object 2. Set the priority of the controller's sub thread
+//!				Uses API elements: NewL(), SetThreadPriority()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0073-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SetThreadPriority		MM-MMF-ACLNT-CNVRT-PublicAPI-0073-001-SetThreadPriority_command03
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0073
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0074
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0074
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Construct new instance of the audio converter with parameter aServer not NULL
+//! @SYMTestActions		1. Create convert object
+//!				Uses API elements: NewL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	New instance created
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		MM-MMF-ACLNT-CNVRT-PublicAPI-0074-001-NewL_command01
+		COMMAND		convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0074
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0075
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0075
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Construct new instance of the audio converter with priority lower than minimal
+//! @SYMTestActions		1. Create convert object
+//!				Uses API elements: NewL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		MM-MMF-ACLNT-CNVRT-PublicAPI-0075-001-NewL_command01
+		COMMAND		convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0075
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0076
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0076
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Construct new instance of the audio converter with priority higher than maximum
+//! @SYMTestActions		1. Create convert object
+//!				Uses API elements: NewL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		MM-MMF-ACLNT-CNVRT-PublicAPI-0076-001-NewL_command01
+		COMMAND		convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0076
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0077
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0077
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Construct new instance of the audio converter with invalid Time vs Quality priority preference
+//! @SYMTestActions		1. Create convert object
+//!				Uses API elements: NewL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors should return as the invalid TMdaPriorityPreference should default to EMdaPriorityPreferenceNone
+//!					        when a new instance of the audio converter is constructed.
+//! @SYMTestType		CIT
+
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		MM-MMF-ACLNT-CNVRT-PublicAPI-0077-001-NewL_command01
+		COMMAND		convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0077
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0078
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0078
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open nonexisting source and destination files with target format, codec and audio settings
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0078-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0078
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0079
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0079
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open nonexisting source file
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-1	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0079-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0079
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0080
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0080
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open nonexisting target file
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0080-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0080
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0081
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0081
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and target files with not valid source format
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-5	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0081-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0081
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0082
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0082
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and target files with not valid controller (used for conversion)
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-1	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0082-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0082
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0084
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0084
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Set window for playback, startpoint negative and endpoint bigger than duration
+//! @SYMTestActions		1. Create convert object 2. Set window for playback
+//!				Uses API elements: NewL(), SetPlayWindow()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Window for playback is set
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0084-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SetPlayWindow		MM-MMF-ACLNT-CNVRT-PublicAPI-0084-001-SetPlayWindow_command03
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0084
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0085
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0085
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Set negative number of times to repeat
+//! @SYMTestActions		1. Create convert object 2. 2. Open source and target files 3. Set the number of repetitions for playback
+//!				Uses API elements: NewL(), OpenL(), SetRepeats()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0085-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SetRepeats		MM-MMF-ACLNT-CNVRT-PublicAPI-0085-001-SetRepeats_command03
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0085
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0086
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0086
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to open corrupted source file
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-5	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0086-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0086
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0087
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0087
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		17/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to get a list of the supported data types for the conversion destination without opening files first.
+//! @SYMTestActions		1. Create convert object 2. Get a list of the supported data types for the conversion destination
+//!				Uses API elements: NewL(), GetSupportedDestinationDataTypesL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	GetSupportedDestDataTypesL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0087
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0088
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0088
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		17/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to get a list of the supported data types for the conversion destination using raw file as destination file.
+//! @SYMTestActions		1. Create convert object 2. Get a list of the supported data types for the conversion destination
+//!				Uses API elements: NewL(), OpenL(), GetSupportedDestinationDataTypesL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND			convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0088-001-OpenL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	convertutility1	GetSupportedDestDataTypesL		
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0088
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0089
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0089
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		28/04/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to get a list of the supported bit rates for the conversion destination without opening files first.
+//! @SYMTestActions		1. Create convert object 2. Get a list of the supported bit rates for the conversion destination
+//!				Uses API elements: NewL(), GetSupportedConversionBitRatesL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	GetSupConversionBitRatesL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0089
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0090
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0090
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to get a list of supported conversion sample rates without opening files first.
+//! @SYMTestActions		1. Create convert object 2. Get a list of supported conversion sample rates.
+//!				Uses API elements: NewL(), GetSupportedConversionSampleRatesL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	GetSupConvSampleRatesL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0090
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0091
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0091
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to get a list of the supported number of channels for conversion without opening files first.
+//! @SYMTestActions		1. Create convert object 2. Get a list of the supported number of channels for conversion.
+//!				Uses API elements: NewL(), GetSupportedConversionNumberOfChannelsL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	GetSupportedConversionNumberOfChannelsL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0091
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0092
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0092
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to get the controller implementation information associated with the current controller without opening files first.
+//! @SYMTestActions		1. Create convert object 2. Get the controller implementation information associated with the current controller.
+//!				Uses API elements: NewL(), ControllerImplementationInformationL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	ControllerImplementationInformationL		
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0092
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0093
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0093
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to open corrupted source file.
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-5	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0093-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0093
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0094
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0094
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to open corrupted target file.
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Files are opened
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0094-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0094
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0095
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0095
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and target files with not valid target format
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-5	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0095-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0095
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0096
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0096
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to open nonexisting source file.
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-1	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0096-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0096
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0097
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0097
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to open corrupted source file.
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-1	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0097-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0097
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0098
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0098
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to open corrupted target file.
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-1	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0098-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0098
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0099
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0099
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to convert with corrupted target file.
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and target files
+//!				3. Convert file
+//!				Uses API elements: NewL(), OpenL(), ConvertL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND			convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0099-001-OpenL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	convertutility1	ConvertL		
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0099
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0100
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0100
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and target files with not valid "aDestDataType" (The audio codec to use for the destination data sink)
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrAlreadyExists is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-11	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0100-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0100
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0101
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0101
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to open nonexisting source file.
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-1	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0101-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0101
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0102
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0102
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to open corrupted source file.
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Files are opened
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0102-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0102
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0103
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0103
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to open corrupted target file.
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-1	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0103-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0103
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0104
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0104
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to convert with corrupted target file.
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and target files
+//!				3. Convert file
+//!				Uses API elements: NewL(), OpenL(), ConvertL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND			convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0104-001-OpenL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	convertutility1	ConvertL		
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0104
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0105
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0105
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Set invalid destination data type
+//! @SYMTestActions		1. Create convert object 2. Open source and target files 3. set destination audio clip data type
+//!				Uses API elements: NewL(), OpenL(), SetDestinationDataTypeL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND			convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0105-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	SourceDataTypeL		
+		COMMAND			convertutility1	GetSupportedDestDataTypesL		
+		COMMAND	!Error=-5	convertutility1	SetDestinationDataTypeL		MM-MMF-ACLNT-CNVRT-PublicAPI-0105-001-SetDestinationDataTypeL_command05
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0105
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0106
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0106
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to set destination data type without opening files first
+//! @SYMTestActions		1. Create convert object 2. set destination audio clip data type
+//!				Uses API elements: NewL(), SetDestinationDataTypeL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	SetDestinationDataTypeL		MM-MMF-ACLNT-CNVRT-PublicAPI-0106-001-SetDestinationDataTypeL_command02
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0106
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0107
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0107
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to set destination audio clip bit rate without opnening files first
+//! @SYMTestActions		1. Create convert object 2. Set destination audio clip bit rate
+//!				Uses API elements: NewL(), SetDestinationBitRateL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	SetDestinationBitRateL		MM-MMF-ACLNT-CNVRT-PublicAPI-0107-001-SetDestinationBitRateL_command02
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0107
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0108
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0108
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to set destination audio clip sample rate without opening files first
+//! @SYMTestActions		1. Create convert object 2. Set destination audio clip sample rate
+//!				Uses API elements: NewL(), SetDestinationSampleRateL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	SetDestinationSampleRateL		MM-MMF-ACLNT-CNVRT-PublicAPI-0108-001-SetDestinationSampleRateL_command02
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0108
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0109
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0109
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to set format for destination audio clip without opening files first
+//! @SYMTestActions		1. Create convert object 2. Sets the format of the destination audio clip
+//!				Uses API elements: NewL(), SetDestinationFormatL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	SetDestinationFormatL		MM-MMF-ACLNT-CNVRT-PublicAPI-0109-001-SetDestinationFormatL_command02
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0109
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0110
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0110
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to set number of channels for destination audio clip without opening files first
+//! @SYMTestActions		1. Create convert object 2. Sets the number of channels for the destination audio clip
+//!				Uses API elements: NewL(), SetDestinationNumberOfChannelsL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!Error=-18	convertutility1	SetDestinationNumberOfChannelsL		MM-MMF-ACLNT-CNVRT-PublicAPI-0110-001-SetDestinationNumberOfChannelsL_command02
+		COMMAND			convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0110
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0111
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0111
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to set number of times to repeat without opening files first
+//! @SYMTestActions		1. Create convert object 2. Set the number of repetitions for playback
+//!				Uses API elements: NewL(), SetRepeats()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	SetRepeats		MM-MMF-ACLNT-CNVRT-PublicAPI-0111-001-SetRepeats_command02
+		COMMAND		convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0111
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0112
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0112
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to set maximum size of an audio clip without opening files first.
+//! @SYMTestActions		1. Create convert object 2. Set the maximum size of an audio clip
+//!				Uses API elements: NewL(), SetMaxWriteLength()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	SetMaxWriteLength		MM-MMF-ACLNT-CNVRT-PublicAPI-0112-001-SetMaxWriteLength_command02
+		COMMAND		convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0112
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0113
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0113
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Convert wav (note.wav) to AU (note3.au)
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and target files
+//!				3. Convert file
+//!				Uses API elements: NewL(), OpenL(), ConvertL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	File is converted
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0113-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	ConvertL		
+		OUTSTANDING
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0113
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0114
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0114
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to open existing file with wrong codec.
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrAlreadyExists is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-11	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0114-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0114
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0115
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0115
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Try to open existing file with wrong format.
+//! @SYMTestActions		1. Create convert object 2. Open source and target files
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND			convertutility1	NewL		
+		COMMAND	!AsyncError=-5	convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0115-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0115
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0116
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0116
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		02/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Convert wav (note.wav) to RAW (note4.raw)
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and target files
+//!				3. Get source sample rate
+//!				4. Get supported conversion sample rates
+//!				5. Get number of channels of source audio clip
+//!				6. Get supported number of channels for conversion
+//!				7. Set destination number of channels of audio clip
+//!				8. Get source datatype
+//!				9. Get supported destination datatypes
+//!				10. Set destination datatype
+//!				11. Get format of source audio clip
+//!				12. Get destination format of audio clip
+//!				13. Convert file
+//!				Uses API elements: NewL(), OpenL(), SourceSampleRateL(), GetSupportedConversionSampleRatesL(),
+//!				SourceNumberOfChannelsL(), GetSupportedConversionNumberOfChannelsL(), SetDestinationNumberOfChannelsL(),
+//!				SourceDataTypeL(), GetSupportedDestinationDataTypesL(), SetDestinationDataTypeL(), SourceFormatL(),
+//!				DestinationFormatL(), ConvertL()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	File is converted
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0116-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	SourceSampleRateL		
+		COMMAND		convertutility1	GetSupConvSampleRatesL		
+		COMMAND		convertutility1	SourceNumberOfChannelsL		
+		COMMAND		convertutility1	GetSupportedConversionNumberOfChannelsL		
+		COMMAND		convertutility1	SetDestinationNumberOfChannelsL		MM-MMF-ACLNT-CNVRT-PublicAPI-0116-001-SetDestinationNumberOfChannelsL_command07
+		COMMAND		convertutility1	SourceDataTypeL		
+		COMMAND		convertutility1	GetSupportedDestDataTypesL		
+		COMMAND		convertutility1	SetDestinationDataTypeL		MM-MMF-ACLNT-CNVRT-PublicAPI-0116-001-SetDestinationDataTypeL_command10
+		COMMAND		convertutility1	SourceFormatL		
+		COMMAND		convertutility1	DestinationFormatL		
+		COMMAND		convertutility1	ConvertL		
+		OUTSTANDING
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0116
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0117
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0117
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		17/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Open source and destination files and convert
+//!				Uses API elements: NewL(), OpenL(), UseSharedHeap(), ConvertL(), Close()
+//! @SYMTestActions		1. Create convert object
+//!				2. Set shared heap
+//!				3. Open source and destination files
+//!				4. Convert file
+//!				5. Repeat twice more
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Files are converted
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		MM-MMF-ACLNT-CNVRT-PublicAPI-0117-001-NewL_command01
+		COMMAND		convertutility1	UseSharedHeap		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0117-001-OpenL_command03
+		OUTSTANDING
+		COMMAND		convertutility1	SourceDataTypeL		
+		COMMAND		convertutility1	GetSupportedDestDataTypesL		
+		COMMAND		convertutility1	ConvertL		
+		OUTSTANDING
+		COMMAND		convertutility1	Close		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0117-001-OpenL_command08
+		OUTSTANDING
+		COMMAND		convertutility1	SourceDataTypeL		
+		COMMAND		convertutility1	GetSupportedDestDataTypesL		
+		COMMAND		convertutility1	ConvertL		
+		OUTSTANDING
+		COMMAND		convertutility1	Close		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0117-001-OpenL_command13
+		OUTSTANDING
+		COMMAND		convertutility1	SourceDataTypeL		
+		COMMAND		convertutility1	GetSupportedDestDataTypesL		
+		COMMAND		convertutility1	ConvertL		
+		OUTSTANDING
+		COMMAND		convertutility1	Close		
+		COMMAND		convertutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0117
+
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0118
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0118
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			 Rehana Anwar
+//! @SYMCreationDate		22/02/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Positive testcase: Open source and destination files start conversion
+//!						and stop conversion while in the EPLAY state.
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Start conversion
+//!				4. Stop
+//!				Uses API elements: NewL(), OpenL(), ConvertL(), Stop()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNone is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0118-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	ConvertL 		MM-MMF-ACLNT-CNVRT-PublicAPI-0118-001-ConvertL_command03
+		OUTSTANDING
+		COMMAND 	convertutility1 Stop
+		OUTSTANDING
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-CNVRT-PublicAPI-0118
+
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0119
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0119
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Rehana Anwar
+//! @SYMCreationDate		22/11/2007
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Negative testcase: Open source and destination files and call stop.
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				4. Call Stop
+//!				Uses API elements: NewL(), OpenL(), ConvertL(), Stop()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0119-001-OpenL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	convertutility1	Stop	
+		OUTSTANDING	
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-CNVRT-PublicAPI-0119
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0120
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0120
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Rehana Anwar
+//! @SYMCreationDate		22/11/2007
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Negative testcase: Call stop before opening source and destination files. Also ensure convert works 
+//!				correctly after opening the files.
+//! @SYMTestActions		1. Create convert object
+//!				2. Call Stop
+//!				3. Open source and destination files
+//!				4. Call Convert
+//!				Uses API elements: NewL(), OpenL(), ConvertL(), Stop()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL	
+		COMMAND	!AsyncError=-18	convertutility1	Stop
+		OUTSTANDING		
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0120-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	ConvertL	
+		OUTSTANDING
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-CNVRT-PublicAPI-0120
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0121
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0121
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Rehana Anwar
+//! @SYMCreationDate		22/11/2007
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Negative testcase: Open source and destination files and call stop.Also ensure Convert works correctly
+//!				after Stop fails.
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Call Stop
+//!				4. Call convert
+//!				Uses API elements: NewL(), OpenL(), ConvertL(), Stop()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL	
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0121-001-OpenL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	convertutility1	Stop
+		OUTSTANDING
+		COMMAND		convertutility1	ConvertL	
+		OUTSTANDING
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-CNVRT-PublicAPI-0121
+
+START_TESTCASE 			MM-MMF-ACLNT-CNVRT-PublicAPI-0122
+//! @SYMTestCaseID		MM-MMF-ACLNT-CNVRT-PublicAPI-0122
+//! @SYMAPI			CMdaAudioConvertUtility
+//! @SYMAuthor			Rehana Anwar
+//! @SYMCreationDate		22/11/2007
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+//! @SYMTestCaseDesc		Negative testcase: Call stop after Convert completes.
+//! @SYMTestActions		1. Create convert object
+//!				2. Open source and destination files
+//!				3. Call convert
+//!				4. Call Stop
+//!				Uses API elements: NewL(), OpenL(), ConvertL(), Stop()
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioConvertUtility	\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioConvertUtility	convertutility1
+		COMMAND		convertutility1	NewL	
+		COMMAND		convertutility1	OpenL		MM-MMF-ACLNT-CNVRT-PublicAPI-0122-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		convertutility1	ConvertL 			
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	convertutility1	Stop
+		OUTSTANDING
+		COMMAND		convertutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-CNVRT-PublicAPI-0122
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/scripts/setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,40 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\t_mdaaudioconvertutility\
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.script	${SYSDRIVE}\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.script
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.script
+
+RUN_UTILS CopyFile	z:\multimedia\t_multimedia.tcs		${SYSDRIVE}\multimedia\t_multimedia.tcs
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia.tcs
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini		${SYSDRIVE}\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.ini
+
+RUN_UTILS CopyFile	z:\multimedia\t_mdaaudioconvertutility\note.wav		${SYSDRIVE}\multimedia\t_mdaaudioconvertutility\note.wav
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_mdaaudioconvertutility\note.wav
+
+RUN_UTILS CopyFile	z:\multimedia\t_mdaaudioconvertutility\note.raw		${SYSDRIVE}\multimedia\t_mdaaudioconvertutility\note.raw
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_mdaaudioconvertutility\note.raw
+
+RUN_UTILS CopyFile	z:\multimedia\t_mdaaudioconvertutility\corrupted.wav	${SYSDRIVE}\multimedia\t_mdaaudioconvertutility\corrupted.wav
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_mdaaudioconvertutility\corrupted.wav
+
+RUN_UTILS CopyFile	z:\multimedia\t_mdaaudioconvertutility\explode.wav	${SYSDRIVE}\multimedia\t_mdaaudioconvertutility\explode.wav
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_mdaaudioconvertutility\explode.wav
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/src/T_MMDataMdaAudioConvertUtility.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1875 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataMdaAudioConvertUtility.h"
+#include "T_MMUtil.h"
+
+/*@{*/
+_LIT(KPrimaryFile, 					"primaryfile");
+_LIT(KSecondaryFile, 				"secondaryfile");
+_LIT(KPriLocation, 					"prilocation");
+_LIT(KSecLocation, 					"seclocation");
+_LIT(KPriFormat, 					"priformat");
+_LIT(KSecFormat, 					"secformat");
+_LIT(KPriCodec, 					"pricodec");
+_LIT(KSecCodec, 					"seccodec");
+_LIT(KPriAudioSetings, 				"priaudiosetings");
+_LIT(KSecAudioSetings, 				"secaudiosetings");
+_LIT(KInvalidAudioSetings,			"invalidaudiosetings");
+_LIT(KControllerUid, 				"controlleruid");
+_LIT(KDestFormatUid, 				"destformatuid");
+_LIT(KBitRate,	 					"bitrate");
+_LIT(KSampleRate,	 				"samplerate");
+_LIT(KFormat,	 					"format");
+_LIT(KNrChnls,	 					"numberofchannels");
+_LIT(KPosition,	 					"position");
+_LIT(KStart,	 					"start");
+_LIT(KEnd,	 						"end");
+_LIT(KMaxLength,					"maxlength");
+_LIT(KFunction,						"function");
+_LIT(KUseDataFrom,					"usedatafrom");
+_LIT(KFormatUid,					"formatuid");
+_LIT(KExcpectedNumber,				"expectednumber");
+_LIT(KServer,						"server");
+_LIT(KRepeatNumber,					"repeatnumber");
+_LIT(KInterval,						"interval");
+_LIT(KState,						"state");
+_LIT(KDuration,						"duration");
+_LIT(KRecTime,						"rectime");
+_LIT(KDataTo1,						"datato1");
+_LIT(KDataTo2,						"datato2");
+_LIT(KFullConvertRequest,			"waitforfullconvert");
+
+_LIT(KCmdNewL,						"NewL");
+_LIT(KCmdOpenL,						"OpenL");
+_LIT(KCmdConvertL,					"ConvertL");
+_LIT(KCmdSourceDataTypeL,			"SourceDataTypeL");
+_LIT(KCmdGetSupportedDestDataTypesL,"GetSupportedDestDataTypesL");
+_LIT(KCmdSetDestinationDataTypeL,	"SetDestinationDataTypeL");
+_LIT(KCmdDestinationDataTypeL,		"DestinationDataTypeL");
+_LIT(KCmdSourceBitRateL,			"SourceBitRateL");
+_LIT(KCmdGetSupConversionBitRatesL,	"GetSupConversionBitRatesL");
+_LIT(KCmdDestinationBitRateL,		"DestinationBitRateL");
+_LIT(KCmdSetDestinationBitRateL,	"SetDestinationBitRateL");
+_LIT(KCmdSourceSampleRateL,			"SourceSampleRateL");
+_LIT(KCmdGetSupConvSampleRatesL,	"GetSupConvSampleRatesL");
+_LIT(KCmdDestinationSampleRateL,	"DestinationSampleRateL");
+_LIT(KCmdSetDestinationSampleRateL,	"SetDestinationSampleRateL");
+_LIT(KCmdSourceFormatL,				"SourceFormatL");
+_LIT(KCmdDestinationFormatL,		"DestinationFormatL");
+_LIT(KCmdSetDestinationFormatL,		"SetDestinationFormatL");
+_LIT(KCmdSourceNumberOfChannelsL,	"SourceNumberOfChannelsL");
+_LIT(KCmdGetSupConvNrOfChnlsL,		"GetSupportedConversionNumberOfChannelsL");
+_LIT(KCmdDestinationNrOfChannelsL,	"DestinationNumberOfChannelsL");
+_LIT(KCmdSetDestinationNrOfChnlsL,	"SetDestinationNumberOfChannelsL");
+_LIT(KCmdState,						"State");
+_LIT(KCmdClose,						"Close");
+_LIT(KCmdPlayL,						"PlayL");
+_LIT(KCmdRecordL,					"RecordL");
+_LIT(KCmdStop,						"Stop");
+_LIT(KCmdPosition,					"Position");
+_LIT(KCmdSetPosition,				"SetPosition");
+_LIT(KCmdDuration,					"Duration");
+_LIT(KCmdRecordTimeAvailable,		"RecordTimeAvailable");
+_LIT(KCmdCropL,						"CropL");
+_LIT(KCmdSetPlayWindow,				"SetPlayWindow");
+_LIT(KCmdClearPlayWindow,			"ClearPlayWindow");
+_LIT(KCmdSetMaxWriteLength,			"SetMaxWriteLength");
+_LIT(KCmdCropFromBeginningL,		"CropFromBeginningL");
+_LIT(KCmdControllerImplInfoL,		"ControllerImplementationInformationL");
+_LIT(KCmdSetThreadPriority,			"SetThreadPriority");
+_LIT(KCmdCustomCommandSync,			"CustomCommandSync");
+_LIT(KCmdCustomCommandAsync,		"CustomCommandAsync");
+_LIT(KCmdSetRepeats,				"SetRepeats");
+_LIT(KCmdUseSharedHeap,				"UseSharedHeap");
+_LIT(KCmdDestructor,				"~");
+
+_LIT(KWavClipFormat,				"WavClipFormat");
+_LIT(KAuClipFormat,					"AuClipFormat");
+_LIT(KRawAudioClipFormat,			"RawAudioClipFormat");
+_LIT(KInvalidClipFormat,			"InvalidClipFormat");
+
+_LIT(KPcmWavCodec,					"PcmWavCodec");
+_LIT(KAlawWavCodec,					"AlawWavCodec");
+_LIT(KMulawWavCodec,				"MulawWavCodec");
+_LIT(KImaAdpcmWavCodec,				"ImaAdpcmWavCodec");
+_LIT(KAuCodec,						"AuCodec");
+_LIT(KPcm8BitAuCodec,				"Pcm8BitAuCodec");
+_LIT(KPcm16BitAuCodec,				"Pcm16BitAuCodec");
+_LIT(KAlawAuCodec,					"AlawAuCodec");
+_LIT(KMulawAuCodec,					"MulawAuCodec");
+_LIT(KRawAudioCodec,				"RawAudioCodec");
+_LIT(KMulawRawAudioCodec,			"MulawRawAudioCodec");
+_LIT(KAlawRawAudioCodec,			"AlawRawAudioCodec");
+_LIT(KS8PcmRawAudioCodec,			"S8PcmRawAudioCodec");
+_LIT(KU8PcmRawAudioCodec,			"U8PcmRawAudioCodec");
+_LIT(KSL16RawAudioCodec,			"SL16RawAudioCodec");
+_LIT(KSB16RawAudioCodec,			"SB16RawAudioCodec");
+_LIT(KUL16RawAudioCodec,			"UL16RawAudioCodec");
+_LIT(KUB16RawAudioCodec,			"UB16RawAudioCodec");
+_LIT(KInvalidCodec,					"InvalidCodec");
+
+
+_LIT(KENotReady,					"ENotReady");
+_LIT(KEOpen,						"EOpen");
+_LIT(KEPlaying,						"EPlaying");
+_LIT(KERecording,					"ERecording");
+_LIT(KEUnknown,						"EUnknown");
+/*@}*/
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+CT_MMDataMdaAudioConvertUtility* CT_MMDataMdaAudioConvertUtility::NewL()
+/**
+ * Two phase constructor
+ * @internalComponent
+ *
+ * @return	Data Dictionary object
+ *
+ * @pre		None
+ * @post	None
+ *
+ * @leave	system wide error
+ */
+	{
+	CT_MMDataMdaAudioConvertUtility*	ret = new (ELeave) CT_MMDataMdaAudioConvertUtility();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+CT_MMDataMdaAudioConvertUtility::CT_MMDataMdaAudioConvertUtility()
+/**
+ * CT_MMDataMdaAudioConvertUtility constructor.
+ * @internalComponent
+ *
+ * @return	N/A
+ *
+ * @pre		None
+ * @post	CT_MMDataMdaAudioConvertUtility 1st stage constructor
+ */
+:	iConvertUtility(NULL)
+,	iServer(NULL)
+,	iActiveCustomCommandAsync(NULL)
+,	iAsyncErrorIndex(0)
+,	iOutstandingRepeats(0)
+	{
+	}
+
+/**
+Second phase construction
+@internalComponent
+@return N/A
+@pre None
+@post None
+*/
+void CT_MMDataMdaAudioConvertUtility::ConstructL()
+/**
+ * Second phase construction
+ *
+ * @internalComponent
+ *
+ * @return	N/A
+ *
+ * @pre		None
+ * @post	None
+ *
+ * @leave	system wide error
+ */
+	{
+	iActiveCustomCommandAsync = CActiveCallback::NewL(*this);
+	iServer = CMdaServer::NewL();
+	}
+
+CT_MMDataMdaAudioConvertUtility::~CT_MMDataMdaAudioConvertUtility()
+/**
+ * CT_MMDataMdaAudioConvertUtility destructor
+ * @internalComponent
+ *
+ * @return	N/A
+ *
+ * @pre		None
+ * @post	releases CT_MMDataMdaAudioConvertUtility heap memory
+ */
+	{
+	DestroyData();
+
+  	delete iServer;
+  	iServer = NULL;
+
+	delete iActiveCustomCommandAsync;
+	iActiveCustomCommandAsync = NULL;
+	}
+
+TAny* CT_MMDataMdaAudioConvertUtility::GetObject()
+/**
+ * Return a pointer to the object that the data wraps
+ *
+ * @return	pointer to the object that the data wraps
+ */
+	{
+	return iConvertUtility;
+	}
+
+/**
+Releases CT_MMDataMdaAudioConvertUtility dynamic memory.
+@internalComponent
+@return void
+@pre None
+@post All dynamic memory deallocated
+*/
+void CT_MMDataMdaAudioConvertUtility::DestroyData()
+	{
+	delete iConvertUtility;
+	iConvertUtility = NULL;
+	}
+
+TBool CT_MMDataMdaAudioConvertUtility::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+/**
+ * Process a command read from the ini file
+ *
+ * @param aCommand			The command to process
+ * @param aSection			The section in the ini containing data for the command
+ * @param aAsyncErrorIndex	Command index for async calls to return errors to
+ *
+ * @return					ETrue if the command is processed
+ *
+ * @leave					System wide error
+ */
+	{
+	TBool	ret=ETrue;
+
+	if(aAsyncErrorIndex > 0) iAsyncErrorIndex = aAsyncErrorIndex;
+
+	if (aCommand == KCmdNewL)
+		{
+		DoCmdConstructor(aSection);
+		}
+	else if (aCommand == KCmdOpenL)
+		{
+		DoCmdOpenL(aSection);
+		}
+	else if(aCommand == KCmdConvertL)
+		{
+		DoCmdConvertL(aSection);
+		}
+	else if(aCommand == KCmdSourceDataTypeL)
+		{
+		DoCmdSourceDataTypeL(aSection);
+		}
+	else if(aCommand == KCmdGetSupportedDestDataTypesL)
+		{
+		DoCmdGetSupportedDestDataTypesL(aSection);
+		}
+	else if(aCommand == KCmdSetDestinationDataTypeL)
+		{
+		DoCmdSetDestinationDataTypeL(aSection);
+		}
+	else if(aCommand == KCmdDestinationDataTypeL)
+		{
+		DoCmdDestinationDataTypeL(aSection);
+		}
+	else if(aCommand == KCmdSourceBitRateL)
+		{
+		DoCmdSourceBitRateL(aSection);
+		}
+	else if(aCommand == KCmdGetSupConversionBitRatesL)
+		{
+		DoCmdGetSupConversionBitRatesL(aSection);
+		}
+	else if(aCommand == KCmdDestinationBitRateL)
+		{
+		DoCmdDestinationBitRateL(aSection);
+		}
+	else if(aCommand == KCmdSetDestinationBitRateL)
+		{
+		DoCmdSetDestinationBitRateL(aSection);
+		}
+	else if(aCommand == KCmdSourceSampleRateL)
+		{
+		DoCmdSourceSampleRateL(aSection);
+		}
+	else if(aCommand == KCmdGetSupConvSampleRatesL)
+		{
+		DoCmdGetSupConvSampleRatesL(aSection);
+		}
+	else if(aCommand == KCmdDestinationSampleRateL)
+		{
+		DoCmdDestinationSampleRateL(aSection);
+		}
+	else if(aCommand == KCmdSetDestinationSampleRateL)
+		{
+		DoCmdSetDestinationSampleRateL(aSection);
+		}
+	else if(aCommand == KCmdSourceFormatL)
+		{
+		DoCmdSourceFormatL(aSection);
+		}
+	else if(aCommand == KCmdDestinationFormatL)
+		{
+		DoCmdDestinationFormatL(aSection);
+		}
+	else if(aCommand == KCmdSetDestinationFormatL)
+		{
+		DoCmdSetDestinationFormatL(aSection);
+		}
+	else if(aCommand == KCmdSourceNumberOfChannelsL)
+		{
+		DoCmdSourceNumberOfChannelsL(aSection);
+		}
+	else if(aCommand == KCmdGetSupConvNrOfChnlsL)
+		{
+		DoCmdGetSupConvNrOfChnlsL(aSection);
+		}
+	else if(aCommand == KCmdDestinationNrOfChannelsL)
+		{
+		DoCmdDestinationNrOfChannelsL(aSection);
+		}
+	else if(aCommand == KCmdSetDestinationNrOfChnlsL)
+		{
+		DoCmdSetDestinationNrOfChnlsL(aSection);
+		}
+	else if(aCommand == KCmdState)
+		{
+		DoCmdState(aSection);
+		}
+	else if(aCommand == KCmdClose)
+		{
+		DoCmdClose();
+		}
+	else if(aCommand == KCmdPlayL)
+		{
+		DoCmdPlayL();
+		}
+	else if(aCommand == KCmdRecordL)
+		{
+		DoCmdRecordL();
+		}
+	else if(aCommand == KCmdStop)
+		{
+		DoCmdStop();
+		}
+	else if(aCommand == KCmdPosition)
+		{
+		DoCmdPosition(aSection);
+		}
+	else if(aCommand == KCmdSetPosition)
+		{
+		DoCmdSetPosition(aSection);
+		}
+	else if(aCommand == KCmdDuration)
+		{
+		DoCmdDuration(aSection);
+		}
+	else if(aCommand == KCmdRecordTimeAvailable)
+		{
+		DoCmdRecordTimeAvailable(aSection);
+		}
+	else if(aCommand == KCmdCropL)
+		{
+		DoCmdCropL();
+		}
+	else if(aCommand == KCmdSetPlayWindow)
+		{
+		DoCmdSetPlayWindow(aSection);
+		}
+	else if(aCommand == KCmdClearPlayWindow)
+		{
+		DoCmdClearPlayWindow();
+		}
+	else if(aCommand == KCmdSetMaxWriteLength)
+		{
+		DoCmdSetMaxWriteLength(aSection);
+		}
+	else if(aCommand == KCmdCropFromBeginningL)
+		{
+		DoCmdCropFromBeginningL();
+		}
+	else if(aCommand == KCmdControllerImplInfoL)
+		{
+		DoCmdControllerImplInfoL();
+		}
+	else if (aCommand == KCmdCustomCommandSync)
+		{
+		DoCmdCustomCommandSyncL(aSection);
+		}
+	else if (aCommand == KCmdCustomCommandAsync)
+		{
+		DoCmdCustomCommandAsyncL(aSection);
+		}
+	else if(aCommand == KCmdSetThreadPriority)
+		{
+		DoCmdSetThreadPriority(aSection);
+		}
+	else if (aCommand == KCmdSetRepeats)
+		{
+		DoCmdSetRepeats(aSection);
+		}
+	else if (aCommand == KCmdUseSharedHeap)
+		{
+		DoCmdUseSharedHeap();
+		}
+	else if(aCommand == KCmdDestructor)
+		{
+		DoCmdDestructor();
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdConstructor(const TDesC& aSection)
+	{
+
+	TInt	priority;
+	if ( !CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		priority = EMdaPriorityNormal;
+		}
+
+	TMdaPriorityPreference	priorityPref;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPref) )
+		{
+		priorityPref=EMdaPriorityPreferenceTimeAndQuality;
+		}
+
+	delete iConvertUtility;
+	iConvertUtility = NULL;
+	TBool	useServer = EFalse;
+	GetBoolFromConfig(aSection, KServer(), useServer);
+	if (useServer)
+		{
+		TRAPD(err, iConvertUtility = CMdaAudioConvertUtility::NewL(*this, iServer, priority, priorityPref));
+		if ( err != KErrNone )
+			{
+			ERR_PRINTF2(_L("CMdaAudioConvertUtility::NewL failed with error %d."), err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		TRAPD(err, iConvertUtility = CMdaAudioConvertUtility::NewL(*this, NULL, priority, priorityPref));
+		if ( err != KErrNone )
+			{
+			ERR_PRINTF2(_L("CMdaAudioConvertUtility::NewL failed with error %d."), err);
+			SetError(err);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdOpenL(const TDesC& aSection)
+	{
+
+	// @param const TDesC &aPrimaryFile
+	TPtrC	primaryFile;
+	TBool	hasPrimaryFile = GetStringFromConfig(aSection, KPrimaryFile(), primaryFile);
+
+	// @param const TDesC &aSecondaryFile
+	TPtrC	secondaryFile;
+	TBool	hasSecondaryFile = GetStringFromConfig(aSection, KSecondaryFile(), secondaryFile);
+
+	// @param TMdaClipLocation *aPriLocation
+
+	TMdaClipLocation*		priLocation=NULL;
+	TPtrC					priLocationStr(_L(""));
+	if (GetStringFromConfig(aSection, KPriLocation(), priLocationStr))
+		{
+		priLocation=new (ELeave) TMdaFileClipLocation(priLocationStr);
+		}
+	CleanupDeletePushL(priLocation);
+
+	// @param TMdaClipLocation *aSecLocation
+	TMdaClipLocation*		secLocation=NULL;
+	TPtrC					secLocationStr(_L(""));
+	if (GetStringFromConfig(aSection, KSecLocation(), secLocationStr))
+		{
+		secLocation=new (ELeave) TMdaFileClipLocation(secLocationStr);
+		}
+	CleanupDeletePushL(secLocation);
+
+	// @param TMdaClipFormat *aPriFormat
+	TMdaClipFormat*	priFormat = NULL;
+	TPtrC			priFormatStr;
+	if (GetStringFromConfig(aSection, KPriFormat(), priFormatStr))
+		{
+		if (GetFormatL(priFormatStr, priFormat, aSection))
+			{
+			INFO_PRINTF3(_L("Format (%S) Uid = 0x%X"), &priFormatStr, priFormat->Uid().iUid);
+			}
+		else
+			{
+			ERR_PRINTF2(_L("Can not call OpenL. Parameter %S has invalid value in INI file."), &KPriFormat());
+			SetBlockResult(EFail);
+			}
+		}
+	CleanupDeletePushL(priFormat);
+
+	// @param TMdaClipFormat *aSecFormat
+	TMdaClipFormat*		secFormat = NULL;
+	TPtrC				secFormatStr;
+	if (GetStringFromConfig(aSection, KSecFormat(), secFormatStr))
+		{
+		if (GetFormatL(secFormatStr, secFormat, aSection))
+			{
+			INFO_PRINTF3(_L("Format (%S) Uid = 0x%X"), &secFormatStr, secFormat->Uid().iUid);
+			}
+		else
+			{
+			ERR_PRINTF2(_L("Can not call OpenL. Parameter %S has invalid value in INI file."), &KSecFormat());
+			SetBlockResult(EFail);
+			}
+		}
+	CleanupDeletePushL(secFormat);
+
+	// @param TMdaPackage *aPriArg1
+	TMdaPackage*	priCodec = NULL;
+	TPtrC			priCodecStr;
+	if (GetStringFromConfig(aSection, KPriCodec(), priCodecStr))
+		{
+		if (GetCodecL(priCodecStr, priCodec))
+			{
+			INFO_PRINTF3(_L("Codec (%S) Uid = 0x%X"), &priCodecStr, priCodec->Uid().iUid);
+			}
+		else
+			{
+			ERR_PRINTF2(_L("Can not call OpenL. Parameter %S has invalid value in INI file."), &KPriCodec());
+			SetBlockResult(EFail);
+			}
+		}
+	CleanupDeletePushL(priCodec);
+
+	// @param TMdaPackage *aPriArg2
+	TMdaPackage*	secCodec = NULL;
+	TPtrC			secCodecStr;
+	if (GetStringFromConfig(aSection, KSecCodec(), secCodecStr))
+		{
+		if (GetCodecL(secCodecStr, secCodec))
+			{
+			INFO_PRINTF3(_L("Codec (%S) Uid = 0x%X"), &secCodecStr, secCodec->Uid().iUid);
+			}
+		else
+			{
+			ERR_PRINTF2(_L("Can not call OpenL. Parameter %S has invalid value in INI file."), &KSecCodec());
+			SetBlockResult(EFail);
+			}
+		}
+	CleanupDeletePushL(secCodec);
+
+	// @param TMdaPackage *aSecArg1
+	TMdaPackage*	priSettings = NULL;
+	GetAudioSettingsL(KPriAudioSetings(), *this, aSection, priSettings);
+	CleanupDeletePushL(priSettings);
+
+	// @param TMdaPackage *aSecArg2
+	TMdaPackage*	secSettings = NULL;
+	GetAudioSettingsL(KSecAudioSetings(), *this, aSection, secSettings);
+	CleanupDeletePushL(secSettings);
+
+	// @param The UID of the destination format.
+	TUid	destFormatUid = TUid::Null();
+	TInt	formatUid = 0;
+	if (GetHexFromConfig(aSection, KDestFormatUid(), formatUid))
+		{
+		destFormatUid=TUid::Uid(formatUid);
+		INFO_PRINTF3(_L("Format input required: %d, and the format read in from ini file: %d."),destFormatUid.iUid,formatUid);
+		}
+
+	// @param The UID of the controller to used for conversion.
+	CT_MMUtil::GetControllerAndFormatUidL(*this, secLocationStr, KUidMediaTypeAudio, ETrue, iAudioControllerUid, iAudioFormatUid);
+
+	TInt	destControllerUid;
+	if (GetHexFromConfig(aSection, KControllerUid(), destControllerUid))
+		{
+		iAudioControllerUid = TUid::Uid(destControllerUid);
+		}
+
+	// @param The audio codec to use for the destination data sink
+	TFourCC	destDataType;
+	TBool	hasFourCC = CT_MMUtil::ReadFourCC(*this, aSection, destDataType);
+
+	if ( ETrue )
+		{
+		if ( hasPrimaryFile )
+			{
+			if ( hasSecondaryFile )
+				{
+				TRAPD(err, iConvertUtility->OpenL(primaryFile, secondaryFile));
+
+				if ( err != KErrNone )
+					{
+					ERR_PRINTF2(_L("CMdaAudioConvertUtility::OpenL failed with error %d."), err);
+					SetError(err);
+					}
+				else
+					{
+					IncOutstanding();
+					}
+				}
+			else
+				{
+				TRAPD(err, iConvertUtility->OpenL(primaryFile, secLocation, secFormat, secCodec, priSettings));
+				if ( err != KErrNone )
+					{
+					ERR_PRINTF2(_L("CMdaAudioConvertUtility::OpenL failed with error %d."), err);
+					SetError(err);
+					}
+				else
+					{
+					IncOutstanding();
+					}
+				}
+			}
+		else
+			{
+			if ( hasFourCC )
+				{
+				INFO_PRINTF2(_L("Audio Controller Uid = 0x%X"), iAudioControllerUid.iUid);
+				TRAPD(err, iConvertUtility->OpenL(priLocation, secLocation, iAudioControllerUid, destFormatUid, destDataType));
+
+				if ( err != KErrNone )
+					{
+					ERR_PRINTF2(_L("CMdaAudioConvertUtility::OpenL failed with error %d."), err);
+					SetError(err);
+					}
+				else
+					{
+					IncOutstanding();
+					}
+				}
+			else
+				{
+				TRAPD(err, iConvertUtility->OpenL(priLocation, secLocation, priFormat, secFormat, priCodec, priSettings, secCodec, secSettings));
+
+				if ( err != KErrNone )
+					{
+					ERR_PRINTF2(_L("CMdaAudioConvertUtility::OpenL failed with error %d."), err);
+					SetError(err);
+					}
+				else
+					{
+					IncOutstanding();
+					}
+				}
+			}
+		}
+
+	CleanupStack::PopAndDestroy(8, priLocation);
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdConvertL(const TDesC& aSection)
+	{
+	TRAPD(err, iConvertUtility->ConvertL());
+	//	ConvertL expects two callbacks
+	//	1.	Set state to EPlay when the convert starts
+	//	2.	Set state to EOpen when the convert completes
+	// 	This function deals with waiting for both call backs
+	// 	or waiting for the intial  state (EPlay) only
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::ConvertL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{	
+		TBool	fullConvertRequest=ETrue;
+		GetBoolFromConfig(aSection, KFullConvertRequest(),  fullConvertRequest);
+		if ( fullConvertRequest )
+			{
+			iOutstandingRepeats=1; //Flag reminder to decrement outsanding
+			IncOutstanding();
+			IncOutstanding();
+			}
+		else
+			{
+			INFO_PRINTF1(_L("ConvertL partial convert only."));
+			iOutstandingRepeats=0;
+			IncOutstanding();// wait for EPlay only
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdSourceDataTypeL(const TDesC& aSection)
+	{
+	TFourCC	sourceDataType;
+	TRAPD(err, sourceDataType=iConvertUtility->SourceDataTypeL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::SourceDataTypeL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Data type of the source audio clip: %d."), sourceDataType.FourCC());
+
+		TFourCC	expectedDataType;
+		if ( CT_MMUtil::ReadFourCC(*this, aSection, expectedDataType) )
+			{
+			if ( sourceDataType != expectedDataType )
+				{
+				ERR_PRINTF3(_L("Source datatype actual(%d)!=expected(%d)"), sourceDataType.FourCC(), expectedDataType.FourCC());
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdGetSupportedDestDataTypesL(const TDesC& aSection)
+	{
+	RArray<TFourCC>	supportedDestinationDataTypes;
+	CleanupClosePushL(supportedDestinationDataTypes);
+	TRAPD(err, iConvertUtility->GetSupportedDestinationDataTypesL(supportedDestinationDataTypes));
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::GetSupportedDestinationDataTypesL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("List of the supported data types for the conversion destination:"));
+		for (TInt i=0; i < supportedDestinationDataTypes.Count(); i++)
+			{
+			INFO_PRINTF2(_L("%S"), &CT_MMUtil::GetFourCCString(supportedDestinationDataTypes[i].FourCC()));
+			}
+		TInt	expectedDatatypesNr;
+		if (GetIntFromConfig(aSection, KExcpectedNumber(), expectedDatatypesNr))
+			{
+			if (supportedDestinationDataTypes.Count() != expectedDatatypesNr)
+				{
+				ERR_PRINTF3(_L("Number of supported datatypes actual(%d)!=expected(%d)"),
+					supportedDestinationDataTypes.Count(), expectedDatatypesNr);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	CleanupStack::PopAndDestroy(&supportedDestinationDataTypes);
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdSetDestinationDataTypeL(const TDesC& aSection)
+	{
+	TFourCC	dataType;
+	CT_MMUtil::ReadFourCC(*this, aSection, dataType);
+
+	TRAPD(err, iConvertUtility->SetDestinationDataTypeL(dataType));
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::SetDestinationDataTypeL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdDestinationDataTypeL(const TDesC& aSection)
+	{
+	TFourCC	actualDataType;
+	TRAPD(err, actualDataType=iConvertUtility->DestinationDataTypeL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::DestinationDataTypeL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Data type of the destination audio clip: %d."), actualDataType.FourCC());
+
+		TFourCC	expectedDataType;
+		if ( CT_MMUtil::ReadFourCC(*this, aSection, expectedDataType) )
+			{
+			if ( actualDataType != expectedDataType )
+				{
+				ERR_PRINTF3(_L("Source datatype actual(%d)!=expected(%d)"), actualDataType.FourCC(), expectedDataType.FourCC());
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdSourceBitRateL(const TDesC& aSection)
+	{
+	TInt	sourceBitRate = 0;
+	TRAPD(err, sourceBitRate = iConvertUtility->SourceBitRateL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::SourceBitRateL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Bit rate of the source audio clip: %d."), sourceBitRate);
+
+		TInt	expectedBitRate;
+		if (GetIntFromConfig(aSection, KBitRate(), expectedBitRate))
+			{
+			if (sourceBitRate != expectedBitRate)
+				{
+				ERR_PRINTF3(_L("Source bit rate actual(%d)!=expected(%d)"),
+					sourceBitRate, expectedBitRate);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdGetSupConversionBitRatesL(const TDesC& aSection)
+	{
+	RArray<TUint>	supportedBitRates;
+	CleanupClosePushL(supportedBitRates);
+	TRAPD(err, iConvertUtility->GetSupportedConversionBitRatesL(supportedBitRates));
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::GetSupportedConversionBitRatesL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("List of the supported bit rates for the destination:"));
+		for (TInt i=0; i < supportedBitRates.Count(); i++)
+			{
+			INFO_PRINTF2(_L("%d"), supportedBitRates[i]);
+			}
+
+		TInt	expectedBitRatesNr;
+		if (GetIntFromConfig(aSection, KExcpectedNumber(), expectedBitRatesNr))
+			{
+			if (supportedBitRates.Count() != expectedBitRatesNr)
+				{
+				ERR_PRINTF3(_L("Number of supported bit rates actual(%d)!=expected(%d)"),
+					supportedBitRates.Count(), expectedBitRatesNr);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	CleanupStack::PopAndDestroy(&supportedBitRates);
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdDestinationBitRateL(const TDesC& aSection)
+	{
+	TInt	actualBitRate = 0;
+	TRAPD(err, actualBitRate=iConvertUtility->DestinationBitRateL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::DestinationBitRateL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Bit rate of the destination audio clip: %d."), actualBitRate);
+
+		TInt	expectedBitRate;
+		if (GetIntFromConfig(aSection, KBitRate(), expectedBitRate))
+			{
+			if (actualBitRate != expectedBitRate)
+				{
+				ERR_PRINTF3(_L("Destiantion bit rate actual(%d)!=expected(%d)"),
+					actualBitRate, expectedBitRate);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdSetDestinationBitRateL(const TDesC& aSection)
+	{
+	TInt	bitRate = 0;
+	if (GetIntFromConfig(aSection, KBitRate(), bitRate))
+		{
+		TRAPD(err, iConvertUtility->SetDestinationBitRateL(bitRate));
+		if ( err != KErrNone )
+			{
+			ERR_PRINTF2(_L("CMdaAudioConvertUtility::SetDestinationBitRateL failed with error %d."), err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Can not call SetDestinationBitRateL. Parameter %S is missing in INI file."), &KBitRate());
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdSourceSampleRateL(const TDesC& aSection)
+	{
+	TInt	sourceSampleRate = 0;
+	TRAPD(err, sourceSampleRate = iConvertUtility->SourceSampleRateL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::SourceSampleRateL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Sample rate of the source audio clip: %d."), sourceSampleRate);
+
+		TInt	expectedSampleRate;
+		if (GetIntFromConfig(aSection, KSampleRate(), expectedSampleRate))
+			{
+			if (sourceSampleRate != expectedSampleRate)
+				{
+				ERR_PRINTF3(_L("Source sample rate actual(%d)!=expected(%d)"),
+					sourceSampleRate, expectedSampleRate);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdGetSupConvSampleRatesL(const TDesC& aSection)
+	{
+	RArray<TUint>	supportedSampleRates;
+	CleanupClosePushL(supportedSampleRates);
+	TRAPD(err, iConvertUtility->GetSupportedConversionSampleRatesL(supportedSampleRates));
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::GetSupportedConversionSampleRatesL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("List of the supported sample rates for the destination:"));
+		for (TInt i=0; i < supportedSampleRates.Count(); i++)
+			{
+			INFO_PRINTF2(_L("%d"), supportedSampleRates[i]);
+			}
+		TInt	expectedConvSampleRatesNr;
+		if (GetIntFromConfig(aSection, KExcpectedNumber(), expectedConvSampleRatesNr))
+			{
+			if (supportedSampleRates.Count() != expectedConvSampleRatesNr)
+				{
+				ERR_PRINTF3(_L("Number of supported conv. sample rates actual(%d)!=expected(%d)"),
+					supportedSampleRates.Count(), expectedConvSampleRatesNr);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	CleanupStack::PopAndDestroy(&supportedSampleRates);
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdDestinationSampleRateL(const TDesC& aSection)
+	{
+	TInt	actualSampleRate = 0;
+	TRAPD(err, actualSampleRate = iConvertUtility->DestinationSampleRateL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::DestinationSampleRateL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Samplet rate of the destination audio clip: %d."), actualSampleRate);
+
+		TInt	expectedSampleRate;
+		if (GetIntFromConfig(aSection, KSampleRate(), expectedSampleRate))
+			{
+			if (actualSampleRate != expectedSampleRate)
+				{
+				ERR_PRINTF3(_L("Destiantion sample rate actual(%d)!=expected(%d)"),
+					actualSampleRate, expectedSampleRate);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdSetDestinationSampleRateL(const TDesC& aSection)
+	{
+	TInt	sampleRate = 0;
+	if (GetIntFromConfig(aSection, KSampleRate(), sampleRate))
+		{
+		TRAPD(err, iConvertUtility->SetDestinationSampleRateL(sampleRate));
+		if ( err != KErrNone )
+			{
+			ERR_PRINTF2(_L("CMdaAudioConvertUtility::SetDestinationSampleRateL failed with error %d."), err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Can not call SetDestinationSampleRateL. Parameter %S is missing in INI file."), &KSampleRate());
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdSourceFormatL(const TDesC& aSection)
+	{
+	TUid	sourceFormat;
+	TRAPD(err, sourceFormat = iConvertUtility->SourceFormatL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::SourceFormatL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+
+		INFO_PRINTF2(_L("Format UID of the source audio clip: %d."), sourceFormat);
+
+		TUid	expectedFormat = TUid::Null();
+		TInt	formatUid = 0;
+			
+		if (GetHexFromConfig(aSection, KFormat(), formatUid))
+			{
+			expectedFormat=TUid::Uid(formatUid);
+			INFO_PRINTF3(_L("Format input required: %d, and the format read in from ini file: %d."),expectedFormat.iUid,formatUid);
+			if (sourceFormat != expectedFormat)
+				{
+				ERR_PRINTF3(_L("Format of the source audio clip actual(%d)!=expected(%d)"),
+					sourceFormat,expectedFormat);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdDestinationFormatL(const TDesC& aSection)
+	{
+	TUid	actualFormat;
+	TRAPD(err, actualFormat = iConvertUtility->DestinationFormatL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::DestinationFormatL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Format UID of the destination audio clip: %d."), actualFormat);
+
+		TUid	expectedFormat = TUid::Null();
+		TInt	formatUid = 0;
+		if (GetHexFromConfig(aSection, KFormat(), formatUid))
+			{
+			expectedFormat=TUid::Uid(formatUid);
+			INFO_PRINTF3(_L("Format input required: %d, and the format read in from ini file: %d."),expectedFormat.iUid,formatUid);
+			if (actualFormat != expectedFormat)
+				{
+				ERR_PRINTF3(_L("Format UID's of the destination audio clip actual(%d)!=expected(%d)"),
+					actualFormat, expectedFormat);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdSetDestinationFormatL(const TDesC& aSection)
+	{
+	TUid	expectedFormat = TUid::Null();
+	TInt	formatUid = 0;
+	if (GetHexFromConfig(aSection, KFormat(), formatUid))
+		{
+		expectedFormat=TUid::Uid(formatUid);;
+		TRAPD(err, iConvertUtility->SetDestinationFormatL(expectedFormat));
+		if ( err != KErrNone )
+			{
+			ERR_PRINTF2(_L("CMdaAudioConvertUtility::SetDestinationFormatL failed with error %d."), err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Can not call SetDestinationFormatL. Parameter %S is missing in INI file."), &KFormat());
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdSourceNumberOfChannelsL(const TDesC& aSection)
+	{
+	TInt	sourceNrChannels = 0;
+	TRAPD(err, sourceNrChannels = iConvertUtility->SourceNumberOfChannelsL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::SourceNumberOfChannelsL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Number of channels of the source audio clip: %d."), sourceNrChannels);
+
+		TInt	expectedNrChnls;
+		if (GetIntFromConfig(aSection, KNrChnls(), expectedNrChnls))
+			{
+			if (sourceNrChannels != expectedNrChnls)
+				{
+				ERR_PRINTF3(_L("Source number of channels actual(%d)!=expected(%d)"),
+					sourceNrChannels, expectedNrChnls);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdGetSupConvNrOfChnlsL(const TDesC& aSection)
+	{
+	RArray<TUint>	supportedNrChnls;
+	CleanupClosePushL(supportedNrChnls);
+	TRAPD(err, iConvertUtility->GetSupportedConversionNumberOfChannelsL(supportedNrChnls));
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::GetSupportedConversionNumberOfChannelsL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("List of the supported number of channels for the destination:"));
+		for (TInt i=0; i < supportedNrChnls.Count(); i++)
+			{
+			INFO_PRINTF2(_L("%d"), supportedNrChnls[i]);
+			}
+
+		TInt	expectedConvNrOfChnlsNr;
+		if (GetIntFromConfig(aSection, KExcpectedNumber(), expectedConvNrOfChnlsNr))
+			{
+			if (supportedNrChnls.Count() != expectedConvNrOfChnlsNr)
+				{
+				ERR_PRINTF3(_L("Number of supported number of channels actual(%d)!=expected(%d)"),
+					supportedNrChnls.Count(), expectedConvNrOfChnlsNr);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	CleanupStack::PopAndDestroy(&supportedNrChnls);
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdDestinationNrOfChannelsL(const TDesC& aSection)
+	{
+	TInt	actualNrChnls = 0;
+	TRAPD(err, actualNrChnls = iConvertUtility->DestinationNumberOfChannelsL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::DestinationNumberOfChannelsL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Number of channels of the destination audio clip: %d."), actualNrChnls);
+
+		TInt	expectedNrChnls;
+		if (GetIntFromConfig(aSection, KNrChnls(), expectedNrChnls))
+			{
+			if (actualNrChnls != expectedNrChnls)
+				{
+				ERR_PRINTF3(_L("Destiantion number of channels actual(%d)!=expected(%d)"),
+					actualNrChnls, expectedNrChnls);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdSetDestinationNrOfChnlsL(const TDesC& aSection)
+	{
+	TInt	channels = 0;
+	if (GetIntFromConfig(aSection, KNrChnls(), channels))
+		{
+		TRAPD(err, iConvertUtility->SetDestinationNumberOfChannelsL(channels));
+		if ( err != KErrNone )
+			{
+			ERR_PRINTF2(_L("CMdaAudioConvertUtility::SetDestinationNumberOfChannelsL failed with error %d."), err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Can not call SetDestinationNumberOfChannelsL. Parameter %S is missing in INI file."), &KNrChnls());
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdState(const TDesC& aSection)
+	{
+	TInt	state = iConvertUtility->State();
+	INFO_PRINTF2(_L("Current utility state: %S."), &GetState(state));
+
+	TPtrC	expectedStateStr;
+	if (GetStringFromConfig(aSection, KState(), expectedStateStr))
+		{
+		if (GetState(state) != expectedStateStr)
+			{
+			ERR_PRINTF3(_L("State actual(%S)!=expected(%S)"),
+				&GetState(state), &expectedStateStr);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdClose()
+	{
+	iConvertUtility->Close();
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdPlayL()
+	{
+	TRAPD(err, iConvertUtility->PlayL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::PlayL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdRecordL()
+	{
+	TRAPD(err, iConvertUtility->RecordL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::RecordL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdStop()
+	{
+	iConvertUtility->Stop();
+	IncOutstanding();
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdPosition(const TDesC& aSection)
+	{
+	TTimeIntervalMicroSeconds actualPosition = iConvertUtility->Position();
+	INFO_PRINTF2(_L("Current position in the audio clip: %d"), actualPosition.Int64());
+
+	TInt	expectedPosition;
+	if (GetIntFromConfig(aSection, KPosition(), expectedPosition))
+		{
+		if (actualPosition != expectedPosition)
+			{
+			ERR_PRINTF3(_L("Position in the audio clip actual(%d)!=expected(%d)"),
+				actualPosition.Int64(), expectedPosition);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdSetPosition(const TDesC& aSection)
+	{
+	TInt	position;
+	if (GetIntFromConfig(aSection, KPosition(), position))
+		{
+		iConvertUtility->SetPosition(position);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Can not call SetPosition. Parameter %S is missing in INI file."), &KPosition());
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdDuration(const TDesC& aSection)
+	{
+	TTimeIntervalMicroSeconds	duration = iConvertUtility->Duration();
+	INFO_PRINTF2(_L("Duration of the audio clip: %d"), duration.Int64());
+
+	TInt	expectedDuration;
+	if (GetIntFromConfig(aSection, KDuration(), expectedDuration))
+		{
+		if (duration != expectedDuration)
+			{
+			ERR_PRINTF3(_L("Duration of the audio clip actual(%d)!=expected(%d)"),
+				duration.Int64(), expectedDuration);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdRecordTimeAvailable(const TDesC& aSection)
+	{
+	TTimeIntervalMicroSeconds	recTime = iConvertUtility->RecordTimeAvailable();
+	INFO_PRINTF2(_L("Amount of recording time available to the current clip: %d"), recTime.Int64());
+
+	TInt	expectedRecTime;
+	if (GetIntFromConfig(aSection, KRecTime(), expectedRecTime))
+		{
+		if (recTime != expectedRecTime)
+			{
+			ERR_PRINTF3(_L("Record time available actual(%d)!=expected(%d)"),
+				recTime.Int64(), expectedRecTime);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdCropL()
+	{
+	TRAPD(err, iConvertUtility->CropL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::CropL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdSetPlayWindow(const TDesC& aSection)
+	{
+	TInt	startPosition = 0;
+	TInt	endPosition = 0;
+
+	TBool hasStartPos = GetIntFromConfig(aSection, KStart(), startPosition);
+	if (!hasStartPos)
+		{
+		ERR_PRINTF2(_L("Can not call SetPlayWindow. Parameter %S is missing in INI file."), &KStart());
+		}
+
+	TBool hasEndPos = GetIntFromConfig(aSection, KEnd(), endPosition);
+	if (!hasStartPos)
+		{
+		ERR_PRINTF2(_L("Can not call SetPlayWindow. Parameter %S is missing in INI file."), &KEnd());
+		}
+
+	if (hasStartPos && hasEndPos)
+		{
+		iConvertUtility->SetPlayWindow(startPosition, endPosition);
+		}
+	else
+		{
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdClearPlayWindow()
+	{
+	iConvertUtility->ClearPlayWindow();
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdSetMaxWriteLength(const TDesC& aSection)
+	{
+	TInt	length = 0;
+	GetIntFromConfig(aSection, KMaxLength(), length);
+	iConvertUtility->SetMaxWriteLength(length);
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdCropFromBeginningL()
+	{
+	TRAPD(err, iConvertUtility->CropFromBeginningL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::CropFromBeginningL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdControllerImplInfoL()
+	{
+	const CMMFControllerImplementationInformation*	controllerInfo = NULL;
+	TRAPD(err, controllerInfo = &(iConvertUtility->ControllerImplementationInformationL()));
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::ControllerImplementationInformationL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		CT_MMUtil::LogL(*this, *controllerInfo);
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdCustomCommandSyncL(const TDesC& aSection)
+	{
+
+	TMMFMessageDestination		handleInfo(iAudioControllerUid);
+	TMMFMessageDestinationPckg	messageDest(handleInfo);
+
+	TInt	function = 0;
+	GetIntFromConfig(aSection, KFunction(), function);
+
+	TBool	useDataFrom = EFalse;
+	GetBoolFromConfig(aSection, KUseDataFrom(), useDataFrom);
+
+	// reference to the first chunk of data
+	HBufC8*	dataTo1 = NULL;
+	TPtrC	dataTo1Str;
+	if (GetStringFromConfig(aSection, KDataTo1(), dataTo1Str))
+		{
+		dataTo1 = HBufC8::NewL(dataTo1Str.Length());
+		dataTo1->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo1 = HBufC8::NewL(0);
+		dataTo1->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo1);
+
+	// reference to the second chunk of data
+	HBufC8*	dataTo2 = NULL;
+	TPtrC	dataTo2Str;
+	if (GetStringFromConfig(aSection, KDataTo2(), dataTo2Str))
+		{
+		dataTo2 = HBufC8::NewL(dataTo2Str.Length());
+		dataTo2->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo2 = HBufC8::NewL(0);
+		dataTo2->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo2);
+
+	TInt					err = KErrNone;
+	TBuf8<KMaxdataFromText>	dataFromText;
+	if (useDataFrom)
+		{
+		err = iConvertUtility->CustomCommandSync(messageDest, function, *dataTo1, *dataTo2, dataFromText);
+		}
+	else
+		{
+		err = iConvertUtility->CustomCommandSync(messageDest, function, *dataTo1, *dataTo2);
+		}
+	if (err!=KErrNone)
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::CustomCommandSync failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		if (useDataFrom)
+			{
+			HBufC*	buffer=HBufC::NewLC(dataFromText.Length());
+			TPtr	bufferPtr=buffer->Des();
+			bufferPtr.Copy(dataFromText); // Create a 16 bit copy of the 8 bit original
+			INFO_PRINTF2(_L("DataFrom: %S"), &bufferPtr);
+			CleanupStack::PopAndDestroy(buffer);
+			}
+		}
+
+	CleanupStack::PopAndDestroy(2, dataTo1);
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdCustomCommandAsyncL(const TDesC& aSection)
+	{
+
+	TMMFMessageDestination		handleInfo(iAudioControllerUid);
+	TMMFMessageDestinationPckg	messageDest(handleInfo);
+
+	TInt	function = 0;
+	GetIntFromConfig(aSection, KFunction(), function);
+
+	TBool	useDataFrom = EFalse;
+	GetBoolFromConfig(aSection, KUseDataFrom(), useDataFrom);
+
+	// reference to the first chunk of data
+	HBufC8*	dataTo1 = NULL;
+	TPtrC	dataTo1Str;
+	if ( GetStringFromConfig(aSection, KDataTo1(), dataTo1Str) )
+		{
+		dataTo1 = HBufC8::NewL(dataTo1Str.Length());
+		dataTo1->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo1 = HBufC8::NewL(0);
+		dataTo1->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo1);
+
+	// reference to the second chunk of data
+	HBufC8*	dataTo2 = NULL;
+	TPtrC	dataTo2Str;
+	if ( GetStringFromConfig(aSection, KDataTo2(), dataTo2Str) )
+		{
+		dataTo2 = HBufC8::NewL(dataTo2Str.Length());
+		dataTo2->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo2 = HBufC8::NewL(0);
+		dataTo2->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo2);
+
+	if ( useDataFrom )
+		{
+		iConvertUtility->CustomCommandAsync(messageDest, function, *dataTo1, *dataTo2, iDataFromText, iActiveCustomCommandAsync->iStatus);
+		}
+	else
+		{
+		iConvertUtility->CustomCommandAsync(messageDest, function, *dataTo1, *dataTo2, iActiveCustomCommandAsync->iStatus);
+		}
+
+	iActiveCustomCommandAsync->Activate(0);
+	IncOutstanding();
+	CleanupStack::PopAndDestroy(2, dataTo1);
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdSetRepeats(const TDesC& aSection)
+	{
+
+	TInt	repeatNumberOfTimes = 0;
+	TBool hasRepNrOfTimes = GetIntFromConfig(aSection, KRepeatNumber(), repeatNumberOfTimes);
+	if (!hasRepNrOfTimes)
+		{
+		ERR_PRINTF2(_L("Can not call SetRepeats. Parameter %S is missing in INI file."), &KRepeatNumber());
+		}
+
+	TInt	interval = 0;
+	TBool hasInterval = GetIntFromConfig(aSection, KInterval(), interval);
+	if (!hasInterval)
+		{
+		ERR_PRINTF2(_L("Can not call SetRepeats. Parameter %S is missing in INI file."), &KInterval());
+		}
+
+	if (hasRepNrOfTimes && hasInterval)
+		{
+		iConvertUtility->SetRepeats(repeatNumberOfTimes, interval);
+		}
+	else
+		{
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdSetThreadPriority(const TDesC& aSection)
+	{
+	TThreadPriority	threadPriority;
+	if ( !CT_MMUtil::ReadThreadPriority(*this, aSection, threadPriority) )
+		{
+		threadPriority=EPriorityNormal;
+		}
+
+	TInt	err = iConvertUtility->SetThreadPriority(threadPriority);
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::SetThreadPriority failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdUseSharedHeap()
+	{
+// Only if UseSharedHeap() is supported
+#if (defined CMDA_AUDIO_CONVERT_UTILITY_USED_SHARED_HEAP)
+	iConvertUtility->UseSharedHeap();
+#else
+	INFO_PRINTF1(_L("CMdaAudioConvertUtility::UseSharedHeap is not supported in this build."));
+#endif
+	}
+
+void CT_MMDataMdaAudioConvertUtility::DoCmdDestructor()
+	{
+	DestroyData();
+	}
+
+///////////////////////////////////////////////////////////////////
+//from the MMdaObjectStateChangeObserver interface 				//
+///////////////////////////////////////////////////////////////////
+
+/**
+Callback to receive state change events from converter.
+@internalComponent
+@return void
+@param aObject, aPreviousState, aCurrentState, aErrorCode
+This can be completion of a call to CMdaAudioConvertUtility::OpenL(),
+CMdaAudioConvertUtility::ConvertL(), CMdaAudioConvertUtility::PlayL(),
+CMdaAudioConvertUtility::RecordL().
+The event contains a aObject identifying the event and an accompanying error code.
+@pre N/A
+@post N/A
+*/
+void CT_MMDataMdaAudioConvertUtility::MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode)
+	{
+	// Handle converter event
+	if (aObject == iConvertUtility)
+		{
+		INFO_PRINTF3(_L("Current state: %S, previous state: %S"), &GetState(aCurrentState), &GetState(aPreviousState));
+		if ( aErrorCode!=KErrNone )
+			{
+			ERR_PRINTF2(_L("MoscoStateChangeEvent Error %d."), aErrorCode);
+			SetAsyncError(iAsyncErrorIndex,aErrorCode);
+			while ( iOutstandingRepeats>0 )
+				{
+				--iOutstandingRepeats;
+				DecOutstanding();
+				}
+			}
+		}
+	if ( iOutstandingRepeats>0 )
+		{
+		--iOutstandingRepeats;
+		}
+	DecOutstanding();
+	}
+
+
+/**
+Get the audio format by string.
+@internalComponent
+@return N/A
+@param aFormatStr, &aMdaClipFormat
+@pre N/A
+@post N/A
+*/
+TBool CT_MMDataMdaAudioConvertUtility::GetFormatL(const TDesC& aFormatStr, TMdaClipFormat* &aMdaClipFormat, const TDesC& aSection)
+	{
+	TBool	ret = ETrue;
+
+	if (aFormatStr == KWavClipFormat)
+		{
+		aMdaClipFormat = new(ELeave) TMdaWavClipFormat();
+		}
+	else if (aFormatStr == KAuClipFormat)
+		{
+		aMdaClipFormat = new(ELeave) TMdaAuClipFormat();
+		}
+	else if (aFormatStr == KRawAudioClipFormat)
+		{
+		aMdaClipFormat = new(ELeave) TMdaRawAudioClipFormat();
+		}
+	else if (aFormatStr == KInvalidClipFormat)
+		{
+		TInt	invalidUid = 0;
+		GetHexFromConfig(aSection, KFormatUid(), invalidUid);
+
+		aMdaClipFormat = new(ELeave) TMdaClipFormat();
+		TUid	uid = TUid::Uid(invalidUid);
+		aMdaClipFormat->SetUid(uid);
+		}
+	else
+		{
+		ret = EFalse;
+		}
+
+	return ret;
+	}
+
+/**
+Get Codec by String
+@internalComponent
+@return N/A
+@param aFormatStr, &aMdaPackage
+@pre N/A
+@post N/A
+*/
+TBool CT_MMDataMdaAudioConvertUtility::GetCodecL(const TDesC& aCodecStr, TMdaPackage* &aMdaPackage)
+	{
+	TBool	ret = ETrue;
+
+	if (aCodecStr == KPcmWavCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaPcmWavCodec();
+		}
+	else if (aCodecStr == KAlawWavCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaAlawWavCodec();
+		}
+	else if (aCodecStr == KMulawWavCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaMulawWavCodec();
+		}
+	else if (aCodecStr == KImaAdpcmWavCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaImaAdpcmWavCodec();
+		}
+	else if (aCodecStr == KAuCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaAuCodec();
+		}
+	else if (aCodecStr == KPcm8BitAuCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaPcm8BitAuCodec();
+		}
+	else if (aCodecStr == KPcm16BitAuCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaPcm16BitAuCodec();
+		}
+	else if (aCodecStr == KAlawAuCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaAlawAuCodec();
+		}
+	else if (aCodecStr == KMulawAuCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaMulawAuCodec();
+		}
+	else if (aCodecStr == KRawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaRawAudioCodec();
+		}
+	else if (aCodecStr == KMulawRawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaMulawRawAudioCodec();
+		}
+	else if (aCodecStr == KAlawRawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaAlawRawAudioCodec();
+		}
+	else if (aCodecStr == KS8PcmRawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaS8PcmRawAudioCodec();
+		}
+	else if (aCodecStr == KU8PcmRawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaU8PcmRawAudioCodec();
+		}
+	else if (aCodecStr == KSL16RawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaSL16RawAudioCodec();
+		}
+	else if (aCodecStr == KSB16RawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaSB16RawAudioCodec();
+		}
+	else if (aCodecStr == KUL16RawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaUL16RawAudioCodec();
+		}
+	else if (aCodecStr == KUB16RawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaUB16RawAudioCodec();
+		}
+	else if (aCodecStr == KInvalidCodec)
+		{
+		// Invalid codec package
+		aMdaPackage = new(ELeave) TMdaAudioDataSettings();
+		}
+	else
+		{
+		ret = EFalse;
+		}
+
+	return ret;
+	}
+
+
+/**
+Get state from Id
+@internalComponent
+@return N/A
+@param aUid
+@pre N/A
+@post N/A
+*/
+const TDesC& CT_MMDataMdaAudioConvertUtility::GetState(const TInt& aState)
+	{
+	switch (aState)
+		{
+	case CMdaAudioClipUtility::ENotReady:
+		return KENotReady;
+	case CMdaAudioClipUtility::EOpen:
+		return KEOpen;
+	case CMdaAudioClipUtility::EPlaying:
+		return KEPlaying;
+	case CMdaAudioClipUtility::ERecording:
+		return KERecording;
+	default:
+		break;
+		};
+	return KEUnknown;
+	}
+
+/**
+ Virtual RunL - Called on completion of an asynchronous command
+ @internalComponent
+ @see MT_MMActiveCallback
+ @param aActive Active Object that RunL has been called on
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+void CT_MMDataMdaAudioConvertUtility::RunL(CActive* aActive,const TInt aAsyncErrorIndex)
+ 	{
+ 	if(aAsyncErrorIndex>0) iAsyncErrorIndex = aAsyncErrorIndex;
+
+ 	if ( aActive==iActiveCustomCommandAsync )
+ 		{
+ 		RunCustomCommandAsyncL(aAsyncErrorIndex);
+ 		}
+ 	else
+ 		{
+ 		ERR_PRINTF1(_L("Stray signal"));
+ 		SetBlockResult(EFail);
+ 		}
+ 	}
+
+/**
+  Virtual DoCancel - Request to cancel the asynchronous command
+  @internalComponent
+  @see - MTPActiveCallback
+  @param aActive Active Object that DoCancel has been called on
+  @pre - N/A
+  @post - N/A
+  @leave system wide error code
+ */
+ void CT_MMDataMdaAudioConvertUtility::DoCancel(CActive* aActive)
+ 	{
+ 	if ( aActive==iActiveCustomCommandAsync )
+ 		{
+ 		DoCancelCustomCommandAsync();
+ 		}
+ 	else
+ 		{
+ 		ERR_PRINTF1(_L("Stray signal"));
+ 		SetBlockResult(EFail);
+ 		}
+ 	}
+
+/**
+  RunActiveL - Process RunL for iActiveCustomCommandAsync
+  @internalComponent
+  @pre N/A
+  @post N/A
+  @leave system wide error code
+ */
+ void CT_MMDataMdaAudioConvertUtility::RunCustomCommandAsyncL(const TInt /*aAsyncErrorIndex*/)
+	{
+	HBufC*	buffer=HBufC::NewLC(iDataFromText.Length());
+	TPtr	bufferPtr=buffer->Des();
+	bufferPtr.Copy(iDataFromText); // Create a 16 bit copy of the 8 bit original
+	INFO_PRINTF2(_L("DataFrom: %S"), &bufferPtr);
+
+	TInt	err = iActiveCustomCommandAsync->iStatus.Int();
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("RunL Error %d"), err);
+		SetAsyncError(iAsyncErrorIndex, err);
+		}
+
+	DecOutstanding();
+	//DecAsyncCount();
+	//StartCommands();
+	CleanupStack::PopAndDestroy(buffer);
+	}
+
+/**
+ DoCancelActive - Process DoCancel for iActive
+ @internalComponent
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+void CT_MMDataMdaAudioConvertUtility::DoCancelCustomCommandAsync()
+	{
+	}
+
+void CT_MMDataMdaAudioConvertUtility::GetAudioSettingsL(const TDesC& aAudioSettingsStr, CDataWrapperBase& aTestStep, const TDesC& aSection, TMdaPackage* &aMdaPackage)
+	{
+	TPtrC								audioSetingsStr;
+	if (GetStringFromConfig(aSection, aAudioSettingsStr, audioSetingsStr))
+		{
+		if (GetStringFromConfig(aSection, KInvalidAudioSetings(), audioSetingsStr))
+			{
+			// Invalid audiosettings package
+			aMdaPackage = new(ELeave) TMdaPcmWavCodec();
+			}
+		else
+			{
+			aMdaPackage = new(ELeave) TMdaAudioDataSettings();
+			CT_MMUtil::ReadAudioDataSettings(aTestStep, *((TMdaAudioDataSettings*)aMdaPackage), aSection);
+			}
+		}
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/src/T_MdaAudioConvertUtilityServer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MdaAudioConvertUtilityServer.h"
+
+/*@{*/
+/*@}*/
+
+CT_MdaAudioConvertUtilityServer* CT_MdaAudioConvertUtilityServer::NewL()
+/**
+ * @return - Instance of the test server
+ * Same code for Secure and non-secure variants
+ * Called inside the MainL() function to create and start the
+ * CTestServer derived server.
+ */
+	{
+	CT_MdaAudioConvertUtilityServer*	server = new (ELeave) CT_MdaAudioConvertUtilityServer();
+	CleanupStack::PushL(server);
+	server->ConstructL();
+	CleanupStack::Pop(server);
+	return server;
+	}
+
+
+LOCAL_C void MainL()
+/**
+ * Secure variant
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+	{
+#if (defined __DATA_CAGING__)
+	RProcess().DataCaging(RProcess::EDataCagingOn);
+	RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+	CActiveScheduler*				sched=NULL;
+	sched=new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(sched);
+	CT_MdaAudioConvertUtilityServer*	server = NULL;
+	// Create the CTestServer derived server
+	TRAPD(err,server = CT_MdaAudioConvertUtilityServer::NewL());
+	if(!err)
+		{
+		// Sync with the client and enter the active scheduler
+		RProcess::Rendezvous(KErrNone);
+		sched->Start();
+		}
+	delete server;
+	delete sched;
+	}
+
+
+GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on process exit
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ */
+	{
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup = CTrapCleanup::New();
+	if(cleanup == NULL)
+		{
+		return KErrNoMemory;
+		}
+#if (defined TRAP_IGNORE)
+	TRAP_IGNORE(MainL());
+#else
+	TRAPD(err,MainL());
+#endif
+	delete cleanup;
+	__UHEAP_MARKEND;
+	return KErrNone;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioConvertUtility/testdata/MM-MMF-ACLNT-CNVRT-PublicAPI.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,830 @@
+[include]
+file1=\multimedia\t_multimedia.ini
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-GetSupportedDestDataTypesL_command04]
+expectednumber = 6
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0071-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0108-001-SetDestinationSampleRateL_command02]
+samplerate = 8000
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0109-001-SetDestinationFormatL_command02]
+format          = {default_uids,kmmfuidformatwavwrite}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0043-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\nonexists.wav
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0033-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\note3.wav
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+secaudiosetings = Default
+seccodec = InvalidCodec
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0009-001-SourceSampleRateL_command03]
+samplerate = 8000
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0100-001-OpenL_command02]
+fourcc                  = -9999
+prilocation             = {default_mmf, primaryfile}
+controlleruid           = {default_mmf, controlleruid}
+destformatuid           = {default_uids,kmmfuidformatwavwrite}
+seclocation             = {default_mmf, secondarylocation}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0011-001-DestinationNumberOfChannelsL_command06]
+numberofchannels = 1
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0095-001-OpenL_command02]
+pricodec = {default_mmf, primarycodec}
+secformat = InvalidClipFormat
+prilocation = {default_mmf, primaryfile}
+secaudiosetings = Default
+priformat = WavClipFormat
+seclocation = {default_mmf, secondarylocation}
+priaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[convertutility1]
+name = convertutility1
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0016-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, tertiaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0016-001-ConvertL_command03]
+waitforfullconvert=TRUE
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0082-001-OpenL_command02]
+fourcc                  = {default_mmf, fourcc_codecformat}
+prilocation             = {default_mmf, primaryfile}
+controlleruid           = FFFFF
+destformatuid           = {default_uids,kmmfuidformatwavwrite}
+seclocation             = {default_mmf, secondarylocation}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0072-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0105-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\nonexists.wav
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+secaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0117-001-OpenL_command13]
+secondaryfile = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0086-001-OpenL_command02]
+seclocation = {default_mmf, primaryfile}
+primaryfile = \multimedia\t_mdaaudioconvertutility\corrupted.wav
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0081-001-OpenL_command02]
+pricodec = {default_mmf, primarycodec}
+secformat = WavClipFormat
+prilocation = {default_mmf, primaryfile}
+secaudiosetings = Default
+priformat = InvalidClipFormat
+seclocation = {default_mmf, secondarylocation}
+priaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0084-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+secaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0107-001-SetDestinationBitRateL_command02]
+bitrate = {default_mmf, convert_bitrate}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0014-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0117-001-NewL_command01]
+priority = 0
+prioritypreference = Quality
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0018-001-OpenL_command02]
+seclocation = {default_mmf, primaryfile}
+primaryfile = {default_mmf, secondarylocation}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0075-001-NewL_command01]
+priority = -999999
+prioritypreference = Quality
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0003-001-OpenL_command02]
+pricodec = {default_mmf, primarycodec}
+secformat = WavClipFormat
+prilocation = {default_mmf, primaryfile}
+secaudiosetings = Default
+priformat = WavClipFormat
+seclocation = {default_mmf, secondarylocation}
+priaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-SetDestinationDataTypeL_command05]
+fourcc = KMMFFourCCCodeIMAD
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-SetDestinationDataTypeL_command07]
+fourcc = KMMFFourCCCodePCMU8
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-SetDestinationDataTypeL_command09]
+fourcc = {default_mmf, fourcc_codecformat}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0074-001-NewL_command01]
+server = TRUE
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0101-001-OpenL_command02]
+fourcc                  = {default_mmf, fourcc_codecformat}
+prilocation             = \multimedia\t_mdaaudioconvertutility\nonexisting.wav
+controlleruid           = {default_mmf, controlleruid}
+destformatuid           = {default_uids,kmmfuidformatwavwrite}
+seclocation             = \multimedia\t_mdaaudioconvertutility\nonexisting2.wav
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0093-001-OpenL_command02]
+secondaryfile = {default_mmf, primaryfile}
+primaryfile = \multimedia\t_mdaaudioconvertutility\corrupted.wav
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0078-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\nonexists.wav
+primaryfile = \multimedia\t_mdaaudioconvertutility\nonexists.wav
+secformat = WavClipFormat
+secaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0088-001-OpenL_command02]
+secondaryfile = \multimedia\t_mdaaudioconvertutility\note.raw
+primaryfile = {default_mmf, primaryfile}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0023-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0116-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\note4.raw
+primaryfile = {default_mmf, primaryfile}
+secformat = RawAudioClipFormat
+secaudiosetings = Default
+seccodec = SB16RawAudioCodec
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0115-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = AuClipFormat
+secaudiosetings = Default
+seccodec = Pcm16BitAuCodec
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0116-001-SetDestinationDataTypeL_command10]
+fourcc = KMMFFourCCCodeIMAS
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0073-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0007-001-OpenL_command02]
+secondaryfile = \multimedia\t_mdaaudioconvertutility\nonexists.wav
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+secaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0006-001-SourceBitRateL_command03]
+bitrate = {default_mmf, convert_bitrate}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0043-001-SetDestinationSampleRateL_command05]
+samplerate = -99999
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0099-001-OpenL_command02]
+secondaryfile = \multimedia\t_mdaaudioconvertutility\corrupted.wav
+primaryfile = {default_mmf, primaryfile}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0070-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0102-001-OpenL_command02]
+fourcc                  = {default_mmf, fourcc_codecformat}
+prilocation             = \multimedia\t_mdaaudioconvertutility\corrupted.wav
+controlleruid           = {default_mmf, controlleruid}
+destformatuid           = {default_uids,kmmfuidformatwavwrite}
+seclocation             = {default_mmf, secondarylocation}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0019-001-OpenL_command02]
+secondaryfile = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0017-001-SetPosition_command05]
+position = 2
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0058-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0008-001-OpenL_command02]
+secondaryfile = \multimedia\t_mdaaudioconvertutility\nonexists.wav
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+secaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0009-001-GetSupConvSampleRatesL_command04]
+expectednumber = 1
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0040-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\nonexists.wav
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+secaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0001-001-NewL_command01]
+priority = 0
+prioritypreference = Quality
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0015-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0031-001-OpenL_command02]
+secondaryfile = \multimedia\t_mdaaudioconvertutility\nonexisting2.wav
+primaryfile = \multimedia\t_mdaaudioconvertutility\nonexisting.wav
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0046-001-SetDestinationFormatL_command04]
+format          = {default_uids,kmmfuidformatwavread}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-DestinationFormatL_command09]
+format          = {default_uids,kmmfuidformatrawwrite}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0114-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\note3.au
+primaryfile = {default_mmf, primaryfile}
+secformat = AuClipFormat
+secaudiosetings = Default
+seccodec = Pcm16BitAuCodec
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0026-001-CustomCommandSync_command03]
+function = 7
+usedatafrom = TRUE
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0025-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0077-001-NewL_command01]
+prioritypreference = -21
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0080-001-OpenL_command02]
+secondaryfile = \multimedia\t_mdaaudioconvertutility\nonexisting.wav
+primaryfile = {default_mmf, primaryfile}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0006-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\nonexists.wav
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+secaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0011-001-DestinationNumberOfChannelsL_command08]
+numberofchannels = 2
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-DestinationFormatL_command07]
+format          = {default_uids,kmmfuidformatauwrite}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-DestinationFormatL_command05]
+format                  = {default_uids,kmmfuidformatwavwrite}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0104-001-OpenL_command02]
+fourcc                  = {default_mmf, fourcc_codecformat}
+prilocation = \multimedia\t_mdaaudioconvertutility\corrupted.wav
+controlleruid           = {default_mmf, controlleruid}
+destformatuid           = {default_uids,kmmfuidformatwavwrite}
+seclocation             = {default_mmf, secondarylocation}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0049-001-OpenL_command02]
+seclocation     = \multimedia\t_mdaaudioconvertutility\nonexists4.wav
+primaryfile     = {default_mmf, primaryfile}
+secformat       = WavClipFormat
+seccodec        = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0011-001-GetSupportedConversionNumberOfChannelsL_command04]
+expectednumber = 2
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0002-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+secaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0049-001-SetDestinationNumberOfChannelsL_command05]
+numberofchannels = -999
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0004-001-OpenL_command02]
+fourcc                  = {default_mmf, fourcc_codecformat}
+prilocation             = {default_mmf, primaryfile}
+controlleruid           = {default_mmf, controlleruid}
+destformatuid           = {default_uids,kmmfuidformatwavwrite}
+seclocation             = {default_mmf, secondarylocation}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0009-001-SetDestinationSampleRateL_command05]
+samplerate = 8000
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0011-001-SetDestinationNumberOfChannelsL_command07]
+numberofchannels = 2
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0011-001-SetDestinationNumberOfChannelsL_command05]
+numberofchannels = 1
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0112-001-SetMaxWriteLength_command02]
+maxlength = 10000000
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0103-001-OpenL_command02]
+fourcc                  = {default_mmf, fourcc_codecformat}
+prilocation             = {default_mmf, primaryfile}
+controlleruid           = {default_mmf, controlleruid}
+destformatuid           = {default_uids,kmmfuidformatwavwrite}
+seclocation             = \multimedia\t_mdaaudioconvertutility\corrupted.wav
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0021-001-SetPlayWindow_command03]
+start = 10000
+end = 100000
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0027-001-CustomCommandSync_command03]
+function = 7
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0035-001-OpenL_command02]
+pricodec = {default_mmf, primarycodec}
+secformat = WavClipFormat
+prilocation = {default_mmf, primaryfile}
+invalidaudiosetings = Default
+secaudiosetings = Default
+priformat = WavClipFormat
+seclocation = {default_mmf, secondarylocation}
+priaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0036-001-OpenL_command02]
+pricodec = InvalidCodec
+secformat = WavClipFormat
+prilocation = {default_mmf, primaryfile}
+secaudiosetings = Default
+priformat = WavClipFormat
+seclocation = {default_mmf, secondarylocation}
+priaudiosetings = Default
+seccodec = InvalidCodec
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0017-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0022-001-SetRepeats_command03]
+interval = 1000000
+repeatnumber = 10
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0001-001-OpenL_command02]
+primaryfile = {default_mmf, primaryfile}
+secondaryfile = {default_mmf, secondarylocation}
+
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0008-001-SetDestinationBitRateL_command03]
+bitrate = {default_mmf, convert_bitrate}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0034-001-OpenL_command02]
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+invalidaudiosetings = Default
+secaudiosetings = Default
+seclocation = \multimedia\t_mdaaudioconvertutility\note3.wav
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0069-001-CustomCommandSync_command03]
+function = -999999999
+usedatafrom = TRUE
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0098-001-OpenL_command02]
+pricodec = {default_mmf, primarycodec}
+secformat = WavClipFormat
+prilocation = {default_mmf, primaryfile}
+secaudiosetings = Default
+priformat = WavClipFormat
+seclocation = \multimedia\t_mdaaudioconvertutility\corrupted.wav
+priaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0117-001-OpenL_command03]
+secondaryfile = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0046-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\nonexists.wav
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-SourceDataTypeL_command03]
+fourcc = {default_mmf, fourcc_codecformat}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0066-001-SetMaxWriteLength_command03]
+maxlength = -99999999
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0072-001-CustomCommandAsync_command03]
+function = -999999999
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-DestinationDataTypeL_command06]
+fourcc = KMMFFourCCCodeIMAD
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-DestinationDataTypeL_command08]
+fourcc = KMMFFourCCCodePCMU8
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0037-001-SetDestinationDataTypeL_command05]
+fourcc = KMMFFourCCCodeMP3
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0040-001-SetDestinationBitRateL_command04]
+bitrate = -99999
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0094-001-OpenL_command02]
+secondaryfile = \multimedia\t_mdaaudioconvertutility\corrupted.wav
+primaryfile = {default_mmf, primaryfile}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0037-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\nonexists.wav
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+secaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0113-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\note3.au
+primaryfile = {default_mmf, primaryfile}
+secformat = AuClipFormat
+secaudiosetings = Default
+seccodec = Pcm8BitAuCodec
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0117-001-OpenL_command08]
+secondaryfile = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0084-001-SetPlayWindow_command03]
+start = -99999999
+end = 99999999
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0017-001-SetPosition_command03]
+position = 1
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0110-001-SetDestinationNumberOfChannelsL_command02]
+numberofchannels = 1
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0029-001-CustomCommandAsync_command03]
+function = 7
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0058-001-Position_command06]
+position = 0
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0058-001-Position_command04]
+position = 10
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0064-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0085-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+secaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0066-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0096-001-OpenL_command02]
+pricodec = {default_mmf, primarycodec}
+secformat = WavClipFormat
+prilocation = \multimedia\t_mdaaudioconvertutility\nonexisting.wav
+secaudiosetings = Default
+priformat = WavClipFormat
+seclocation = \multimedia\t_mdaaudioconvertutility\notexisting2.wav
+priaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0017-001-Position_command06]
+position = 2
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-DestinationDataTypeL_command14]
+fourcc = KMMFFourCCCodeMuLAW
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-DestinationDataTypeL_command12]
+fourcc = KMMFFourCCCodeALAW
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0079-001-OpenL_command02]
+secondaryfile = {default_mmf, primaryfile}
+primaryfile = \multimedia\t_mdaaudioconvertutility\nonexisting.wav
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-DestinationDataTypeL_command10]
+fourcc = {default_mmf, fourcc_codecformat}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0058-001-SetPosition_command08]
+position = 999999999
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0022-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+secaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0058-001-SetPosition_command05]
+position = -99999999
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0017-001-Position_command04]
+position = 1
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0058-001-SetPosition_command03]
+position = 10
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0111-001-SetRepeats_command02]
+interval = 1000000
+repeatnumber = 10
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0070-001-CustomCommandSync_command03]
+function = -999999999
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0064-001-SetPlayWindow_command04]
+start = 99999999
+end = -99999999
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0013-001-OpenL_command03]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\nonexists.wav
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0105-001-SetDestinationDataTypeL_command05]
+fourcc = -9999
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0067-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\corrupted.wav
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0012-001-OpenL_command03]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0021-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-SetDestinationDataTypeL_command13]
+fourcc = KMMFFourCCCodeMuLAW
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-SetDestinationDataTypeL_command11]
+fourcc = KMMFFourCCCodeALAW
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0058-001-Position_command09]
+position = 500000
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0011-001-SourceNumberOfChannelsL_command03]
+numberofchannels = 1
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0023-001-SetMaxWriteLength_command03]
+maxlength = 10000000
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0028-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0085-001-SetRepeats_command03]
+interval = 1000000
+repeatnumber = -10
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0029-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-SetDestinationFormatL_command08]
+format          = {default_uids,kmmfuidformatrawwrite}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0009-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\nonexists.wav
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0069-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-SetDestinationFormatL_command06]
+format          = {default_uids,kmmfuidformatauwrite}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-SetDestinationFormatL_command04]
+format          = {default_uids,kmmfuidformatwavwrite}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0097-001-OpenL_command02]
+pricodec = {default_mmf, primarycodec}
+secformat = WavClipFormat
+prilocation = \multimedia\t_mdaaudioconvertutility\corrupted.wav
+secaudiosetings = Default
+priformat = WavClipFormat
+seclocation = {default_mmf, secondarylocation}
+priaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0011-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\nonexists4.wav
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0030-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0026-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0030-001-SetThreadPriority_command03]
+threadpriority = EPriorityNormal
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0013-001-State_command05]
+state = ENotReady
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0027-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0106-001-SetDestinationDataTypeL_command02]
+fourcc = KMMFFourCCCodeIMAD
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0073-001-SetThreadPriority_command03]
+threadpriority = 0
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0005-001-OpenL_command02]
+seclocation = \multimedia\t_mdaaudioconvertutility\nonexists.wav
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+secaudiosetings = Default
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0010-001-SourceFormatL_command03]
+format          = {default_uids,kmmfuidformatwavread}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0032-001-OpenL_command02]
+primaryfile = {default_mmf, primaryfile}
+formatuid = FFFE
+secformat = InvalidClipFormat
+secaudiosetings = Default
+seclocation = {default_mmf, secondarylocation}
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0076-001-NewL_command01]
+priority = 999999
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0012-001-State_command02]
+state = ENotReady
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0012-001-State_command04]
+state = EOpen
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0009-001-DestinationSampleRateL_command06]
+samplerate = 8000
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0024-001-SetPosition_command03]
+position = 0
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0116-001-SetDestinationNumberOfChannelsL_command07]
+numberofchannels = 2
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0020-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0059-001-SetPosition_command02]
+position = -9999
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0018-001-SetPosition_command03]
+position = 500000
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0024-001-OpenL_command02]
+secondaryfile = {default_mmf, primaryfile}
+primaryfile = {default_mmf, secondarylocation}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0028-001-CustomCommandAsync_command03]
+function = 7
+usedatafrom = TRUE
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0071-001-CustomCommandAsync_command03]
+function = -999999999
+usedatafrom = TRUE
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0020-001-Duration_command03]
+duration = 500000
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0118-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, tertiaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0118-001-ConvertL_command03]
+waitforfullconvert=FAlSE
+
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0119-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0120-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0121-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
+
+
+[MM-MMF-ACLNT-CNVRT-PublicAPI-0122-001-OpenL_command02]
+seclocation = {default_mmf, secondarylocation}
+primaryfile = {default_mmf, primaryfile}
+secformat = WavClipFormat
+seccodec = {default_mmf, secondarycodec}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/group/T_MdaAudioInputStream.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+TARGET			t_mdaaudioinputstream.exe
+TARGETTYPE		exe
+UID				0x1000007A 0x20000F75
+VENDORID		0x70000001
+
+CAPABILITY		WriteUserData ReadUserData UserEnvironment MultimediaDD
+
+SOURCEPATH		../src
+
+SOURCE			../../../common/src/T_MMUtil.cpp
+SOURCE			../../../common/src/DataWrapperBase.cpp
+
+SOURCE			T_MMDataMdaAudioInputStream.cpp
+SOURCE			T_MdaAudioInputStreamServer.cpp
+
+USERINCLUDE		../inc
+USERINCLUDE		../../../common/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE	/epoc32/include/test
+
+LIBRARY			euser.lib
+LIBRARY			efsrv.lib
+LIBRARY			mediaclientaudioinputstream.lib
+LIBRARY			testexecuteutils.lib
+LIBRARY			testexecutelogclient.lib
+LIBRARY			bafl.lib
+LIBRARY			imageconversion.lib
+LIBRARY			mmfcontrollerframework.lib
+LIBRARY			iniparser.lib
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,35 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTEXPORTS
+t_mdaaudioinputstream.iby								/epoc32/rom/include/t_mdaaudioinputstream.iby
+t_mdaaudioinputstream_binaries.iby						/epoc32/rom/include/t_mdaaudioinputstream_binaries.iby
+t_mdaaudioinputstream_testdata.iby						/epoc32/rom/include/t_mdaaudioinputstream_testdata.iby
+
+../pkg/T_MdaAudioInputStream.pkg						/epoc32/pkg/t_mdaaudioinputstream.pkg
+../pkg/tmdaaudioinputstream.bat							/epoc32/pkg/tmdaaudioinputstream.bat
+../scripts/MM-MMF-ACLNT-INPT-PublicAPI.script			/epoc32/pkg/mm-mmf-aclnt-inpt-publicapi.script
+
+../testdata/MM-MMF-ACLNT-INPT-PublicAPI.ini				/epoc32/pkg/mm-mmf-aclnt-inpt-publicapi.ini
+
+../scripts/setup-MM-MMF-ACLNT-INPT-PublicAPI.script		z:/multimedia/setup-mm-mmf-aclnt-inpt-publicapi.script
+../scripts/MM-MMF-ACLNT-INPT-PublicAPI.script			z:/multimedia/mm-mmf-aclnt-inpt-publicapi.script
+
+../testdata/MM-MMF-ACLNT-INPT-PublicAPI.ini				z:/multimedia/mm-mmf-aclnt-inpt-publicapi.ini
+
+PRJ_TESTMMPFILES
+T_MdaAudioInputStream.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/group/t_mdaaudioinputstream.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,24 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIOINPUTSTREAM_IBY__)
+#define __T_MDAAUDIOINPUTSTREAM_IBY__
+
+#include <t_mdaaudioinputstream_binaries.iby>
+#include <t_mdaaudioinputstream_testdata.iby>
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/group/t_mdaaudioinputstream_binaries.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIOINPUTSTREAM_BINARIES_IBY__)
+#define __T_MDAAUDIOINPUTSTREAM_BINARIES_IBY__
+
+#include <testexecute.iby>
+
+#if (!defined EKA2)
+file=ABI_DIR\BUILD_DIR\t_mdaaudioinputstream.exe 	system\libs\t_mdaaudioinputstream.exe
+#else
+file=ABI_DIR\BUILD_DIR\t_mdaaudioinputstream.exe 	system\bin\t_mdaaudioinputstream.exe
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/group/t_mdaaudioinputstream_testdata.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,25 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIOINPUTSTREAM_TESTDATA_IBY__)
+#define __T_MDAAUDIOINPUTSTREAM_TESTDATA_IBY__
+
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.script			multimedia\MM-MMF-ACLNT-INPT-PublicAPI.script
+
+data=EPOCROOT##Epoc32\data\z\multimedia\setup-MM-MMF-ACLNT-INPT-PublicAPI.script	multimedia\setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini				multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/inc/T_MMDataMdaAudioInputStream.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,105 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MM_DATA_MDA_AUDIO_INPUT_STREAM_H__)
+#define __T_MM_DATA_MDA_AUDIO_INPUT_STREAM_H__
+
+//	User Includes
+#include "DataWrapperBase.h"
+
+//	EPOC includes
+#include <mdaaudioinputstream.h>
+
+/**
+ * Test Active Notification class
+ *
+ */
+
+
+class CT_MMDataMdaAudioInputStream : public CDataWrapperBase, private MMdaAudioInputStreamCallback
+	{
+public:
+	/**
+	* Public destructor
+	*/
+	~CT_MMDataMdaAudioInputStream();
+
+	/**
+	* Two phase constructor
+	*
+	* @leave	system wide error
+	*/
+	static	CT_MMDataMdaAudioInputStream*	NewL();
+
+	virtual TAny*	GetObject();
+	virtual TBool	DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+
+protected:
+	/**
+	* Protected constructor. First phase construction
+	*/
+	CT_MMDataMdaAudioInputStream();
+
+	void	ConstructL();
+
+private:
+	inline void				DoCmdDestructor();
+	inline void				DoCmdBitRateL(const TDesC& aSection);
+	inline void				DoCmdCustomInterface();
+	inline void				DoCmdDataTypeL(const TDesC& aSection);
+	inline void				DoCmdGain(const TDesC& aSection);
+	inline void				DoCmdGetBalanceL(const TDesC& aSection);
+	inline void				DoCmdGetBytes();
+	inline void				DoCmdGetSupportedBitRatesL();
+	inline void				DoCmdMaxGain();
+	inline void				DoCmdNewL(const TDesC& aSection);
+	inline void				DoCmdOpen(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void				DoCmdPosition();
+	inline void				DoCmdReadL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void				DoCmdSetAudioPropertiesL(const TDesC& aSection);
+	inline void				DoCmdSetBalanceL(const TDesC& aSection);
+	inline void				DoCmdSetBitRateL(const TDesC& aSection);
+	inline void				DoCmdSetDataTypeL(const TDesC& aSection);
+	inline void				DoCmdSetGain(const TDesC& aSection);
+	inline void				DoCmdSetPriority(const TDesC& aSection);
+	inline void				DoCmdStop();
+
+	//	MMdaAudioInputStreamCallback implementation
+	virtual void			MaiscOpenComplete(TInt aError);
+	virtual void			MaiscBufferCopied(TInt aError, const TDesC8& aBuffer);
+	virtual void			MaiscRecordComplete(TInt aError);
+
+	//	Helper methods
+	void					ReadStreamAudioDataL();
+	void					DestroyData();
+
+private:
+	CMdaAudioInputStream*	iInputStream;
+	HBufC8*					iBuffer;
+	TPtr8*					iBufferPtr;
+	TInt					iBufferSize;
+	TBool					iStreamOpened;
+	RFile					iFile;
+	TBool					iFileOpened;
+	TBool					iIsAllDataRead;
+	RFs						iFs;
+	TInt					iAsyncErrorIndex;
+	};
+
+#endif /* __T_MM_DATA_MDA_AUDIO_INPUT_STREAM_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/inc/T_MdaAudioInputStreamServer.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MDA_AUDIO_INPUT_STREAM_SERVER_H__)
+#define __T_MDA_AUDIO_INPUT_STREAM_SERVER_H__
+
+//	EPOC Includes
+#include <testblockcontroller.h>
+#include <testserver2.h>
+
+class CT_MdaAudioInputStreamServer : public CTestServer2
+	{
+private:
+	class CT_MdaAudioInputStreamBlock : public CTestBlockController
+		{
+	public:
+		inline CT_MdaAudioInputStreamBlock();
+		inline ~CT_MdaAudioInputStreamBlock();
+
+		inline CDataWrapper*	CreateDataL( const TDesC& aData );
+		};
+
+public:
+	inline ~CT_MdaAudioInputStreamServer();
+
+	inline void	DeleteActiveSchedulerL();
+
+	static CT_MdaAudioInputStreamServer* NewL();
+
+	inline CTestBlockController*	CreateTestBlock();
+
+protected:
+	inline CT_MdaAudioInputStreamServer();
+	};
+
+#include "T_MdaAudioInputStreamServer.inl"
+
+#endif /* __T_MDA_AUDIO_INPUT_STREAM_SERVER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/inc/T_MdaAudioInputStreamServer.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataMdaAudioInputStream.h"
+
+_LIT(KT_MdaAudioInputStream,	"CMdaAudioInputStream");
+
+CT_MdaAudioInputStreamServer::CT_MdaAudioInputStreamBlock::CT_MdaAudioInputStreamBlock()
+:	CTestBlockController()
+	{
+	}
+
+CT_MdaAudioInputStreamServer::CT_MdaAudioInputStreamBlock::~CT_MdaAudioInputStreamBlock()
+	{
+	}
+
+CDataWrapper* CT_MdaAudioInputStreamServer::CT_MdaAudioInputStreamBlock::CreateDataL(const TDesC& aData)
+	{
+	CDataWrapper*	wrapper = NULL;
+
+	if( KT_MdaAudioInputStream() == aData )
+		{
+		wrapper = CT_MMDataMdaAudioInputStream::NewL();
+		}
+
+	return wrapper;
+	}
+
+CT_MdaAudioInputStreamServer::CT_MdaAudioInputStreamServer()
+	{
+	}
+
+CT_MdaAudioInputStreamServer::~CT_MdaAudioInputStreamServer()
+	{
+	}
+
+void CT_MdaAudioInputStreamServer::DeleteActiveSchedulerL()
+	{
+	}
+
+CTestBlockController* CT_MdaAudioInputStreamServer::CreateTestBlock()
+	{
+	return new CT_MdaAudioInputStreamBlock();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/pkg/T_MdaAudioInputStream.pkg	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,50 @@
+;
+; Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+;
+;
+; Install file for T_MdaAudioInputStream.exe
+;
+
+; Languages - 
+&EN
+
+; Installation header
+; UID is the app's UID
+#{"T_MdaAudioInputStream"},(0x20000F75),1,0,0
+
+;%{"Vendor-EN"}
+;:"Symbian"
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+
+"T_MdaAudioInputStream.exe"-"!:\sys\bin\T_MdaAudioInputStream.exe"
+"tmdaaudioinputstream.bat"-"!:\multimedia\tmdaaudioinputstream.bat"
+"MM-MMF-ACLNT-INPT-PublicAPI.script"-"!:\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.script"
+"t_multimedia.tcs"-"!:\multimedia\t_multimedia.tcs"
+"MM-MMF-ACLNT-INPT-PublicAPI.ini"-"!:\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini"
+"t_multimedia.ini"-"!:\multimedia\t_multimedia.ini"
+
+
+; Required files
+; None
+
+; Component .sis files
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/pkg/tmdaaudioinputstream.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testexecute \multimedia\MM-MMF-ACLNT-INPT-PublicAPI
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/scripts/MM-MMF-ACLNT-INPT-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,666 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName		MM-MMF-ACLNT-INPT-PublicAPI
+//! @SYMScriptTestEnvironment	This test script requires a basic ROM.
+/////////////////////////////////////////////////////////////////////
+// MM-MMF-ACLNT-INPT-PublicAPI.script
+//
+// Tests all public elements of the CMdaAudioInputStream class
+// as a means of confidence that the APIs work as expected.
+//
+// The purpose is to provide a regression test suite of PublishedAll APIs for CMdaAudioInputStream.
+// Negative testing is performed to confirm that correct errors are returned when incorrect parameters are given.
+// The tests are fully automated.
+/////////////////////////////////////////////////////////////////////
+
+
+LOAD_SUITE	T_MdaAudioInputStream
+
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0001
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0001
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Read streaming audio data until complete then stop it before completion.
+//!				Uses API elements: NewL(), Open(), GetBytes(), ReadL(), Stop()
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Open input audio stream package. 
+//!				3. Get number of bytes rendered. 4. Record streaming audio data to file. 5. Start timer.
+//!				6. Get number of bytes rendered. 7. Stop recording process 8. Destroy CMdaAudioInputStream object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults  	Streaming audio data is read then stopped with KErrAbort
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	        CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND			mdaaudioinputstream1	NewL
+		COMMAND			mdaaudioinputstream1	Open
+		OUTSTANDING
+		COMMAND			mdaaudioinputstream1	GetBytes
+		COMMAND	!AsyncError=-39	mdaaudioinputstream1	ReadL		MM-MMF-ACLNT-INPT-PublicAPI-0001-001-ReadL_command05
+                ASYNC_DELAY		500000
+                COMMAND			mdaaudioinputstream1	GetBytes
+                COMMAND			mdaaudioinputstream1	Stop
+		OUTSTANDING
+		COMMAND			mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0001
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0002
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0002
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Read streaming audio data then stop it before completion
+//!				Uses API elements: NewL(), Open(), ReadL(), BitRateL(), Stop().
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Open input audio stream package. 3. Start timer.
+//!				4. Record streaming audio data to file. 5. Get bit rate. 6. Start timer. 7. Stop recording process.
+//!				8. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults  	Streaming audio data is read then stopped with KErrAbort
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND			mdaaudioinputstream1	NewL
+		COMMAND			mdaaudioinputstream1	Open
+		OUTSTANDING
+		COMMAND	!AsyncError=-39	mdaaudioinputstream1	ReadL		MM-MMF-ACLNT-INPT-PublicAPI-0002-001-ReadL_command04
+		ASYNC_DELAY		500000
+		COMMAND			mdaaudioinputstream1	BitRateL
+		COMMAND			mdaaudioinputstream1	Stop
+		OUTSTANDING
+		COMMAND			mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0002
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0003
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0003
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Read streaming audio data and call Position/CustomInterface functions
+//!				Uses API elements: NewL(), Open(), ReadL(), Position(), CustomInterface() Stop()
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Open input audio stream package. 3. Record streaming audio data to file.
+//!				4. Start timer. 5. Get stream position. 6. Get stream position.
+//!				7. Get stream position. 8. Retrieve custom interface to underlying device. 
+//!                             9. Stop streaming audio data to file.. 10. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults  	Streaming audio data is read then stopped with KErrAbort also all get/set functions work correctly
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	        CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND		        mdaaudioinputstream1	NewL		MM-MMF-ACLNT-INPT-PublicAPI-0003-001-NewL_command01
+		COMMAND		        mdaaudioinputstream1	Open
+		OUTSTANDING
+		COMMAND	!AsyncError=-39	mdaaudioinputstream1	ReadL		MM-MMF-ACLNT-INPT-PublicAPI-0003-001-ReadL_command04
+		ASYNC_DELAY	        50000
+		COMMAND		        mdaaudioinputstream1	Position
+		COMMAND		        mdaaudioinputstream1	Position
+		COMMAND		        mdaaudioinputstream1	Position
+		COMMAND		        mdaaudioinputstream1	CustomInterface
+                COMMAND		        mdaaudioinputstream1	Stop
+		OUTSTANDING
+		COMMAND		        mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0003
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0004
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0004
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Test setting various combinations of audio properties
+//!				Uses API elements: NewL(), SetAudioPropertiesL().
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2-27. Set different sample rates for mono and stereo.
+//!				28. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults  	All setting of audio properties works correctly with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND		mdaaudioinputstream1	NewL	
+		COMMAND		mdaaudioinputstream1	Open	
+		OUTSTANDING
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command03
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command04
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command05
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command06
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command07
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command08
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command09
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command10
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command11
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command12
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command13
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command14
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command15
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command16
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command17
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command18
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command19
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command20
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command21
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command22
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command23
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command24
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command25
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command26
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command27
+		COMMAND		mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command28
+		COMMAND		mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0004
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0005
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0005
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Test setting various balance levels
+//!				Uses API elements: NewL(), SetBalanceL(), GetBalanceL().
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Set positive balance. 3. Get balance.
+//!				4. Set negative balance. 5. Get balance. 6. Set maximum balance. 7. Get balance.
+//!				8. Set minimum balance. 9. Get balance. 10. Set zero balance. 11. Get balance.
+//!				12. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Balance levels set and get work correctly with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND		mdaaudioinputstream1	NewL
+		COMMAND		mdaaudioinputstream1	SetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0005-001-SetBalanceL_command02
+		COMMAND		mdaaudioinputstream1	GetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0005-001-GetBalanceL_command03
+		COMMAND		mdaaudioinputstream1	SetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0005-001-SetBalanceL_command04
+		COMMAND		mdaaudioinputstream1	GetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0005-001-GetBalanceL_command05
+		COMMAND		mdaaudioinputstream1	SetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0005-001-SetBalanceL_command06
+		COMMAND		mdaaudioinputstream1	GetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0005-001-GetBalanceL_command07
+		COMMAND		mdaaudioinputstream1	SetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0005-001-SetBalanceL_command08
+		COMMAND		mdaaudioinputstream1	GetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0005-001-GetBalanceL_command09
+		COMMAND		mdaaudioinputstream1	SetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0005-001-SetBalanceL_command10
+		COMMAND		mdaaudioinputstream1	GetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0005-001-GetBalanceL_command11
+		COMMAND		mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0005
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0006
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0006
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Test setting various gain levels
+//!				Uses API elements: NewL(), Gain(), SetGain().
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Get gain. 3. Set small gain. 4. Get gain.
+//!				5. Set large gain. 6. Get gain. 7. Set zero gain. 8. Get gain. 9. Get max gain.
+//!				10. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Gain levels set and get work correctly with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND		mdaaudioinputstream1	NewL
+		COMMAND		mdaaudioinputstream1	Gain
+		COMMAND		mdaaudioinputstream1	SetGain		MM-MMF-ACLNT-INPT-PublicAPI-0006-001-SetGain_command03
+		COMMAND		mdaaudioinputstream1	Gain		MM-MMF-ACLNT-INPT-PublicAPI-0006-001-Gain_command04
+		COMMAND		mdaaudioinputstream1	SetGain		MM-MMF-ACLNT-INPT-PublicAPI-0006-001-SetGain_command05
+		COMMAND		mdaaudioinputstream1	Gain		MM-MMF-ACLNT-INPT-PublicAPI-0006-001-Gain_command06
+		COMMAND		mdaaudioinputstream1	SetGain		MM-MMF-ACLNT-INPT-PublicAPI-0006-001-SetGain_command07
+		COMMAND		mdaaudioinputstream1	Gain		MM-MMF-ACLNT-INPT-PublicAPI-0006-001-Gain_command08
+		COMMAND		mdaaudioinputstream1	MaxGain
+		COMMAND		mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0006
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0007
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0007
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Test setting various priority levels
+//!				Uses API elements: NewL(), SetPriority().
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2-5. Set different priority levels.
+//!				6. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Priority levels set and get work correctly with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND		mdaaudioinputstream1	NewL
+		COMMAND		mdaaudioinputstream1	SetPriority	MM-MMF-ACLNT-INPT-PublicAPI-0007-001-SetPriority_command02
+		COMMAND		mdaaudioinputstream1	SetPriority	MM-MMF-ACLNT-INPT-PublicAPI-0007-001-SetPriority_command03
+		COMMAND		mdaaudioinputstream1	SetPriority	MM-MMF-ACLNT-INPT-PublicAPI-0007-001-SetPriority_command04
+		COMMAND		mdaaudioinputstream1	SetPriority	MM-MMF-ACLNT-INPT-PublicAPI-0007-001-SetPriority_command05
+		COMMAND		mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0007
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0008
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0008
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Test setting every data types
+//!				Uses API elements: NewL(), DataType(), SetDataTypeL().
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2-42. Get and set every data type. 43. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Every data type set and get works correctly with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND		mdaaudioinputstream1	NewL		MM-MMF-ACLNT-INPT-PublicAPI-0008-001-NewL_command01
+		COMMAND		mdaaudioinputstream1	DataType
+		COMMAND		mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command03
+		COMMAND		mdaaudioinputstream1	DataType	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command04
+		COMMAND		mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command05
+		COMMAND		mdaaudioinputstream1	DataType	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command06
+		COMMAND		mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command07
+		COMMAND		mdaaudioinputstream1	DataType	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command08
+		COMMAND		mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command09
+		COMMAND		mdaaudioinputstream1	DataType	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command10
+		COMMAND		mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command11
+		COMMAND		mdaaudioinputstream1	DataType	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command12
+		COMMAND		mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command13
+		COMMAND		mdaaudioinputstream1	DataType	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command14
+		COMMAND		mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command15
+		COMMAND		mdaaudioinputstream1	DataType	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command16
+		COMMAND		mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command17
+		COMMAND		mdaaudioinputstream1	DataType	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command18
+		COMMAND		mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command19
+		COMMAND		mdaaudioinputstream1	DataType	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command20
+		COMMAND		mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command21
+		COMMAND		mdaaudioinputstream1	DataType	MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command22
+		COMMAND		mdaaudioinputstream1	~
+	END_TEST_BLOCK
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND			mdaaudioinputstream1	NewL		MM-MMF-ACLNT-INPT-PublicAPI-0008-002-NewL_command01
+		COMMAND			mdaaudioinputstream1	DataType
+		COMMAND	!Error=-5	mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command03
+		COMMAND	!Error=-5	mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command04
+		COMMAND	!Error=-5	mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command05
+		COMMAND	!Error=-5	mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command06
+		COMMAND	!Error=-5	mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command07
+		COMMAND	!Error=-5	mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command08
+		COMMAND	!Error=-5	mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command09
+		COMMAND	!Error=-5	mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command10
+		COMMAND	!Error=-5	mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command11
+		COMMAND	!Error=-5	mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command12
+		COMMAND			mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0008
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0009
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0009
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		06/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Read streaming audio data and call Bit Rate functions
+//!				Uses API elements: NewL(), Open(), ReadL(), BitRateL(), SetBitRateL(), GetSupportedBitRatesL(), Stop()
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Open input audio stream package. 3. Start timer.
+//!				4. Record streaming audio data to file. 5. Get bit rate. 6. Set average bit rate.
+//!				7. Get bit rate. 8. Set low bit rate. 9. Get bit rate. 10. Set high bit rate. 11. Get bit rate.
+//!				12. Get supported bit rates. 13. Stop streaming data to file. 14. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Bit Rate functions work correctly with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	        CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND		        mdaaudioinputstream1	NewL	
+		COMMAND		        mdaaudioinputstream1	Open	
+		OUTSTANDING
+		COMMAND	!AsyncError=-39	mdaaudioinputstream1	ReadL			MM-MMF-ACLNT-INPT-PublicAPI-0009-001-ReadL_command04
+		ASYNC_DELAY	        50000
+		COMMAND		        mdaaudioinputstream1	BitRateL
+		COMMAND		        mdaaudioinputstream1	SetBitRateL		MM-MMF-ACLNT-INPT-PublicAPI-0009-001-SetBitRateL_command06
+		COMMAND		        mdaaudioinputstream1	BitRateL		MM-MMF-ACLNT-INPT-PublicAPI-0009-001-BitRateL_command07
+		COMMAND		        mdaaudioinputstream1	SetBitRateL		MM-MMF-ACLNT-INPT-PublicAPI-0009-001-SetBitRateL_command08
+		COMMAND		        mdaaudioinputstream1	BitRateL		MM-MMF-ACLNT-INPT-PublicAPI-0009-001-BitRateL_command09
+		COMMAND		        mdaaudioinputstream1	SetBitRateL		MM-MMF-ACLNT-INPT-PublicAPI-0009-001-SetBitRateL_command10
+		COMMAND		        mdaaudioinputstream1	BitRateL		MM-MMF-ACLNT-INPT-PublicAPI-0009-001-BitRateL_command11
+		COMMAND		        mdaaudioinputstream1	GetSupportedBitRatesL
+		COMMAND			mdaaudioinputstream1	Stop
+		OUTSTANDING
+                COMMAND		mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0009
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0010
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0010
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting audio properties once streaming has started
+//!				Uses API elements: NewL(), Open(), ReadL(), SetAudioPropertiesL(), Stop()
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Open input audio stream package. 3. Start timer.
+//!				4. Record streaming audio data to file. 5. Set audio properties. 6.Stop streaming data to file.  7.Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Audio properties set return KErrNotReady
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	        CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND		        mdaaudioinputstream1	NewL	
+		COMMAND		        mdaaudioinputstream1	Open	
+		OUTSTANDING
+		COMMAND	!AsyncError=-39	mdaaudioinputstream1	ReadL			MM-MMF-ACLNT-INPT-PublicAPI-0010-001-ReadL_command04
+		ASYNC_DELAY	        50000
+		COMMAND	!Error=-18      mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0010-001-SetAudioPropertiesL_command05
+		COMMAND			mdaaudioinputstream1	Stop
+		OUTSTANDING
+                COMMAND		        mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0010
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0011
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0011
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting gain level once streaming has started
+//!				Uses API elements: NewL(), Open(), ReadL(), Gain(), SetGain(), Stop()
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Open input audio stream package. 3. Start timer.
+//!				4. Record streaming audio data to file. 5. Set gain. 6. Get gain. 
+//!                             7. Stop streaming data to file 8. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Gain level set with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	        CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND		        mdaaudioinputstream1	NewL
+		COMMAND		        mdaaudioinputstream1	Open
+		OUTSTANDING
+		COMMAND	!AsyncError=-39	mdaaudioinputstream1	ReadL		MM-MMF-ACLNT-INPT-PublicAPI-0011-001-ReadL_command04
+		ASYNC_DELAY	        50000
+		COMMAND		        mdaaudioinputstream1	SetGain		MM-MMF-ACLNT-INPT-PublicAPI-0011-001-SetGain_command05
+		COMMAND		        mdaaudioinputstream1	Gain		MM-MMF-ACLNT-INPT-PublicAPI-0011-001-Gain_command06
+		COMMAND			mdaaudioinputstream1	Stop
+		OUTSTANDING
+                COMMAND		        mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0011
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0012
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0012
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting balance once streaming has started
+//!				Uses API elements: NewL(), Open(), ReadL(), SetBalanceL(), GetBalanceL(), Stop ()
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Open input audio stream package. 3. Start timer.
+//!				4. Record streaming audio data to file. 5. Set balance. 6. Get balance. 
+//!                             7. Stop streaming data to file, 8. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Balance set with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	        CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND		        mdaaudioinputstream1	NewL
+		COMMAND		        mdaaudioinputstream1	Open
+		OUTSTANDING
+		COMMAND	!AsyncError=-39  mdaaudioinputstream1	ReadL		MM-MMF-ACLNT-INPT-PublicAPI-0012-001-ReadL_command04
+		ASYNC_DELAY	        50000
+		COMMAND		        mdaaudioinputstream1	SetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0012-001-SetBalanceL_command05
+		COMMAND		        mdaaudioinputstream1	GetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0012-001-GetBalanceL_command06
+		COMMAND			mdaaudioinputstream1	Stop
+		OUTSTANDING
+                COMMAND		        mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0012
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0013
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0013
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Read streaming audio data then delete the object before completion
+//!				Uses API elements: NewL(), Open(), ReadL().
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Open input audio stream package. 3. Start timer.
+//!				4. Record streaming audio data to file. 5. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Streaming audio data is read then stopped KErrAbort is expected
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	        CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND		        mdaaudioinputstream1	NewL
+		COMMAND		        mdaaudioinputstream1	Open
+		OUTSTANDING
+		COMMAND	            mdaaudioinputstream1	ReadL		MM-MMF-ACLNT-INPT-PublicAPI-0013-001-ReadL_command04
+		COMMAND		        mdaaudioinputstream1	~
+                ASYNC_DELAY		50000
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0013
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0014
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0014
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad sample rate
+//!				Uses API elements: NewL(), SetAudioPropertiesL().
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Open input audio stream package.
+//!				3. Set bad sample rate. 4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND			mdaaudioinputstream1	NewL	
+		COMMAND			mdaaudioinputstream1	Open	
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0014-001-SetAudioPropertiesL_command03
+		COMMAND			mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0014
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0015
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0015
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad number of channels
+//!				Uses API elements: NewL(), SetAudioPropertiesL().
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Open input audio stream package.
+//!				3. Set bad number of channels. 4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND			mdaaudioinputstream1	NewL	
+		COMMAND			mdaaudioinputstream1	Open	
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0015-001-SetAudioPropertiesL_command03
+		COMMAND			mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0015
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0016
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0016
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad audio properties
+//!				Uses API elements: NewL(), SetAudioPropertiesL().
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Open input audio stream package.
+//!				3. Set bad sample rate and number of channels. 4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND			mdaaudioinputstream1	NewL	
+		COMMAND			mdaaudioinputstream1	Open	
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudioinputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-INPT-PublicAPI-0016-001-SetAudioPropertiesL_command03
+		COMMAND			mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0016
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0017
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0017
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting balance value above maximum
+//!				Uses API elements: NewL(), SetBalanceL(), GetBalanceL().
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Set balance value above maximum.
+//!				3. Get balance value. 4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Balance is set to maximum value
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND		mdaaudioinputstream1	NewL
+		COMMAND		mdaaudioinputstream1	SetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0017-001-SetBalanceL_command02
+		COMMAND		mdaaudioinputstream1	GetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0017-001-GetBalanceL_command03
+		COMMAND		mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0017
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0018
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0018
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting balance value below minimum
+//!				Uses API elements: NewL(), SetBalanceL(), GetBalanceL().
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Set balance value below minimum.
+//!				3. Get balance value. 4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Balance is set to minimum value
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND		mdaaudioinputstream1	NewL
+		COMMAND		mdaaudioinputstream1	SetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0018-001-SetBalanceL_command02
+		COMMAND		mdaaudioinputstream1	GetBalanceL	MM-MMF-ACLNT-INPT-PublicAPI-0018-001-GetBalanceL_command03
+		COMMAND		mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0018
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0019
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0019
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting priority level while the stream object is open
+//!				Uses API elements: NewL(), Open(), SetPriority().
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Open input audio stream package.
+//!				3. Set new priority level. 4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND		mdaaudioinputstream1	NewL
+		COMMAND		mdaaudioinputstream1	Open
+		OUTSTANDING
+		COMMAND		mdaaudioinputstream1	SetPriority	MM-MMF-ACLNT-INPT-PublicAPI-0019-001-SetPriority_command03
+		COMMAND		mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0019
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0020
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0020
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad data type value
+//!				Uses API elements: NewL(), SetDataTypeL().
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Set bad data type value. 3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND			mdaaudioinputstream1	NewL
+		COMMAND			mdaaudioinputstream1	DataType
+		COMMAND	!Error=-5	mdaaudioinputstream1	SetDataTypeL	MM-MMF-ACLNT-INPT-PublicAPI-0020-001-SetDataTypeL_command03
+		COMMAND			mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0020
+
+START_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0021
+//! @SYMTestCaseID		MM-MMF-ACLNT-INPT-PublicAPI-0021
+//! @SYMAPI			CMdaAudioInputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad bit rate value
+//!				Uses API elements: NewL(), Open(), ReadL(), SetBitRateL().
+//! @SYMTestActions    		1. Create CMdaAudioInputStream object. 2. Open input audio stream package. 3. Start timer.
+//!				4. Record streaming audio data to file. 5. Set bad bit rate. 6. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Bad bit rate is not set
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioInputStream	\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioInputStream	mdaaudioinputstream1
+		COMMAND			mdaaudioinputstream1	NewL
+		COMMAND			mdaaudioinputstream1	Open
+		OUTSTANDING
+		COMMAND	!AsyncError=-39	mdaaudioinputstream1	ReadL		MM-MMF-ACLNT-INPT-PublicAPI-0021-001-ReadL_command04
+		ASYNC_DELAY		50000
+		COMMAND			mdaaudioinputstream1	SetBitRateL	MM-MMF-ACLNT-INPT-PublicAPI-0021-001-SetBitRateL_command05
+		COMMAND			mdaaudioinputstream1	SetBitRateL	MM-MMF-ACLNT-INPT-PublicAPI-0021-001-SetBitRateL_command06
+		COMMAND			mdaaudioinputstream1	Stop
+		OUTSTANDING
+		COMMAND	!Error=-11	mdaaudioinputstream1	ReadL		MM-MMF-ACLNT-INPT-PublicAPI-0021-001-ReadL_command09
+		ASYNC_DELAY		50000
+		COMMAND	!Error=-2000	mdaaudioinputstream1	BitRateL	MM-MMF-ACLNT-INPT-PublicAPI-0021-001-BitRateL_command10
+		COMMAND			mdaaudioinputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-INPT-PublicAPI-0021
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/scripts/setup-MM-MMF-ACLNT-INPT-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,27 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.script	${SYSDRIVE}\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.script
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.script
+
+RUN_UTILS CopyFile	z:\multimedia\t_multimedia.tcs		${SYSDRIVE}\multimedia\t_multimedia.tcs
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia.tcs
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini		${SYSDRIVE}\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/src/T_MMDataMdaAudioInputStream.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,689 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataMdaAudioInputStream.h"
+#include "T_MMUtil.h"
+
+/*@{*/
+_LIT(KBufferSize,				"buffersize");
+_LIT(KOutputFile,				"outputfile");
+_LIT(KBalance,					"balance");
+_LIT(KBitRate,					"bitrate");
+_LIT(KGain,						"gain");
+_LIT(KAudioCapsP1,				"audioCapsP1");
+_LIT(KAudioCapsP2,				"audioCapsP2");
+
+_LIT(KCmdDestructor,			"~");
+_LIT(KCmdBitRateL,				"BitRateL");
+_LIT(KCmdCustomInterface,		"CustomInterface");
+_LIT(KCmdDataType,				"DataType");
+_LIT(KCmdGain,					"Gain");
+_LIT(KCmdGetBalanceL,			"GetBalanceL");
+_LIT(KCmdGetBytes,				"GetBytes");
+_LIT(KCmdGetSupportedBitRatesL,	"GetSupportedBitRatesL");
+_LIT(KCmdMaxGain,				"MaxGain");
+_LIT(KCmdNewL,					"NewL");
+_LIT(KCmdOpen,					"Open");
+_LIT(KCmdPosition,				"Position");
+_LIT(KCmdReadL,					"ReadL");
+_LIT(KCmdSetAudioPropertiesL,	"SetAudioPropertiesL");
+_LIT(KCmdSetBalanceL,			"SetBalanceL");
+_LIT(KCmdSetBitRateL,			"SetBitRateL");
+_LIT(KCmdSetDataTypeL,			"SetDataTypeL");
+_LIT(KCmdSetGain,				"SetGain");
+_LIT(KCmdSetPriority,			"SetPriority");
+_LIT(KCmdStop,					"Stop");
+/*@}*/
+
+const TInt	KMdaAudioInputStreamBufferSize=1024;
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+CT_MMDataMdaAudioInputStream* CT_MMDataMdaAudioInputStream::NewL()
+	{
+	CT_MMDataMdaAudioInputStream*	ret=new (ELeave) CT_MMDataMdaAudioInputStream();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+CT_MMDataMdaAudioInputStream::CT_MMDataMdaAudioInputStream()
+:	iInputStream(NULL)
+,	iBuffer(NULL)
+,	iBufferPtr(NULL)
+,	iBufferSize(KMdaAudioInputStreamBufferSize)
+,	iStreamOpened(EFalse)
+,	iFileOpened(EFalse)
+,	iIsAllDataRead(EFalse)
+,	iAsyncErrorIndex(0)
+	{
+	}
+
+void CT_MMDataMdaAudioInputStream::ConstructL()
+/**
+ * Second phase construction
+ *
+ * @internalComponent
+ *
+ * @return	N/A
+ *
+ * @pre		None
+ * @post	None
+ *
+ * @leave	system wide error
+ */
+	{
+	User::LeaveIfError(iFs.Connect());
+	}
+
+CT_MMDataMdaAudioInputStream::~CT_MMDataMdaAudioInputStream()
+/**
+ * Public destructor
+ */
+	{
+	DestroyData();
+	}
+
+TAny* CT_MMDataMdaAudioInputStream::GetObject()
+/**
+ * Return a pointer to the object that the data wraps
+ *
+ * @return	pointer to the object that the data wraps
+ */
+	{
+	return iInputStream;
+	}
+
+void CT_MMDataMdaAudioInputStream::DestroyData()
+	{
+	if ( iFileOpened )
+		{
+		iFile.Close();
+		iFileOpened=EFalse;
+		}
+	iFs.Close();
+	delete iBufferPtr;
+	iBufferPtr=NULL;
+	delete iBuffer;
+	iBuffer=NULL;
+	delete iInputStream;
+	iInputStream=NULL;
+	iAsyncErrorIndex = 0;
+	}
+
+TBool CT_MMDataMdaAudioInputStream::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+/**
+ * Process a command read from the ini file
+ *
+ * @param aCommand			The command to process
+ * @param aSection			The section in the ini containing data for the command
+ * @param aAsyncErrorIndex	Command index for async calls to return errors to
+ *
+ * @return					ETrue if the command is processed
+ *
+ * @leave					System wide error
+ */
+	{
+	TBool	ret=ETrue;
+
+	if ( aCommand==KCmdDestructor )
+		{
+		DoCmdDestructor();
+		}
+	else if ( aCommand==KCmdBitRateL )
+		{
+		DoCmdBitRateL(aSection);
+		}
+	else if ( aCommand==KCmdCustomInterface )
+		{
+		DoCmdCustomInterface();
+		}
+	else if ( aCommand==KCmdDataType )
+		{
+		DoCmdDataTypeL(aSection);
+		}
+	else if ( aCommand==KCmdGain )
+		{
+		DoCmdGain(aSection);
+		}
+	else if ( aCommand==KCmdGetBalanceL )
+		{
+		DoCmdGetBalanceL(aSection);
+		}
+	else if ( aCommand==KCmdGetBytes )
+		{
+		DoCmdGetBytes();
+		}
+	else if ( aCommand==KCmdGetSupportedBitRatesL )
+		{
+		DoCmdGetSupportedBitRatesL();
+		}
+	else if ( aCommand==KCmdMaxGain )
+		{
+		DoCmdMaxGain();
+		}
+	else if ( aCommand==KCmdNewL )
+		{
+		DoCmdNewL(aSection);
+		}
+	else if ( aCommand==KCmdOpen )
+		{
+		DoCmdOpen(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdPosition )
+		{
+		DoCmdPosition();
+		}
+	else if ( aCommand==KCmdReadL )
+		{
+		DoCmdReadL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdSetAudioPropertiesL )
+		{
+		DoCmdSetAudioPropertiesL(aSection);
+		}
+	else if ( aCommand==KCmdSetBalanceL )
+		{
+		DoCmdSetBalanceL(aSection);
+		}
+	else if ( aCommand==KCmdSetBitRateL )
+		{
+		DoCmdSetBitRateL(aSection);
+		}
+	else if ( aCommand==KCmdSetDataTypeL )
+		{
+		DoCmdSetDataTypeL(aSection);
+		}
+	else if ( aCommand==KCmdSetGain )
+		{
+		DoCmdSetGain(aSection);
+		}
+	else if ( aCommand==KCmdSetPriority )
+		{
+		DoCmdSetPriority(aSection);
+		}
+	else if ( aCommand==KCmdStop )
+		{
+		DoCmdStop();
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdDestructor()
+	{
+	DestroyData();
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdBitRateL(const TDesC& aSection)
+	{
+
+	TInt	bitRate=0;
+	TRAPD(err, bitRate=iInputStream->BitRateL());
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("BitRateL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("BitRateL=%d"), bitRate);
+		TInt	expectedBitRate=0;
+		if(GetIntFromConfig(aSection, KBitRate(), expectedBitRate))
+			{
+			if(bitRate != expectedBitRate)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("bitRate(%d) != expectedBitRate(%d)"), bitRate, expectedBitRate);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdCustomInterface()
+	{
+	TAny*	any=iInputStream->CustomInterface(KNullUid);
+	if ( any!=NULL )
+		{
+		ERR_PRINTF2(_L("Non-NULL return value %0x"), any);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdDataTypeL(const TDesC& aSection)
+	{
+	TFourCC	actualVal=iInputStream->DataType();
+	INFO_PRINTF2(_L("DataType=%d"), actualVal.FourCC());
+
+	TFourCC	expectedVal;
+	TBool	hasFourCC = CT_MMUtil::ReadFourCC(*this, aSection, expectedVal);
+	if ( hasFourCC )
+		{
+		if( expectedVal != actualVal )
+			{
+			ERR_PRINTF3(_L("dataType(%d) != expectedDataType(%d)"), actualVal.FourCC(), expectedVal.FourCC());
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdGain(const TDesC& aSection)
+	{
+	TInt	gain=iInputStream->Gain();
+	INFO_PRINTF2(_L("Gain=%d"), gain);
+
+	TInt	expectedGain=0;
+	if(GetIntFromConfig(aSection, KGain(), expectedGain))
+		{
+		TInt	maxGain=iInputStream->MaxGain();
+		if(expectedGain>maxGain)
+			{
+			expectedGain=maxGain;
+			}
+		if(expectedGain == -1)
+			{
+			// Expect to get the maximum gain
+			if(gain != maxGain)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("gain(%d) != maxGain(%d)"), gain, maxGain);
+				}
+			}
+		else if(gain != expectedGain)
+			{
+			SetBlockResult(EFail);
+			ERR_PRINTF3(_L("gain(%d) != expectedGain(%d)"), gain, expectedGain);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdGetBalanceL(const TDesC& aSection)
+	{
+	TInt	balance=0;
+	TRAPD(err, balance=iInputStream->GetBalanceL());
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GetBalanceL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("GetBalanceL=%d"), balance);
+		TInt	expectedBalance=0;
+		if(GetIntFromConfig(aSection, KBalance(), expectedBalance))
+			{
+			if(balance != expectedBalance)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("balance(%d) != expectedBalance(%d)"), balance, expectedBalance);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdGetBytes()
+	{
+	TInt	bytes=iInputStream->GetBytes();
+	INFO_PRINTF2(_L("GetBytes=%d"), bytes);
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdGetSupportedBitRatesL()
+	{
+	RArray<TInt>	rates;
+	CleanupClosePushL(rates);
+	TRAPD(err, iInputStream->GetSupportedBitRatesL(rates));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GetSupportedBitRatesL Error %d"), err);
+		SetError(err);
+		}
+	for ( TInt index=0; index<rates.Count(); ++index )
+		{
+		INFO_PRINTF3(_L("rates[%d]=%d"), index, rates[index]);
+		}
+	CleanupStack::PopAndDestroy(&rates);
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdMaxGain()
+	{
+	TInt	maxGain=iInputStream->MaxGain();
+	INFO_PRINTF2(_L("MaxGain=%d"), maxGain);
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdNewL(const TDesC& aSection)
+	{
+	delete iInputStream;
+	iInputStream=NULL;
+
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	TInt	priority;
+	if ( CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		TRAPD(err, iInputStream=CMdaAudioInputStream::NewL(*this, priority, priorityPreference));
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("NewL(this, priority, priorityPreference) Error %d"), err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		TRAPD(err, iInputStream=CMdaAudioInputStream::NewL(*this));
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("NewL(this) Error %d"), err);
+			SetError(err);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdOpen(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+	//	Open the stream
+	TMdaAudioDataSettings	settings;
+	iAsyncErrorIndex = aAsyncErrorIndex;
+	if ( CT_MMUtil::ReadAudioDataSettings(*this, settings, aSection) )
+		{
+		iInputStream->Open(&settings);
+		}
+	else
+		{
+		iInputStream->Open(NULL);
+		}
+	IncOutstanding();
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdPosition()
+	{
+	TTimeIntervalMicroSeconds	position=iInputStream->Position();
+	INFO_PRINTF2(_L("Position=%d"), position.Int64());
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdReadL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+
+	GetIntFromConfig(aSection, KBufferSize(), iBufferSize);
+	delete iBuffer;
+	iBuffer=NULL;
+	iBuffer=HBufC8::NewL(iBufferSize);
+	iAsyncErrorIndex = aAsyncErrorIndex;
+
+	TPtrC	outputFile;
+	if ( GetStringFromConfig(aSection, KOutputFile(), outputFile) )
+		{
+		iFs.MkDirAll(outputFile);
+		iFs.Delete(outputFile);
+		TInt	err=iFile.Create(iFs, outputFile, EFileWrite);
+		if ( err==KErrNone )
+			{
+			INFO_PRINTF1(_L("File created"));
+			iFileOpened=ETrue;
+			IncOutstanding();
+			ReadStreamAudioDataL();
+			}
+		else
+			{
+			ERR_PRINTF3(_L("Cannot open outputfile %S. Error %d"), &outputFile, err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("No %S"), &KOutputFile());
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdSetAudioPropertiesL(const TDesC& aSection)
+	{
+	TPtrC	paramStr;
+
+	TMdaAudioDataSettings::TAudioCaps	sampleRate = TMdaAudioDataSettings::ESampleRate8000Hz;
+	TBool unknownSampleRate = EFalse;
+	if( GetStringFromConfig(aSection, KAudioCapsP1(), paramStr))
+		{
+		if( !CT_MMUtil::ConvertToAudioCaps(paramStr, sampleRate) )
+			{
+			TInt otherSampleRate = 0;
+			if ( GetIntFromConfig(aSection, KAudioCapsP1(), otherSampleRate) )
+				{
+				sampleRate = (TMdaAudioDataSettings::TAudioCaps) otherSampleRate;
+				unknownSampleRate = ETrue;
+				}
+			else
+				{
+				ERR_PRINTF2(_L("SetAudioPropertiesL cannot parse %S"), &KAudioCapsP1());
+				SetBlockResult(EFail);
+				}
+			}
+		}
+
+	TMdaAudioDataSettings::TAudioCaps channels = TMdaAudioDataSettings::EChannelsMono;
+	TBool unknownChannels = EFalse;
+	if( GetStringFromConfig(aSection, KAudioCapsP2(), paramStr))
+		{
+		if( !CT_MMUtil::ConvertToAudioCaps(paramStr, channels) )
+			{
+			TInt otherChannels = 0;
+			if ( GetIntFromConfig(aSection, KAudioCapsP2(), otherChannels) )
+				{
+				channels = (TMdaAudioDataSettings::TAudioCaps) otherChannels;
+				unknownChannels = ETrue;
+				}
+			else
+				{
+				ERR_PRINTF2(_L("SetAudioPropertiesL cannot parse %S"), &KAudioCapsP2());
+				SetBlockResult(EFail);
+				}
+			}
+		}
+
+	TRAPD(err, iInputStream->SetAudioPropertiesL((TInt)sampleRate, (TInt)channels));
+	if (( err==KErrNotSupported ) && ( !unknownSampleRate ) && ( !unknownChannels ))
+		{
+		WARN_PRINTF1(_L("SetAudioPropertiesL not supported"));
+		}
+	else if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetAudioPropertiesL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdSetBalanceL(const TDesC& aSection)
+	{
+	TInt	balance=KMMFBalanceCenter;
+	GetIntFromConfig(aSection, KBalance(), balance);
+	TRAPD(err, iInputStream->SetBalanceL(balance));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetBalanceL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdSetBitRateL(const TDesC& aSection)
+	{
+	TInt	bitRate=48000 * 16;
+	GetIntFromConfig(aSection, KBitRate(), bitRate);
+	TRAPD(err, iInputStream->SetBitRateL(bitRate));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetBitRateL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdSetDataTypeL(const TDesC& aSection)
+	{
+	TFourCC	val;
+	if ( CT_MMUtil::ReadFourCC(*this, aSection, val) )
+		{
+		TRAPD(err, iInputStream->SetDataTypeL(val));
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("SetDataTypeL Error %d"), err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("No data type"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdSetGain(const TDesC& aSection)
+	{
+	TInt	gain=0;
+	GetIntFromConfig(aSection, KGain(), gain);
+	iInputStream->SetGain(gain);
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdSetPriority(const TDesC& aSection)
+	{
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	TInt	priority;
+	if ( !CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		priority=EMdaPriorityMin;
+		}
+	iInputStream->SetPriority(priority, priorityPreference);
+	}
+
+void CT_MMDataMdaAudioInputStream::DoCmdStop()
+	{
+	iInputStream->Stop();
+	}
+
+/**
+aAsyncErrorIndex callback called when CMdaAudioInputStream::Open completes
+@internalAll
+@return void
+@param aError Symbian error code on failure, KErrNone if opened ok
+@pre N/A
+@post N/A
+*/
+void CT_MMDataMdaAudioInputStream::MaiscOpenComplete(TInt aError)
+	{
+	if ( aError==KErrNone )
+		{
+		iStreamOpened=ETrue;
+		INFO_PRINTF1(_L("Open OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Open Error %d"), aError);
+		SetAsyncError(iAsyncErrorIndex, aError);
+		iStreamOpened=EFalse;
+		}
+	DecOutstanding();
+	}
+
+/**
+aAsyncErrorIndex callback called when CMdaAudioInputStream::Stop completes
+@internalAll
+@return void
+@param aError Symbian error code on failure, KErrNone if stopped ok
+@pre N/A
+@post N/A
+*/
+void CT_MMDataMdaAudioInputStream::MaiscRecordComplete(TInt aError)
+	{
+	if ( aError==KErrNone )
+		{
+		INFO_PRINTF1(_L("Record OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Record Error %d"), aError);
+		SetAsyncError(iAsyncErrorIndex, aError);
+		}
+	if ( iFileOpened )
+		{
+		iFile.Close();
+		iFileOpened=EFalse;
+		}
+	DecOutstanding();
+	}
+
+/**
+aAsyncErrorIndex callback called when CMdaAudioInputStream::ReadL completes
+@internalAll
+@return void
+@param aError Symbian error code on failure, KErrNone if read ok
+@pre N/A
+@post N/A
+*/
+void CT_MMDataMdaAudioInputStream::MaiscBufferCopied(TInt aError, const TDesC8& aBuffer)
+	{
+	if ( aError==KErrNone )
+		{
+		INFO_PRINTF1(_L("Copied OK"));
+		if ( aBuffer.Length() > 0)
+			{
+			iFile.Write(aBuffer);
+			TRAPD(err, ReadStreamAudioDataL());
+			if ( err!=KErrNone )
+				{
+				ERR_PRINTF2(_L("ReadStreamAudioDataL Error %d"), err);
+				SetAsyncError(iAsyncErrorIndex, err);
+				DecOutstanding();
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Buffer Copied Error %d"), aError);
+		SetAsyncError(iAsyncErrorIndex, aError);
+		DecOutstanding();
+		}
+	}
+
+/**
+Utility helper function ReadStreamAudioDataL - reads audio data from a stream
+@internalAll
+@return void
+@param None
+@pre N/A
+@post contents of input stream written to iBuffer
+*/
+void CT_MMDataMdaAudioInputStream::ReadStreamAudioDataL()
+	{
+	*iBuffer=KNullDesC8;
+	delete iBufferPtr;
+	iBufferPtr=new (ELeave) TPtr8(iBuffer->Des());
+	iInputStream->ReadL(*iBufferPtr);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/src/T_MdaAudioInputStreamServer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,89 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MdaAudioInputStreamServer.h"
+
+CT_MdaAudioInputStreamServer* CT_MdaAudioInputStreamServer::NewL()
+/**
+ * @return - Instance of the test server
+ * Same code for Secure and non-secure variants
+ * Called inside the MainL() function to create and start the
+ * CTestServer derived server.
+ */
+	{
+    CT_MdaAudioInputStreamServer* server = new (ELeave) CT_MdaAudioInputStreamServer();
+    CleanupStack::PushL(server);
+    server->ConstructL();
+    CleanupStack::Pop(server);
+    return server;
+    }
+
+
+LOCAL_C void MainL()
+/**
+ * Secure variant
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+	{
+#if (defined __DATA_CAGING__)
+    RProcess().DataCaging(RProcess::EDataCagingOn);
+    RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+    CActiveScheduler*	sched=NULL;
+    sched=new(ELeave) CActiveScheduler;
+    CActiveScheduler::Install(sched);
+    CT_MdaAudioInputStreamServer* server = NULL;
+    
+    // Create the CTestServer derived server
+    TRAPD(err,server = CT_MdaAudioInputStreamServer::NewL());
+    if(!err)
+	    {
+        // Sync with the client and enter the active scheduler
+        RProcess::Rendezvous(KErrNone);
+        sched->Start();
+        }
+
+    delete server;
+    delete sched;
+    }
+
+
+GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on process exit
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ */
+	{
+    __UHEAP_MARK;
+    CTrapCleanup* cleanup = CTrapCleanup::New();
+    if(cleanup == NULL)
+	    {
+        return KErrNoMemory;
+        }
+
+#if (defined TRAP_IGNORE)
+	TRAP_IGNORE(MainL());
+#else
+    TRAPD(err,MainL());
+#endif
+
+    delete cleanup;
+    __UHEAP_MARKEND;
+    return KErrNone;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioInputStream/testdata/MM-MMF-ACLNT-INPT-PublicAPI.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,491 @@
+[include]
+file1=\multimedia\t_multimedia.ini
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0001-001-ReadL_command05]
+outputfile=\multimedia\t_mdaaudioinputstream\MM-MMF-ACLNT-INPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0002-001-ReadL_command04]
+outputfile=\multimedia\t_mdaaudioinputstream\MM-MMF-ACLNT-INPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0003-001-NewL_command01]
+priority=EMdaPriorityMax
+prioritypreference=Quality
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0003-001-ReadL_command04]
+outputfile=\multimedia\t_mdaaudioinputstream\MM-MMF-ACLNT-INPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command03]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRateFixed
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command04]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRateFixed
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command05]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRateAnyInRange
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command06]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRateAnyInRange
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command07]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate8000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command08]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate8000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command09]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate11025Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command10]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate11025Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command11]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate12000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command12]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate12000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command13]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate16000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command14]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate16000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command15]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate22050Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command16]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate22050Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command17]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate24000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command18]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate24000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command19]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate32000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command20]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate32000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command21]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate44100Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command22]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate44100Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command23]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate48000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command24]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate48000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command25]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate96000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command26]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate96000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command27]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate64000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0004-001-SetAudioPropertiesL_command28]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate64000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0005-001-SetBalanceL_command02]
+balance=50
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0005-001-GetBalanceL_command03]
+balance=50
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0005-001-SetBalanceL_command04]
+balance=-50
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0005-001-GetBalanceL_command05]
+balance=-50
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0005-001-SetBalanceL_command06]
+balance=100
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0005-001-GetBalanceL_command07]
+balance=100
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0005-001-SetBalanceL_command08]
+balance=-100
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0005-001-GetBalanceL_command09]
+balance=-100
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0005-001-SetBalanceL_command10]
+balance=0
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0005-001-GetBalanceL_command11]
+balance=0
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0006-001-SetGain_command03]
+gain=1
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0006-001-Gain_command04]
+gain=1
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0006-001-SetGain_command05]
+gain=1000
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0006-001-Gain_command06]
+gain=-1
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0006-001-SetGain_command07]
+gain=0
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0006-001-Gain_command08]
+gain=0
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0007-001-SetPriority_command02]
+priority=EMdaPriorityMin
+prioritypreference=Quality
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0007-001-SetPriority_command03]
+priority=EMdaPriorityMax
+prioritypreference=Time
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0007-001-SetPriority_command04]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0007-001-SetPriority_command05]
+priority=EMdaPriorityNormal
+prioritypreference=None
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-NewL_command01]
+priority=EMdaPriorityMax
+prioritypreference=Quality
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command03]
+fourcc=KMMFFourCCCodePCM8
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command04]
+fourcc=KMMFFourCCCodePCM8
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command05]
+fourcc=KMMFFourCCCodePCMU8
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command06]
+fourcc=KMMFFourCCCodePCMU8
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command07]
+fourcc={default_mmf, fourcc_inputdatatype}
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command08]
+fourcc={default_mmf, fourcc_inputdatatype}
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command09]
+fourcc=KMMFFourCCCodePCMU16
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command10]
+fourcc=KMMFFourCCCodePCMU16
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command11]
+fourcc=KMMFFourCCCodePCM16B
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command12]
+fourcc=KMMFFourCCCodePCM16B
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command13]
+fourcc=KMMFFourCCCodePCMU16B
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command14]
+fourcc=KMMFFourCCCodePCMU16B
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command15]
+fourcc=KMMFFourCCCodeIMAD
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command16]
+fourcc=KMMFFourCCCodeIMAD
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command17]
+fourcc=KMMFFourCCCodeALAW
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command18]
+fourcc=KMMFFourCCCodeALAW
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command19]
+fourcc=KMMFFourCCCodeMuLAW
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command20]
+fourcc=KMMFFourCCCodeMuLAW
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-SetDataTypeL_command21]
+fourcc=KMMFFourCCCodeGSM610
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-001-DataType_command22]
+fourcc=KMMFFourCCCodeGSM610
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-002-NewL_command01]
+priority=EMdaPriorityMax
+prioritypreference=Quality
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command03]
+fourcc=KMMFFourCCCodeIMAS
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command04]
+fourcc=KMMFFourCCCodeNULL
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command05]
+fourcc=KMMFFourCCCodeAMR
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command06]
+fourcc=KMMFFourCCCodeAMRW
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command07]
+fourcc=KMMFFourCCCodeAAC
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command08]
+fourcc=KMMFFourCCCodeAWB
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command09]
+fourcc=KMMFFourCCCodeMP3
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command10]
+fourcc=KMMFFourCCCodeATRAC3
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command11]
+fourcc=KMMFFourCCCodeSBC
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0008-002-SetDataTypeL_command12]
+fourcc=KMMFFourCCCodeADTS
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0009-001-ReadL_command04]
+outputfile=\multimedia\t_mdaaudioinputstream\MM-MMF-ACLNT-INPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0009-001-SetBitRateL_command06]
+bitrate=2000
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0009-001-BitRateL_command07]
+bitrate=2000
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0009-001-SetBitRateL_command08]
+bitrate=96
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0009-001-BitRateL_command09]
+bitrate=96
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0009-001-SetBitRateL_command10]
+bitrate={default_mmf, input_bitrate}
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0009-001-BitRateL_command11]
+bitrate={default_mmf, input_bitrate}
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0010-001-ReadL_command04]
+outputfile=\multimedia\t_mdaaudioinputstream\MM-MMF-ACLNT-INPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0010-001-SetAudioPropertiesL_command05]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate8000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0011-001-ReadL_command04]
+outputfile=\multimedia\t_mdaaudioinputstream\MM-MMF-ACLNT-INPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0011-001-SetGain_command05]
+gain=5
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0011-001-Gain_command06]
+gain=5
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0012-001-ReadL_command04]
+outputfile=\multimedia\t_mdaaudioinputstream\MM-MMF-ACLNT-INPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0012-001-SetBalanceL_command05]
+balance=50
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0012-001-GetBalanceL_command06]
+balance=50
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0013-001-ReadL_command04]
+outputfile=\multimedia\t_mdaaudioinputstream\MM-MMF-ACLNT-INPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0014-001-SetAudioPropertiesL_command03]
+audioCapsP2=ChannelsMono
+audioCapsP1=3
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0015-001-SetAudioPropertiesL_command03]
+audioCapsP2=3
+audioCapsP1=SampleRate8000Hz
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0016-001-SetAudioPropertiesL_command03]
+audioCapsP2=3
+audioCapsP1=3
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0017-001-SetBalanceL_command02]
+balance=1000
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0017-001-GetBalanceL_command03]
+balance=100
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0018-001-SetBalanceL_command02]
+balance=-1000
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0018-001-GetBalanceL_command03]
+balance=-100
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0019-001-SetPriority_command03]
+priority=EMdaPriorityMax
+prioritypreference=Time
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0020-001-SetDataTypeL_command03]
+fourcc=3
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0021-001-ReadL_command04]
+outputfile=\multimedia\t_mdaaudioinputstream\MM-MMF-ACLNT-INPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0021-001-SetBitRateL_command05]
+bitrate=500
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0021-001-SetBitRateL_command06]
+bitrate=-2000
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0021-001-ReadL_command09]
+outputfile=\multimedia\t_mdaaudioinputstream\MM-MMF-ACLNT-INPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-INPT-PublicAPI-0021-001-BitRateL_command10]
+bitrate=500
+
+
+[mdaaudioinputstream1]
+name=mdaaudioinputstream1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/group/T_MdaAudioOutputStream.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+TARGET			t_mdaaudiooutputstream.exe
+TARGETTYPE		exe
+UID				0x1000007A 0x20000F76
+VENDORID		0x70000001
+
+CAPABILITY		WriteUserData ReadUserData UserEnvironment MultimediaDD
+
+SOURCEPATH		../src
+
+SOURCE			../../../common/src/T_MMUtil.cpp
+SOURCE			../../../common/src/DataWrapperBase.cpp
+
+SOURCE			T_MMDataMdaAudioOutputStream.cpp
+SOURCE			T_MdaAudioOutputStreamServer.cpp
+
+USERINCLUDE		../inc
+USERINCLUDE		../../../common/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE	/epoc32/include/test
+
+LIBRARY			euser.lib
+LIBRARY			efsrv.lib
+LIBRARY			mediaclientaudiostream.lib
+LIBRARY			testexecuteutils.lib
+LIBRARY			testexecutelogclient.lib
+LIBRARY			bafl.lib
+LIBRARY			imageconversion.lib
+LIBRARY			mmfcontrollerframework.lib
+LIBRARY			iniparser.lib
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,37 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTMMPFILES
+T_MdaAudioOutputStream.mmp
+
+PRJ_TESTEXPORTS
+t_mdaaudiooutputstream.iby								/epoc32/rom/include/t_mdaaudiooutputstream.iby
+t_mdaaudiooutputstream_binaries.iby						/epoc32/rom/include/t_mdaaudiooutputstream_binaries.iby
+t_mdaaudiooutputstream_testdata.iby						/epoc32/rom/include/t_mdaaudiooutputstream_testdata.iby
+
+../pkg/T_MdaAudioOutputStream.pkg						/epoc32/pkg/t_mdaaudiooutputstream.pkg
+../pkg/tmdaaudiooutputstream.bat						/epoc32/pkg/tmdaaudiooutputstream.bat
+../scripts/MM-MMF-ACLNT-OUTPT-PublicAPI.script			/epoc32/pkg/mm-mmf-aclnt-outpt-publicapi.script
+
+../testdata/MM-MMF-ACLNT-OUTPT-PublicAPI.ini			/epoc32/pkg/mm-mmf-aclnt-outpt-publicapi.ini
+../../../../testdata/mmf/T_MdaAudioOutputStream/MM-MMF-ACLNT-OUTPT-PublicAPI.raw			/epoc32/pkg/t_mdaaudiooutputstream/mm-mmf-aclnt-outpt-publicapi.raw
+
+../scripts/setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script	z:/multimedia/setup-mm-mmf-aclnt-outpt-publicapi.script
+../scripts/MM-MMF-ACLNT-OUTPT-PublicAPI.script			z:/multimedia/mm-mmf-aclnt-outpt-publicapi.script
+
+../testdata/MM-MMF-ACLNT-OUTPT-PublicAPI.ini			z:/multimedia/mm-mmf-aclnt-outpt-publicapi.ini
+../../../../testdata/mmf/T_MdaAudioOutputStream/MM-MMF-ACLNT-OUTPT-PublicAPI.raw			z:/multimedia/t_mdaaudiooutputstream/mm-mmf-aclnt-outpt-publicapi.raw
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/group/t_mdaaudiooutputstream.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,24 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIOOUTPUTSTREAM_IBY__)
+#define __T_MDAAUDIOOUTPUTSTREAM_IBY__
+
+#include <t_mdaaudiooutputstream_binaries.iby>
+#include <t_mdaaudiooutputstream_testdata.iby>
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/group/t_mdaaudiooutputstream_binaries.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIOOUTPUTSTREAM_BINARIES_IBY__)
+#define __T_MDAAUDIOOUTPUTSTREAM_BINARIES_IBY__
+
+#include <testexecute.iby>
+
+#if (!defined EKA2)
+file=ABI_DIR\BUILD_DIR\t_mdaaudiooutputstream.exe 	system\libs\t_mdaaudiooutputstream.exe
+#else
+file=ABI_DIR\BUILD_DIR\t_mdaaudiooutputstream.exe 	system\bin\t_mdaaudiooutputstream.exe
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/group/t_mdaaudiooutputstream_testdata.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,26 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIOOUTPUTSTREAM_TESTDATA_IBY__)
+#define __T_MDAAUDIOOUTPUTSTREAM_TESTDATA_IBY__
+
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.script						multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.script
+
+data=EPOCROOT##Epoc32\data\z\multimedia\setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script				multimedia\setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini						multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+data=EPOCROOT##Epoc32\data\z\multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw	multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/inc/T_MMDataMdaAudioOutputStream.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,96 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MM_DATA_MDA_AUDIO_OUTPUT_STREAM_H__)
+#define __T_MM_DATA_MDA_AUDIO_OUTPUT_STREAM_H__
+
+//	User Includes
+#include "DataWrapperBase.h"
+
+//	EPOC includes
+#include <mdaaudiooutputstream.h>
+
+/**
+ * Test Active Notification class
+ *
+ */
+class CT_MMDataMdaAudioOutputStream : public CDataWrapperBase, private MMdaAudioOutputStreamCallback, private MMMFAudioResourceNotificationCallback
+	{
+public:
+	~CT_MMDataMdaAudioOutputStream();
+
+	static	CT_MMDataMdaAudioOutputStream*	NewL();
+
+	virtual TAny*	GetObject();
+	virtual TBool	DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+
+protected:
+	CT_MMDataMdaAudioOutputStream();
+
+	void	ConstructL();
+
+private:
+	inline void				DoCmdDestructor();
+	inline void				DoCmdCancelRegisterAudioResourceNotification();
+	inline void				DoCmdCustomInterface();
+	inline void				DoCmdSetBalanceL(const TDesC& aSection);
+	inline void				DoCmdGetBalanceL(const TDesC& aSection);
+	inline void				DoCmdGetBytes(const TDesC& aSection);
+	inline void				DoCmdNewL(const TDesC& aSection);
+	inline void				DoCmdOpen(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void				DoCmdPosition();
+	inline void				DoCmdRegisterAudioResourceNotification();
+	inline void				DoCmdSetAudioPropertiesL(const TDesC& aSection);
+	inline void				DoCmdSetDataTypeL(const TDesC& aSection);
+	inline void				DoCmdDataTypeL(const TDesC& aSection);
+	inline void				DoCmdSetPriority(const TDesC& aSection);
+	inline void				DoCmdSetVolume(const TDesC& aSection);
+	inline void				DoCmdMaxVolume();
+	inline void				DoCmdVolume(const TDesC& aSection);
+	inline void				DoCmdStop();
+	inline void				DoCmdWillResumePlay();
+	inline void				DoCmdWriteL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+
+	//	MMdaAudioOutputStreamCallback implementation
+	virtual void			MaoscOpenComplete(TInt aError);
+	virtual void			MaoscBufferCopied(TInt aError, const TDesC8& aBuffer);
+	virtual void			MaoscPlayComplete(TInt aError);
+
+	//	MMMFAudioResourceNotificationCallback implementation
+	virtual void			MarncResourceAvailable(TUid aNotificationEventId, const TDesC8& aNotificationData);
+
+	//	Helper methods
+	TBool					WriteStreamAudioDataL();
+	void					DestroyData();
+
+
+private:
+	CMdaAudioOutputStream*	iOutputStream;
+	HBufC8*					iBuffer;
+	TPtr8*					iBufferPtr;
+	TInt					iBufferSize;
+	TBool					iStreamOpened;
+	RFile					iFile;
+	TBool					iFileOpened;
+	TBool					iIsAllDataWritten;
+	RFs						iFs;
+	TInt					iAsyncErrorIndex;
+	};
+
+#endif /* __T_MM_DATA_MDA_AUDIO_OUTPUT_STREAM_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/inc/T_MdaAudioOutputStreamServer.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MDA_AUDIO_OUTPUT_STREAM_SERVER_H__)
+#define __T_MDA_AUDIO_OUTPUT_STREAM_SERVER_H__
+
+// EPOC Includes
+#include <testblockcontroller.h>
+#include <testserver2.h>
+
+class CT_MdaAudioOutputStreamServer : public CTestServer2
+	{
+private:
+	class CT_MdaAudioOutputStreamBlock : public CTestBlockController
+		{
+	public:
+		inline CT_MdaAudioOutputStreamBlock();
+		inline ~CT_MdaAudioOutputStreamBlock();
+
+		inline CDataWrapper*	CreateDataL(const TDesC& aData);
+		};
+
+public:
+    inline ~CT_MdaAudioOutputStreamServer();
+
+    inline void	DeleteActiveSchedulerL();
+
+    static CT_MdaAudioOutputStreamServer*	NewL();
+
+    inline CTestBlockController*    CreateTestBlock();
+
+protected:
+	inline CT_MdaAudioOutputStreamServer();
+	};
+
+#include "T_MdaAudioOutputStreamServer.inl"
+
+#endif /* __T_MDA_AUDIO_OUTPUT_STREAM_SERVER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/inc/T_MdaAudioOutputStreamServer.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataMdaAudioOutputStream.h"
+
+_LIT(KT_MdaAudioOutputStream,	"CMdaAudioOutputStream");
+
+CT_MdaAudioOutputStreamServer::CT_MdaAudioOutputStreamBlock::CT_MdaAudioOutputStreamBlock()
+:	CTestBlockController()
+	{
+	}
+
+CT_MdaAudioOutputStreamServer::CT_MdaAudioOutputStreamBlock::~CT_MdaAudioOutputStreamBlock()
+	{
+	}
+
+CDataWrapper* CT_MdaAudioOutputStreamServer::CT_MdaAudioOutputStreamBlock::CreateDataL(const TDesC& aData)
+	{
+	CDataWrapper* wrapper = NULL;
+
+	if( KT_MdaAudioOutputStream() == aData )
+		{
+		wrapper = CT_MMDataMdaAudioOutputStream::NewL();
+		}
+
+	return wrapper;
+	}
+
+CT_MdaAudioOutputStreamServer::CT_MdaAudioOutputStreamServer()
+	{
+	}
+
+CT_MdaAudioOutputStreamServer::~CT_MdaAudioOutputStreamServer()
+	{
+	}
+
+void CT_MdaAudioOutputStreamServer::DeleteActiveSchedulerL()
+	{
+	}
+
+CTestBlockController* CT_MdaAudioOutputStreamServer::CreateTestBlock()
+	{
+	return new CT_MdaAudioOutputStreamBlock();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/pkg/T_MdaAudioOutputStream.pkg	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,51 @@
+;
+; Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+;
+;
+; Install file for T_MdaAudioOutputStream.exe
+;
+
+; Languages - 
+&EN
+
+; Installation header
+; UID is the app's UID
+#{"T_MdaAudioOutputStream"},(0x20000F76),1,0,0
+
+;%{"Vendor-EN"}
+;:"Symbian"
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+
+"T_MdaAudioOutputStream.exe"-"!:\sys\bin\T_MdaAudioOutputStream.exe"
+"tmdaaudiooutputstream.bat"-"!:\multimedia\tmdaaudiooutputstream.bat"
+"MM-MMF-ACLNT-OUTPT-PublicAPI.script"-"!:\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.script"
+"t_multimedia.tcs"-"!:\multimedia\t_multimedia.tcs"
+"MM-MMF-ACLNT-OUTPT-PublicAPI.ini"-"!:\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini"
+"t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw"-"!:\multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw"
+"t_multimedia.ini"-"!:\multimedia\t_multimedia.ini"
+
+
+; Required files
+; None
+
+; Component .sis files
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/pkg/tmdaaudiooutputstream.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testexecute \multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/scripts/MM-MMF-ACLNT-OUTPT-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,604 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName		MM-MMF-ACLNT-OUTPT-PublicAPI
+//! @SYMScriptTestEnvironment	This test script requires a basic ROM.
+/////////////////////////////////////////////////////////////////////
+// MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//
+// Tests all public elements of the CMdaAudioOutputStream class
+// as a means of confidence that the APIs work as expected.
+//
+// The purpose is to provide a regression test suite of PublishedAll APIs for CMdaAudioOutputStream.
+// The tests are fully automated.
+/////////////////////////////////////////////////////////////////////
+
+LOAD_SUITE	T_MdaAudioOutputStream
+
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0001
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0001
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		01/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Test audio properties
+//! @SYMTestActions		Test setting various combinations of audio properties
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Audio properties are Get/Set ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL
+		COMMAND		mdaaudiooutputstream1	Open
+		OUTSTANDING
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command03
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command04
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command05
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command06
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command07
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command08
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command09
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command10
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command11
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command12
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command13
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command14
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command15
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command16
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command17
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command18
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command19
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command20
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command21
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command22
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command23
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command24
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command25
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command26
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command27
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command28
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0001
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0002
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0002
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		01/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests NewL priority overload
+//! @SYMTestActions		Test for the CMdaAutioOutputStream overload taking a priority parameter
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	NewL creates an object with the specified priority ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL		MM-MMF-ACLNT-OUTPT-PublicAPI-0002-001-NewL_command01
+		COMMAND		mdaaudiooutputstream1	RegisterAudioResourceNotification
+		COMMAND		mdaaudiooutputstream1	CancelRegisterAudioResourceNotification
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0002
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0003
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0003
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		01/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests Balance
+//! @SYMTestActions		Test the balance settings fto the CMdaAudioOutputStream
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Balance settings work ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL		MM-MMF-ACLNT-OUTPT-PublicAPI-0003-001-NewL_command01
+		COMMAND		mdaaudiooutputstream1	SetBalanceL		MM-MMF-ACLNT-OUTPT-PublicAPI-0003-001-SetBalanceL_command02
+		COMMAND		mdaaudiooutputstream1	GetBalanceL		MM-MMF-ACLNT-OUTPT-PublicAPI-0003-001-GetBalanceL_command03
+		COMMAND		mdaaudiooutputstream1	SetBalanceL		MM-MMF-ACLNT-OUTPT-PublicAPI-0003-001-SetBalanceL_command04
+		COMMAND		mdaaudiooutputstream1	GetBalanceL		MM-MMF-ACLNT-OUTPT-PublicAPI-0003-001-GetBalanceL_command05
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0003
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0004
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0004
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		01/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests volume
+//! @SYMTestActions		Test the volume settings fto the CMdaAudioOutputStream
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Volume settings work ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL
+		COMMAND		mdaaudiooutputstream1	Volume
+		COMMAND		mdaaudiooutputstream1	SetVolume		MM-MMF-ACLNT-OUTPT-PublicAPI-0004-001-SetVolume_command03
+		COMMAND		mdaaudiooutputstream1	Volume
+		COMMAND		mdaaudiooutputstream1	SetVolume		MM-MMF-ACLNT-OUTPT-PublicAPI-0004-001-SetVolume_command05
+		COMMAND		mdaaudiooutputstream1	Volume		MM-MMF-ACLNT-OUTPT-PublicAPI-0004-001-Volume_command06
+		COMMAND		mdaaudiooutputstream1	MaxVolume
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0004
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0005
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0005
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		01/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting prority
+//! @SYMTestActions		Test setting the priority of the CMdaAudioOutputStream
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Priority works ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL
+		COMMAND		mdaaudiooutputstream1	SetPriority		MM-MMF-ACLNT-OUTPT-PublicAPI-0005-001-SetPriority_command02
+		COMMAND		mdaaudiooutputstream1	SetPriority		MM-MMF-ACLNT-OUTPT-PublicAPI-0005-001-SetPriority_command03
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0005
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0006
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0006
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		01/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Test setting every FourCC codecs
+//! @SYMTestActions		Use Get/Set data type methods on every FourCC type
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Supported FourCC data types can be set ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-NewL_command01
+		COMMAND		mdaaudiooutputstream1	DataType
+		COMMAND		mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command03
+		COMMAND		mdaaudiooutputstream1	DataType		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command04
+		COMMAND		mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command05
+		COMMAND		mdaaudiooutputstream1	DataType		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command06
+		COMMAND		mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command07
+		COMMAND		mdaaudiooutputstream1	DataType		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command08
+		COMMAND		mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command09
+		COMMAND		mdaaudiooutputstream1	DataType		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command10
+		COMMAND		mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command11
+		COMMAND		mdaaudiooutputstream1	DataType		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command12
+		COMMAND		mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command13
+		COMMAND		mdaaudiooutputstream1	DataType		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command14
+		COMMAND		mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command15
+		COMMAND		mdaaudiooutputstream1	DataType		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command16
+		COMMAND		mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command17
+		COMMAND		mdaaudiooutputstream1	DataType		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command18
+		COMMAND		mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command19
+		COMMAND		mdaaudiooutputstream1	DataType		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command20
+		COMMAND		mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command21
+		COMMAND		mdaaudiooutputstream1	DataType		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command22
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+	START_TEST_BLOCK	100	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND			mdaaudiooutputstream1	NewL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-NewL_command01
+		COMMAND			mdaaudiooutputstream1	DataType
+		COMMAND	!Error=-5	mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command03
+		COMMAND	!Error=-5	mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command04
+		COMMAND	!Error=-5	mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command05
+		COMMAND	!Error=-5	mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command06
+		//!COMMAND	!Error=-5	mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command07
+		COMMAND	!Error=-5	mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command08
+		COMMAND	!Error=-5	mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command09
+		COMMAND	!Error=-5	mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command10
+		COMMAND	!Error=-5	mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command11
+		COMMAND	!Error=-5	mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command12
+		COMMAND			mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0006
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0007
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0007
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			Matthew Flowers
+//! @SYMCreationDate		06/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Test playing of raw audio
+//! @SYMTestActions		Test output of raw audio data from file
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Raw data file is output ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL
+		COMMAND		mdaaudiooutputstream1	Open
+		OUTSTANDING
+		COMMAND		mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0007-001-SetAudioPropertiesL_command03
+		COMMAND		mdaaudiooutputstream1	GetBytes
+		COMMAND		mdaaudiooutputstream1	WriteL		MM-MMF-ACLNT-OUTPT-PublicAPI-0007-001-WriteL_command05
+		COMMAND		mdaaudiooutputstream1	GetBytes
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0007
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0008
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0008
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting audio properties once streaming has started
+//!				Uses API elements: NewL(), Open(), WriteL(), SetAudioPropertiesL().
+//! @SYMTestActions    		1. Create CMdaAudioOutputStream object. 2. Open output audio stream package. 3. Start timer.
+//!				4. Play streaming audio data from file. 5. Set audio properties. 6. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Audio properties set return KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL	
+		COMMAND		mdaaudiooutputstream1	Open	
+		OUTSTANDING
+		COMMAND		mdaaudiooutputstream1	WriteL			MM-MMF-ACLNT-OUTPT-PublicAPI-0008-001-WriteL_command04
+		ASYNC_DELAY	500000
+		COMMAND	!Error=-18	mdaaudiooutputstream1	SetAudioPropertiesL	MM-MMF-ACLNT-OUTPT-PublicAPI-0008-001-SetAudioPropertiesL_command05
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0008
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0009
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0009
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting volume level once streaming has started
+//!				Uses API elements: NewL(), Open(), WriteL(), SetVolume(), Volume().
+//! @SYMTestActions    		1. Create CMdaAudioOutputStream object. 2. Open output audio stream package. 3. Start timer.
+//!				4. Play streaming audio data from file. 5. Set volume. 6. Get volume. 7. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Volume level set with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL
+		COMMAND		mdaaudiooutputstream1	Open
+		OUTSTANDING
+		COMMAND		mdaaudiooutputstream1	WriteL		MM-MMF-ACLNT-OUTPT-PublicAPI-0009-001-WriteL_command04
+		ASYNC_DELAY	500000
+		COMMAND		mdaaudiooutputstream1	SetVolume		MM-MMF-ACLNT-OUTPT-PublicAPI-0009-001-SetVolume_command05
+		COMMAND		mdaaudiooutputstream1	Volume		MM-MMF-ACLNT-OUTPT-PublicAPI-0009-001-Volume_command06
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0009
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0010
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0010
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting balance once streaming has started
+//!				Uses API elements: NewL(), Open(), WriteL(), SetBalanceL(), GetBalanceL().
+//! @SYMTestActions    		1. Create CMdaAudioOutputStream object. 2. Open output audio stream package. 3. Start timer.
+//!				4. Play streaming audio data from file. 5. Set balance. 6. Get balance. 7. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Balance level set with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL
+		COMMAND		mdaaudiooutputstream1	Open
+		OUTSTANDING
+		COMMAND		mdaaudiooutputstream1	WriteL		MM-MMF-ACLNT-OUTPT-PublicAPI-0010-001-WriteL_command04
+		ASYNC_DELAY	500000
+		COMMAND		mdaaudiooutputstream1	SetBalanceL		MM-MMF-ACLNT-OUTPT-PublicAPI-0010-001-SetBalanceL_command05
+		COMMAND		mdaaudiooutputstream1	GetBalanceL		MM-MMF-ACLNT-OUTPT-PublicAPI-0010-001-GetBalanceL_command06
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0010
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0011
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0011
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Write streaming audio data then delete the object before completion
+//!				Uses API elements: NewL(), Open(), WriteL().
+//! @SYMTestActions    		1. Create CMdaAudioOutputStream object. 2. Open output audio stream package. 3. Start timer.
+//!				4. Play streaming audio data from file. 5. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Streaming audio data is written then stopped with no error
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL
+		COMMAND		mdaaudiooutputstream1	Open
+		OUTSTANDING
+		COMMAND		mdaaudiooutputstream1	WriteL		MM-MMF-ACLNT-OUTPT-PublicAPI-0011-001-WriteL_command04
+		ASYNC_DELAY	500000
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0011
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0012
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0012
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad sample rate
+//!				Uses API elements: NewL(), SetAudioPropertiesL().
+//! @SYMTestActions    		1. Create CMdaAudioOutputStream object. 2. Set bad sample rate.
+//!				            3. open CMdaAudioOutputStream, catch error code from open callback 4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND			mdaaudiooutputstream1	NewL
+		COMMAND	!Error=0	mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0012-001-SetAudioPropertiesL_command02
+        COMMAND		    !AsyncError=-5 mdaaudiooutputstream1	Open
+		ASYNC_DELAY		500000
+		COMMAND			mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0012
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0013
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0013
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad number of channels
+//!				Uses API elements: NewL(), SetAudioPropertiesL().
+//! @SYMTestActions    		1. Create CMdaAudioOutputStream object. 2. Set bad number of channels.
+//!				            3. open CMdaAudioOutputStream, catch error code from open callback  4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND			mdaaudiooutputstream1	NewL
+		COMMAND	!Error=0	mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0013-001-SetAudioPropertiesL_command02
+        COMMAND		    !AsyncError=-5 mdaaudiooutputstream1	Open
+		ASYNC_DELAY		500000
+		COMMAND			mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0013
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0014
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0014
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad sample rate and number of channels
+//!				Uses API elements: NewL(), SetAudioPropertiesL().
+//! @SYMTestActions    		1. Create CMdaAudioOutputStream object. 2. Set bad sample rate and number of channels.
+//!				            3. open CMdaAudioOutputStream, catch error code from open callback  4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND			mdaaudiooutputstream1	NewL
+		COMMAND	!Error=0	mdaaudiooutputstream1	SetAudioPropertiesL		MM-MMF-ACLNT-OUTPT-PublicAPI-0014-001-SetAudioPropertiesL_command02
+        COMMAND		    !AsyncError=-5 mdaaudiooutputstream1	Open
+		ASYNC_DELAY		500000
+		COMMAND			mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0014
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0015
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0015
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting balance value above maximum
+//!				Uses API elements: NewL(), SetBalanceL().
+//! @SYMTestActions    		1. Create CMdaAudioOutputStream object. 2. Set balance value above maximum.
+//!				3. Get balance value. 4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Balance is set to maximum value
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL
+		COMMAND		mdaaudiooutputstream1	SetBalanceL		MM-MMF-ACLNT-OUTPT-PublicAPI-0015-001-SetBalanceL_command02
+		COMMAND		mdaaudiooutputstream1	GetBalanceL		MM-MMF-ACLNT-OUTPT-PublicAPI-0015-001-GetBalanceL_command03
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0015
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0016
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0016
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting balance value below minimum
+//!				Uses API elements: NewL(), SetBalanceL().
+//! @SYMTestActions    		1. Create CMdaAudioOutputStream object. 2. Set balance value below minimum.
+//!				3. Get balance value. 4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Balance is set to minimum value
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL
+		COMMAND		mdaaudiooutputstream1	SetBalanceL		MM-MMF-ACLNT-OUTPT-PublicAPI-0016-001-SetBalanceL_command02
+		COMMAND		mdaaudiooutputstream1	GetBalanceL		MM-MMF-ACLNT-OUTPT-PublicAPI-0016-001-GetBalanceL_command03
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0016
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0017
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0017
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting priority level while the stream object is open
+//!				Uses API elements: NewL(), Open(), SetPriority().
+//! @SYMTestActions    		1. Create CMdaAudioOutputStream object. 2. Open output audio stream package.
+//!				3. Set new priority level. 4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL
+		COMMAND		mdaaudiooutputstream1	Open
+		OUTSTANDING
+		COMMAND		mdaaudiooutputstream1	SetPriority		MM-MMF-ACLNT-OUTPT-PublicAPI-0017-001-SetPriority_command03
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0017
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0018
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0018
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad data type value
+//!				Uses API elements: NewL(), SetDataTypeL().
+//! @SYMTestActions    		1. Create CMdaAudioOutputStream object. 2. Set bad data type value. 3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND			mdaaudiooutputstream1	NewL
+		COMMAND			mdaaudiooutputstream1	DataType
+		COMMAND	!Error=-5	mdaaudiooutputstream1	SetDataTypeL		MM-MMF-ACLNT-OUTPT-PublicAPI-0018-001-SetDataTypeL_command03
+		COMMAND			mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0018
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0019
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0019
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Write streaming audio data then stop it before completion
+//!				Uses API elements: NewL(), Open(), WriteL(), Stop().
+//! @SYMTestActions    		1. Create CMdaAudioOutputStream object. 2. Open output audio stream package. 3. Start timer.
+//!				4. Play streaming audio data from file. 5. Start timer. 6. Stop recording process.
+//!				7. Continue timer. 8. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults  	Streaming audio data is written then stopped with KErrAbort
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND			mdaaudiooutputstream1	NewL
+		COMMAND			mdaaudiooutputstream1	Open
+		OUTSTANDING
+		COMMAND	!AsyncError=-3	mdaaudiooutputstream1	WriteL		MM-MMF-ACLNT-OUTPT-PublicAPI-0019-001-WriteL_command04
+		ASYNC_DELAY		500000
+		COMMAND			mdaaudiooutputstream1	Stop
+		OUTSTANDING
+		COMMAND			mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0019
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0020
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0020
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Write streaming audio data and call Position/CustomInterface functions
+//!				Uses API elements: NewL(), Open(), WriteL(), Position(), CustomInterface().
+//! @SYMTestActions    		1. Create CMdaAudioOutputStream object. 2. Open output audio stream package. 3. Start timer.
+//!				4. Play streaming audio data from file. 5. Get stream position. 6. Get stream position.
+//!				7. Get stream position. 8. Retrieve custom interface to underlying device. 9. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Streaming audio data is written with no errors and all get/set functions work correctly
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL
+		COMMAND		mdaaudiooutputstream1	Open
+		OUTSTANDING
+		COMMAND		mdaaudiooutputstream1	WriteL		MM-MMF-ACLNT-OUTPT-PublicAPI-0020-001-WriteL_command04
+		ASYNC_DELAY	500000
+		COMMAND		mdaaudiooutputstream1	Position
+		COMMAND		mdaaudiooutputstream1	Position
+		COMMAND		mdaaudiooutputstream1	Position
+		COMMAND		mdaaudiooutputstream1	CustomInterface
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0020
+
+START_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0021
+//! @SYMTestCaseID		MM-MMF-ACLNT-OUTPT-PublicAPI-0021
+//! @SYMAPI			CMdaAudioOutputStream
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		18/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Write streaming audio data then stop it before completion and continue
+//!				Uses API elements: NewL(), Open(), WriteL(), Stop(), WillResumePlay().
+//! @SYMTestActions    		1. Create CMdaAudioOutputStream object. 2. Open output audio stream package. 3. Start timer.
+//!				4. Play streaming audio data from file. 5. Start timer. 6. Stop recording process.
+//!				7. Continue timer. 8. Wait for client to resume the play. 9. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Streaming audio data is written with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioOutputStream	\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioOutputStream	mdaaudiooutputstream1
+		COMMAND		mdaaudiooutputstream1	NewL
+		COMMAND		mdaaudiooutputstream1	Open
+		OUTSTANDING
+		COMMAND		mdaaudiooutputstream1	WriteL		MM-MMF-ACLNT-OUTPT-PublicAPI-0021-001-WriteL_command04
+		ASYNC_DELAY	500000
+		COMMAND		mdaaudiooutputstream1	WillResumePlay
+		ASYNC_DELAY	100000
+		COMMAND		mdaaudiooutputstream1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-OUTPT-PublicAPI-0021
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/scripts/setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,31 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\t_mdaaudiooutputstream\
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.script			${SYSDRIVE}\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.script
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.script
+
+RUN_UTILS CopyFile	z:\multimedia\t_multimedia.tcs				${SYSDRIVE}\multimedia\t_multimedia.tcs
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia.tcs
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini				${SYSDRIVE}\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini
+
+RUN_UTILS CopyFile	z:\multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw	${SYSDRIVE}\multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/src/T_MMDataMdaAudioOutputStream.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,765 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataMdaAudioOutputStream.h"
+#include "T_MMUtil.h"
+
+/*@{*/
+_LIT(KAudioCapsP1,									"audioCapsP1");
+_LIT(KAudioCapsP2,									"audioCapsP2");
+_LIT(KBufferSize,									"buffersize");
+_LIT(KInputFile,									"inputfile");
+_LIT(KBalance,										"balance");
+_LIT(KBytes,										"bytes");
+_LIT(KVolume,										"volume");
+
+_LIT(KCmdDestructor,								"~");
+_LIT(KCmdCancelRegisterAudioResourceNotification,	"CancelRegisterAudioResourceNotification");
+_LIT(KCmdCustomInterface,							"CustomInterface");
+_LIT(KCmdDataType,									"DataType");
+_LIT(KCmdGetBalanceL,								"GetBalanceL");
+_LIT(KCmdGetBytes,									"GetBytes");
+_LIT(KCmdMaxVolume,									"MaxVolume");
+_LIT(KCmdNewL,										"NewL");
+_LIT(KCmdOpen,										"Open");
+_LIT(KCmdPosition,									"Position");
+_LIT(KCmdRegisterAudioResourceNotification,			"RegisterAudioResourceNotification");
+_LIT(KCmdSetAudioPropertiesL,						"SetAudioPropertiesL");
+_LIT(KCmdSetBalanceL,								"SetBalanceL");
+_LIT(KCmdSetDataTypeL,								"SetDataTypeL");
+_LIT(KCmdSetPriority,								"SetPriority");
+_LIT(KCmdSetVolume,									"SetVolume");
+_LIT(KCmdStop,										"Stop");
+_LIT(KCmdVolume,									"Volume");
+_LIT(KCmdWillResumePlay,							"WillResumePlay");
+_LIT(KCmdWriteL,									"WriteL");
+/*@}*/
+
+const TInt	KMdaAudioOutputStreamBufferSize=1024;
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+CT_MMDataMdaAudioOutputStream* CT_MMDataMdaAudioOutputStream::NewL()
+/**
+ * Two phase constructor
+ *
+ * @leave	system wide error
+ */
+	{
+	CT_MMDataMdaAudioOutputStream*	ret=new (ELeave) CT_MMDataMdaAudioOutputStream();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+CT_MMDataMdaAudioOutputStream::CT_MMDataMdaAudioOutputStream()
+/**
+ * Protected constructor. First phase construction
+ */
+:	iOutputStream(NULL)
+,	iBuffer(NULL)
+,	iBufferPtr(NULL)
+,	iBufferSize(KMdaAudioOutputStreamBufferSize)
+,	iStreamOpened(EFalse)
+,	iFileOpened(EFalse)
+,	iIsAllDataWritten(EFalse)
+,	iAsyncErrorIndex(0)
+	{
+	}
+
+void CT_MMDataMdaAudioOutputStream::ConstructL()
+/**
+ * Second phase construction
+ *
+ * @internalComponent
+ *
+ * @return	N/A
+ *
+ * @pre		None
+ * @post	None
+ *
+ * @leave	system wide error
+ */
+	{
+	User::LeaveIfError(iFs.Connect());
+	}
+
+CT_MMDataMdaAudioOutputStream::~CT_MMDataMdaAudioOutputStream()
+/**
+ * Public destructor
+ */
+	{
+	DestroyData();
+	}
+
+TAny* CT_MMDataMdaAudioOutputStream::GetObject()
+/**
+ * Return a pointer to the object that the data wraps
+ *
+ * @return	pointer to the object that the data wraps
+ */
+	{
+	return iOutputStream;
+	}
+
+void CT_MMDataMdaAudioOutputStream::DestroyData()
+	{
+	if ( iFileOpened )
+		{
+		iFile.Close();
+		iFileOpened=EFalse;
+		}
+	iFs.Close();
+	delete iBufferPtr;
+	iBufferPtr=NULL;
+	delete iBuffer;
+	iBuffer=NULL;
+	delete iOutputStream;
+	iOutputStream=NULL;
+	iAsyncErrorIndex = 0;
+	}
+
+TBool CT_MMDataMdaAudioOutputStream::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+/**
+ * Process a command read from the ini file
+ *
+ * @param aCommand			The command to process
+ * @param aSection			The section in the ini containing data for the command
+ * @param aAsyncErrorIndex	Command index for async calls to return errors to
+ *
+ * @return					ETrue if the command is processed
+ *
+ * @leave					System wide error
+ */
+	{
+	TBool	ret=ETrue;
+
+	if ( aCommand==KCmdDestructor )
+		{
+		DoCmdDestructor();
+		}
+	else if ( aCommand==KCmdCancelRegisterAudioResourceNotification )
+		{
+		DoCmdCancelRegisterAudioResourceNotification();
+		}
+	else if ( aCommand==KCmdCustomInterface )
+		{
+		DoCmdCustomInterface();
+		}
+	else if ( aCommand==KCmdSetBalanceL )
+		{
+		DoCmdSetBalanceL(aSection);
+		}
+	else if ( aCommand==KCmdGetBalanceL )
+		{
+		DoCmdGetBalanceL(aSection);
+		}
+	else if ( aCommand==KCmdGetBytes )
+		{
+		DoCmdGetBytes(aSection);
+		}
+	else if ( aCommand==KCmdNewL )
+		{
+		DoCmdNewL(aSection);
+		}
+	else if ( aCommand==KCmdOpen )
+		{
+		DoCmdOpen(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdPosition )
+		{
+		DoCmdPosition();
+		}
+	else if ( aCommand==KCmdRegisterAudioResourceNotification )
+		{
+		DoCmdRegisterAudioResourceNotification();
+		}
+	else if ( aCommand==KCmdSetAudioPropertiesL )
+		{
+		DoCmdSetAudioPropertiesL(aSection);
+		}
+	else if ( aCommand==KCmdSetDataTypeL )
+		{
+		DoCmdSetDataTypeL(aSection);
+		}
+	else if ( aCommand==KCmdDataType )
+		{
+		DoCmdDataTypeL(aSection);
+		}
+	else if ( aCommand==KCmdSetPriority )
+		{
+		DoCmdSetPriority(aSection);
+		}
+	else if ( aCommand==KCmdSetVolume )
+		{
+		DoCmdSetVolume(aSection);
+		}
+	else if ( aCommand==KCmdMaxVolume )
+		{
+		DoCmdMaxVolume();
+		}
+	else if ( aCommand==KCmdVolume )
+		{
+		DoCmdVolume(aSection);
+		}
+	else if ( aCommand==KCmdStop )
+		{
+		DoCmdStop();
+		}
+	else if ( aCommand==KCmdWillResumePlay )
+		{
+		DoCmdWillResumePlay();
+		}
+	else if ( aCommand==KCmdWriteL )
+		{
+		DoCmdWriteL(aSection, aAsyncErrorIndex);
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdDestructor()
+	{
+	DestroyData();
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdCancelRegisterAudioResourceNotification()
+	{
+	TInt	err=iOutputStream->CancelRegisterAudioResourceNotification(KMMFEventCategoryAudioResourceAvailable);
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CancelRegisterAudioResourceNotification Error %d"), err);
+		SetError(err);
+		}
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdCustomInterface()
+	{
+	TAny*	any=iOutputStream->CustomInterface(KNullUid);
+	if ( any!=NULL )
+		{
+		ERR_PRINTF2(_L("Non-NULL return value %0x"), any);
+		SetBlockResult(EFail);
+		}
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdSetBalanceL(const TDesC& aSection)
+	{
+
+	TInt	balance=KMMFBalanceCenter;
+	GetIntFromConfig(aSection, KBalance(), balance);
+	TRAPD(err, iOutputStream->SetBalanceL(balance));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetBalanceL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdGetBalanceL(const TDesC& aSection)
+	{
+
+	TInt	actualBalance = 0;
+
+	TRAPD(err, actualBalance = iOutputStream->GetBalanceL() );
+	if( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GetBalanceL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		TInt expectedBalance = 0;
+		if(GetIntFromConfig(aSection, KBalance(), expectedBalance))
+			{
+			INFO_PRINTF3(_L("actualBalance=%d expectedBalance=%d"), actualBalance, expectedBalance);
+			if(actualBalance != expectedBalance)
+				{
+				ERR_PRINTF1(_L("Balance does not meet expected value!"));
+				SetBlockResult(EFail);
+				}
+			}
+		else
+			{
+			INFO_PRINTF2(_L("GetBalanceL=%d"), actualBalance);
+			}
+		}
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdGetBytes(const TDesC& aSection)
+	{
+
+	TInt	actualBytes = iOutputStream->GetBytes();
+	TInt	expectedBytes = 0;
+	if(GetIntFromConfig(aSection, KBytes(), expectedBytes))
+		{
+		INFO_PRINTF3(_L("actualBytes=%d expectedBytes=%d"), actualBytes, expectedBytes);
+		if(actualBytes != expectedBytes)
+			{
+			ERR_PRINTF1(_L("Bytes does not meet expected value!"));
+			SetBlockResult(EFail);
+			}
+		}
+	else
+		{
+		INFO_PRINTF2(_L("GetBytes=%d"), actualBytes);
+		}
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdNewL(const TDesC& aSection)
+	{
+	delete iOutputStream;
+	iOutputStream=NULL;
+
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	TInt	priority;
+	if ( CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		TRAPD(err, iOutputStream=CMdaAudioOutputStream::NewL(*this, priority, priorityPreference));
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("NewL(this, priority, priorityPreference) Error %d"), err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		TRAPD(err, iOutputStream=CMdaAudioOutputStream::NewL(*this));
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("NewL(this) Error %d"), err);
+			SetError(err);
+			}
+		}
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdOpen(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+	//	Open the stream
+	TMdaAudioDataSettings	settings;
+	iAsyncErrorIndex = aAsyncErrorIndex;
+	if ( CT_MMUtil::ReadAudioDataSettings(*this, settings, aSection) )
+		{
+		iOutputStream->Open(&settings);
+		}
+	else
+		{
+		iOutputStream->Open(NULL);
+		}
+	IncOutstanding();
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdPosition()
+	{
+	const TTimeIntervalMicroSeconds&	position=iOutputStream->Position();
+	INFO_PRINTF2(_L("Position=%d"), position.Int64());
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdRegisterAudioResourceNotification()
+	{
+	TInt	err=iOutputStream->RegisterAudioResourceNotification(*this, KMMFEventCategoryAudioResourceAvailable);
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("RegisterAudioResourceNotification Error %d"), err);
+		SetError(err);
+		}
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdSetAudioPropertiesL(const TDesC& aSection)
+	{
+	TPtrC	paramStr;
+
+	TMdaAudioDataSettings::TAudioCaps sampleRate = TMdaAudioDataSettings::ESampleRate8000Hz;
+	TBool unknownSampleRate = EFalse;
+	if( GetStringFromConfig(aSection, KAudioCapsP1(), paramStr))
+		{
+		if( !CT_MMUtil::ConvertToAudioCaps(paramStr, sampleRate) )
+			{
+			TInt otherSampleRate = 0;
+			if ( GetIntFromConfig(aSection, KAudioCapsP1(), otherSampleRate) )
+				{
+				sampleRate = (TMdaAudioDataSettings::TAudioCaps) otherSampleRate;
+				unknownSampleRate = ETrue;
+				}
+			else
+				{
+				ERR_PRINTF2(_L("SetAudioPropertiesL cannot parse %S"), &KAudioCapsP1());
+				SetBlockResult(EFail);
+				}
+			}
+		}
+
+	TMdaAudioDataSettings::TAudioCaps channels = TMdaAudioDataSettings::EChannelsMono;
+	TBool unknownChannels = EFalse;
+	if( GetStringFromConfig(aSection, KAudioCapsP2(), paramStr))
+		{
+		if( !CT_MMUtil::ConvertToAudioCaps(paramStr, channels) )
+			{
+			TInt otherChannels = 0;
+			if ( GetIntFromConfig(aSection, KAudioCapsP2(), otherChannels) )
+				{
+				channels = (TMdaAudioDataSettings::TAudioCaps) otherChannels;
+				unknownChannels = ETrue;
+				}
+			else
+				{
+				ERR_PRINTF2(_L("SetAudioPropertiesL cannot parse %S"), &KAudioCapsP2());
+				SetBlockResult(EFail);
+				}
+			}
+		}
+
+	TRAPD(err, iOutputStream->SetAudioPropertiesL((TInt)sampleRate, (TInt)channels));
+	if (( err==KErrNotSupported ) && ( !unknownSampleRate ) && ( !unknownChannels ))
+		{
+		WARN_PRINTF1(_L("SetAudioPropertiesL not supported"));
+		}
+	else if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetAudioPropertiesL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdSetDataTypeL(const TDesC& aSection)
+	{
+	TFourCC	val;
+	if ( CT_MMUtil::ReadFourCC(*this, aSection, val) )
+		{
+		TRAPD(err, iOutputStream->SetDataTypeL(val));
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("SetDataTypeL Error %d"), err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("No data type"));
+		SetBlockResult(EFail);
+		}
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdDataTypeL(const TDesC& aSection)
+	{
+	TFourCC	actualFourCC=iOutputStream->DataType();
+	INFO_PRINTF2(_L("DataType=%d"), actualFourCC.FourCC());
+
+	TFourCC	expectedVal;
+	if ( CT_MMUtil::ReadFourCC(*this, aSection, expectedVal) )
+		{
+		if ( expectedVal!=actualFourCC )
+			{
+			ERR_PRINTF3(_L("dataType(%d) != expectedDataType(%d)"), actualFourCC.FourCC(), expectedVal.FourCC());
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdSetPriority(const TDesC& aSection)
+	{
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	TInt	priority;
+	if ( !CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		priority=EMdaPriorityMin;
+		}
+	iOutputStream->SetPriority(priority, priorityPreference);
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdSetVolume(const TDesC& aSection)
+	{
+
+	TInt	volume=0;
+	GetIntFromConfig(aSection, KVolume(), volume);
+	INFO_PRINTF2(_L("SetVolume(%d)"), volume);
+	iOutputStream->SetVolume(volume);
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdMaxVolume()
+	{
+	TInt	maxVolume=iOutputStream->MaxVolume();
+	INFO_PRINTF2(_L("MaxVolume=%d"), maxVolume);
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdVolume(const TDesC& aSection)
+	{
+	TInt	actualVolume=iOutputStream->Volume();
+	INFO_PRINTF2(_L("Volume=%d"), actualVolume);
+
+	TInt	expectedVolume=0;
+	if(GetIntFromConfig(aSection, KVolume(), expectedVolume))
+		{
+		TInt	maxVol=iOutputStream->MaxVolume();
+		if ( expectedVolume>maxVol )
+			{
+			expectedVolume=maxVol;
+			}
+		if(actualVolume != expectedVolume)
+			{
+			SetBlockResult(EFail);
+			ERR_PRINTF3(_L("actualVolume(%d) != expectedVolume(%d)"), actualVolume, expectedVolume);
+			}
+		}
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdStop()
+	{
+	iOutputStream->Stop();
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdWillResumePlay()
+	{
+	TInt	err=iOutputStream->WillResumePlay();
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("WillResumePlay Error %d"), err);
+		SetError(err);
+		}
+	}
+
+
+void CT_MMDataMdaAudioOutputStream::DoCmdWriteL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+	GetIntFromConfig(aSection, KBufferSize(), iBufferSize);
+	delete iBuffer;
+	iBuffer=NULL;
+	iBuffer=HBufC8::NewL(iBufferSize);
+	iAsyncErrorIndex = aAsyncErrorIndex;
+
+	TPtrC	inputFile;
+	if ( GetStringFromConfig(aSection, KInputFile(), inputFile) )
+		{
+		TInt	err=iFile.Open(iFs, inputFile, EFileRead);
+		if ( err==KErrNone )
+			{
+			INFO_PRINTF1(_L("File opened"));
+			iFileOpened=ETrue;
+			if ( WriteStreamAudioDataL() )
+				{
+				IncOutstanding();
+				}
+			}
+		else
+			{
+			ERR_PRINTF3(_L("Cannot open inputfile %S. Error %d"), &inputFile, err);
+			SetBlockResult(EFail);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("No %S"), &KInputFile());
+		SetBlockResult(EFail);
+		}
+	}
+
+
+/**
+aAsyncErrorIndex call back in response to a call to CMdaAudioOutputStream::Open
+@internalComponent
+@return void
+@param aError KErrNone if successfull - otherwise a standard Symbian platform error code
+@pre N/A
+@post On success audio output stream has been opened ok
+*/
+void CT_MMDataMdaAudioOutputStream::MaoscOpenComplete(TInt aError)
+	{
+	if ( aError==KErrNone )
+		{
+		iStreamOpened=ETrue;
+		INFO_PRINTF1(_L("Open OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Open Error %d"), aError);
+		SetAsyncError(iAsyncErrorIndex, aError);
+		iStreamOpened=EFalse;
+		}
+	DecOutstanding();
+	}
+
+
+/**
+aAsyncErrorIndex call back in response to a call to CMdaAudioOutputStream::Stop
+@internalComponent
+@return void
+@param aError KErrNone if successfull - otherwise a standard Symbian platform error code
+@pre N/A
+@post On success audio output stream has been played ok
+*/
+void CT_MMDataMdaAudioOutputStream::MaoscPlayComplete(TInt aError)
+	{
+	if ( (iIsAllDataWritten) && (aError==KErrUnderflow) )
+		{
+		aError = KErrNone;
+		}
+	if ( aError==KErrNone )
+		{
+		INFO_PRINTF1(_L("Play OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Play Error %d"), aError);
+		SetAsyncError(iAsyncErrorIndex, aError);
+		}
+	if ( iFileOpened )
+		{
+		iFile.Close();
+		iFileOpened=EFalse;
+		}
+	DecOutstanding();
+	}
+
+
+/**
+aAsyncErrorIndex call back in response to a call to CMdaAudioOutputStream::WriteL
+@internalComponent
+@return void
+@param aError KErrNone if successfull - otherwise a standard Symbian platform error code
+@pre N/A
+@post On success audio output stream has been opened ok
+*/
+void CT_MMDataMdaAudioOutputStream::MaoscBufferCopied(TInt aError, const TDesC8& /*aBuffer*/)
+	{
+	TBool	moreToDo=EFalse;
+	if ( aError==KErrNone )
+		{
+		INFO_PRINTF1(_L("Copied OK"));
+		TRAPD(err, moreToDo=WriteStreamAudioDataL());
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("WriteStreamAudioDataL Error %d"), err);
+			SetAsyncError(iAsyncErrorIndex, err);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Buffer Copied Error %d"), aError);
+		SetAsyncError(iAsyncErrorIndex, aError);
+		}
+
+	if ( !moreToDo )
+		{
+		if ( iFileOpened )
+			{
+			iFile.Close();
+			iFileOpened=EFalse;
+			}
+		DecOutstanding();
+		}
+	}
+
+
+/**
+MMMFAudioResourceNotificationCallback call back Called when the audio resource
+becomes available but only if the resource was previously unavailable (e.g. if
+the audio resource is available when the client registers, then this callback
+is not received).
+@internalComponent
+@return void
+TUid aNotificationEventId, const TDesC8& aNotificationData
+@param aNotificationEventId The UID of the event that is being handled.
+@param aNotificationData The point from where the audio can be resumed.
+@pre N/A
+@post N/A
+*/
+void CT_MMDataMdaAudioOutputStream::MarncResourceAvailable(TUid aNotificationEventId, const TDesC8& aNotificationData)
+	{
+	if ( aNotificationEventId==KMMFEventCategoryAudioResourceAvailable )
+		{
+		//	Convert TDesc8 to TInt64
+		TMMFTimeIntervalMicroSecondsPckg	timeIntvbuf;
+		timeIntvbuf.Copy(aNotificationData);
+		TTimeIntervalMicroSeconds			intPos = timeIntvbuf();
+		INFO_PRINTF2(_L("Interval %d"), intPos.Int64());
+		}
+	else
+		{
+		INFO_PRINTF1(_L("MMMFAudioResourceNotificationCallback, but NOT KMMFEventCategoryAudioResourceAvailable"));
+		}
+	}
+
+
+/**
+Utility helper function WriteStreamAudioDataL - writes audio data to a stream
+@return void
+@param None
+@pre N/A
+@post contents of iBuffer written to output stream
+*/
+TBool CT_MMDataMdaAudioOutputStream::WriteStreamAudioDataL()
+	{
+	TBool	ret=EFalse;
+	delete iBufferPtr;
+	iBufferPtr=new (ELeave) TPtr8(iBuffer->Des());
+	TInt	err=iFile.Read(*iBufferPtr, iBufferSize);
+	if ( err==KErrNone )
+		{
+		if ( iBufferPtr->Length() > 0 )
+			{
+			ret=ETrue;
+			iOutputStream->WriteL(*iBufferPtr);
+			}
+		else
+			{
+			iIsAllDataWritten=ETrue;
+			}
+		}
+	else
+		{
+		INFO_PRINTF2(_L("File read error %d"), err);
+		iIsAllDataWritten=ETrue;
+		}
+	return ret;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/src/T_MdaAudioOutputStreamServer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MdaAudioOutputStreamServer.h"
+ 
+
+CT_MdaAudioOutputStreamServer* CT_MdaAudioOutputStreamServer::NewL()
+/**
+ * @return - Instance of the test server
+ * Same code for Secure and non-secure variants
+ * Called inside the MainL() function to create and start the
+ * CTestServer derived server.
+ */
+	{
+    CT_MdaAudioOutputStreamServer* server = new (ELeave) CT_MdaAudioOutputStreamServer();
+    CleanupStack::PushL(server);
+    server->ConstructL();
+    CleanupStack::Pop(server);
+    return server;
+    }
+
+
+LOCAL_C void MainL()
+/**
+ * Secure variant
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+	{
+#if (defined __DATA_CAGING__)
+    RProcess().DataCaging(RProcess::EDataCagingOn);
+    RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+    CActiveScheduler*	sched=NULL;
+    sched=new(ELeave) CActiveScheduler;
+    CActiveScheduler::Install(sched);
+    CT_MdaAudioOutputStreamServer* server = NULL;
+    
+    // Create the CTestServer derived server
+    TRAPD(err,server = CT_MdaAudioOutputStreamServer::NewL());
+    if(!err)
+	    {
+        // Sync with the client and enter the active scheduler
+        RProcess::Rendezvous(KErrNone);
+        sched->Start();
+        }
+
+    delete server;
+    delete sched;
+    }
+
+
+GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on process exit
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ */
+	{
+    __UHEAP_MARK;
+    CTrapCleanup* cleanup = CTrapCleanup::New();
+    if(cleanup == NULL)
+	    {
+        return KErrNoMemory;
+        }
+
+#if (defined TRAP_IGNORE)
+	TRAP_IGNORE(MainL());
+#else
+    TRAPD(err,MainL());
+#endif
+
+    delete cleanup;
+    __UHEAP_MARKEND;
+    return KErrNone;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioOutputStream/testdata/MM-MMF-ACLNT-OUTPT-PublicAPI.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,409 @@
+[include]
+file1=\multimedia\t_multimedia.ini
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command03]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRateFixed
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command04]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRateFixed
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command05]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRateAnyInRange
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command06]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRateAnyInRange
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command07]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate8000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command08]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate8000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command09]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate11025Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command10]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate11025Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command11]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate12000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command12]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate12000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command13]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate16000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command14]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate16000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command15]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate22050Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command16]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate22050Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command17]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate24000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command18]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate24000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command19]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate32000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command20]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate32000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command21]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate44100Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command22]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate44100Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command23]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate48000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command24]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate48000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command25]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate96000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command26]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate96000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command27]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate64000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0001-001-SetAudioPropertiesL_command28]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate64000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0002-001-NewL_command01]
+priority=EMdaPriorityMax
+prioritypreference=Quality
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0003-001-NewL_command01]
+priority=EMdaPriorityMax
+prioritypreference=Quality
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0003-001-SetBalanceL_command02]
+balance=-80;
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0003-001-GetBalanceL_command03]
+balance=-80;
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0003-001-SetBalanceL_command04]
+balance=52
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0003-001-GetBalanceL_command05]
+balance=52
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0004-001-SetVolume_command03]
+volume=1
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0004-001-SetVolume_command05]
+volume=16000
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0004-001-Volume_command06]
+volume=16000
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0005-001-SetPriority_command02]
+priority=EMdaPriorityMin
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0005-001-SetPriority_command03]
+priority=EMdaPriorityMax
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-NewL_command01]
+priority=EMdaPriorityMax
+prioritypreference=Quality
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command03]
+fourcc=KMMFFourCCCodePCM8
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command04]
+fourcc=KMMFFourCCCodePCM8
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command05]
+fourcc=KMMFFourCCCodePCMU8
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command06]
+fourcc=KMMFFourCCCodePCMU8
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command07]
+fourcc={default_mmf, fourcc_outputdatatype}
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command08]
+fourcc={default_mmf, fourcc_outputdatatype}
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command09]
+fourcc=KMMFFourCCCodePCMU16
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command10]
+fourcc=KMMFFourCCCodePCMU16
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command11]
+fourcc=KMMFFourCCCodePCM16B
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command12]
+fourcc=KMMFFourCCCodePCM16B
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command13]
+fourcc=KMMFFourCCCodeALAW
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command14]
+fourcc=KMMFFourCCCodeALAW
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command15]
+fourcc=KMMFFourCCCodeMuLAW
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command16]
+fourcc=KMMFFourCCCodeMuLAW
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command17]
+fourcc=KMMFFourCCCodeGSM610
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command18]
+fourcc=KMMFFourCCCodeGSM610
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command19]
+fourcc=KMMFFourCCCodePCMU16B
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command20]
+fourcc=KMMFFourCCCodePCMU16B
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-SetDataTypeL_command21]
+fourcc=KMMFFourCCCodeIMAD
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-001-DataType_command22]
+fourcc=KMMFFourCCCodeIMAD
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-NewL_command01]
+priority=EMdaPriorityMax
+prioritypreference=Quality
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command03]
+fourcc=KMMFFourCCCodeIMAS
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command04]
+fourcc=KMMFFourCCCodeNULL
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command05]
+fourcc=KMMFFourCCCodeAMR
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command06]
+fourcc=KMMFFourCCCodeAMRW
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command07]
+fourcc=KMMFFourCCCodeAAC
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command08]
+fourcc=KMMFFourCCCodeAWB
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command09]
+fourcc=KMMFFourCCCodeMP3
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command10]
+fourcc=KMMFFourCCCodeATRAC3
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command11]
+fourcc=KMMFFourCCCodeSBC
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0006-002-SetDataTypeL_command12]
+fourcc=KMMFFourCCCodeADTS
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0007-001-SetAudioPropertiesL_command03]
+audioCapsP2=ChannelsStereo
+audioCapsP1=SampleRate11025Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0007-001-WriteL_command05]
+inputfile=\multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0008-001-WriteL_command04]
+inputfile=\multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0008-001-SetAudioPropertiesL_command05]
+audioCapsP2=ChannelsMono
+audioCapsP1=SampleRate8000Hz
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0009-001-WriteL_command04]
+inputfile=\multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0009-001-SetVolume_command05]
+volume=50
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0009-001-Volume_command06]
+volume=50
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0010-001-WriteL_command04]
+inputfile=\multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0010-001-SetBalanceL_command05]
+balance=50
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0010-001-GetBalanceL_command06]
+balance=50
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0011-001-WriteL_command04]
+inputfile=\multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0012-001-SetAudioPropertiesL_command02]
+audioCapsP2=ChannelsMono
+audioCapsP1=3
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0013-001-SetAudioPropertiesL_command02]
+audioCapsP2=3
+audioCapsP1=SampleRateFixed
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0014-001-SetAudioPropertiesL_command02]
+audioCapsP2=3
+audioCapsP1=3
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0015-001-SetBalanceL_command02]
+balance=1000
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0015-001-GetBalanceL_command03]
+balance=100
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0016-001-SetBalanceL_command02]
+balance=-1000
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0016-001-GetBalanceL_command03]
+balance=-100
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0017-001-SetPriority_command03]
+priority=EMdaPriorityMax
+prioritypreference=Time
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0018-001-SetDataTypeL_command03]
+fourcc=3
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0019-001-WriteL_command04]
+inputfile=\multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0020-001-WriteL_command04]
+inputfile=\multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw
+
+
+[MM-MMF-ACLNT-OUTPT-PublicAPI-0021-001-WriteL_command04]
+inputfile=\multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw
+
+
+[mdaaudiooutputstream1]
+name=mdaaudiooutputstream1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/group/T_MdaAudioPlayerUtility.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+TARGET			t_mdaaudioplayerutility.exe
+TARGETTYPE		exe
+UID				0x1000007A 0x20000F77
+VENDORID		0x70000001
+
+CAPABILITY		UserEnvironment MultimediaDD
+
+SOURCEPATH		../src
+
+SOURCE			../../../common/src/T_MMUtil.cpp
+SOURCE			../../../common/src/DataWrapperBase.cpp
+
+SOURCE			T_MdaAudioPlayerUtilityServer.cpp
+SOURCE			T_MMDataMdaAudioPlayerUtility.cpp
+
+USERINCLUDE		../inc
+USERINCLUDE		../../../common/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE	/epoc32/include/test
+SYSTEMINCLUDE	/epoc32/include/mda/common
+SYSTEMINCLUDE	/epoc32/include/mmf/common
+
+LIBRARY			euser.lib
+LIBRARY			efsrv.lib
+LIBRARY			testexecuteutils.lib
+LIBRARY			testexecutelogclient.lib
+LIBRARY			bafl.lib
+LIBRARY			mmcommon.lib
+LIBRARY			mediaclient.lib
+LIBRARY			mediaclientaudio.lib
+LIBRARY			mmfcontrollerframework.lib
+LIBRARY			imageconversion.lib
+LIBRARY			iniparser.lib
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,47 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTEXPORTS
+t_mdaaudioplayerutility.iby							/epoc32/rom/include/t_mdaaudioplayerutility.iby
+t_mdaaudioplayerutility_binaries.iby				/epoc32/rom/include/t_mdaaudioplayerutility_binaries.iby
+t_mdaaudioplayerutility_testdata.iby				/epoc32/rom/include/t_mdaaudioplayerutility_testdata.iby
+
+../pkg/T_MdaAudioPlayerUtility.pkg					/epoc32/pkg/t_mdaaudioplayerutility.pkg
+../pkg/tmdaaudioplayerutility.bat					/epoc32/pkg/tmdaaudioplayerutility.bat
+../scripts/MM-MMF-ACLNT-PLYR-PublicAPI.script		/epoc32/pkg/mm-mmf-aclnt-plyr-publicapi.script
+
+../testdata/MM-MMF-ACLNT-PLYR-PublicAPI.ini			/epoc32/pkg/mm-mmf-aclnt-plyr-publicapi.ini
+../../../../testdata/mmf/T_MdaAudioPlayerUtility/test.wav								/epoc32/pkg/t_mdaaudioplayerutility/test.wav
+../../../../testdata/mmf/T_MdaAudioPlayerUtility/test.bad								/epoc32/pkg/t_mdaaudioplayerutility/test.bad
+../../../../testdata/mmf/T_MdaAudioPlayerUtility/test_err.wav							/epoc32/pkg/t_mdaaudioplayerutility/test_err.wav
+../../../../testdata/mmf/T_MdaAudioPlayerUtility/empty.wav								/epoc32/pkg/t_mdaaudioplayerutility/empty.wav
+../../../../testdata/mmf/T_MdaAudioPlayerUtility/answeringmachine.wav					/epoc32/pkg/t_mdaaudioplayerutility/answeringmachine.wav
+../../../../testdata/mmf/T_MdaAudioPlayerUtility/explode.au								/epoc32/pkg/t_mdaaudioplayerutility/explode.au
+
+../scripts/setup-MM-MMF-ACLNT-PLYR-PublicAPI.script	z:/multimedia/setup-mm-mmf-aclnt-plyr-publicapi.script
+../scripts/MM-MMF-ACLNT-PLYR-PublicAPI.script		z:/multimedia/mm-mmf-aclnt-plyr-publicapi.script
+
+../testdata/MM-MMF-ACLNT-PLYR-PublicAPI.ini			z:/multimedia/mm-mmf-aclnt-plyr-publicapi.ini
+../../../../testdata/mmf/T_MdaAudioPlayerUtility/test.wav								z:/multimedia/t_mdaaudioplayerutility/test.wav
+../../../../testdata/mmf/T_MdaAudioPlayerUtility/test.bad								z:/multimedia/t_mdaaudioplayerutility/test.bad
+../../../../testdata/mmf/T_MdaAudioPlayerUtility/test_err.wav							z:/multimedia/t_mdaaudioplayerutility/test_err.wav
+../../../../testdata/mmf/T_MdaAudioPlayerUtility/empty.wav								z:/multimedia/t_mdaaudioplayerutility/empty.wav
+../../../../testdata/mmf/T_MdaAudioPlayerUtility/answeringmachine.wav					z:/multimedia/t_mdaaudioplayerutility/answeringmachine.wav
+../../../../testdata/mmf/T_MdaAudioPlayerUtility/explode.au								z:/multimedia/t_mdaaudioplayerutility/explode.au
+
+PRJ_TESTMMPFILES
+T_MdaAudioPlayerUtility.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/group/t_mdaaudioplayerutility.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,24 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIOPLAYERUTILITY_IBY__)
+#define __T_MDAAUDIOPLAYERUTILITY_IBY__
+
+#include <t_mdaaudioplayerutility_binaries.iby>
+#include <t_mdaaudioplayerutility_testdata.iby>
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/group/t_mdaaudioplayerutility_binaries.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIOPLAYERUTILITY_BINARIES_IBY__)
+#define __T_MDAAUDIOPLAYERUTILITY_BINARIES_IBY__
+
+#include <testexecute.iby>
+
+#if (!defined EKA2)
+file=ABI_DIR\BUILD_DIR\t_mdaaudioplayerutility.exe 	system\libs\t_mdaaudioplayerutility.exe
+#else
+file=ABI_DIR\BUILD_DIR\t_mdaaudioplayerutility.exe 	system\bin\t_mdaaudioplayerutility.exe
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/group/t_mdaaudioplayerutility_testdata.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,32 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIOPLAYERUTILITY_TESTDATA_IBY__)
+#define __T_MDAAUDIOPLAYERUTILITY_TESTDATA_IBY__
+
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.script				multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.script
+
+data=EPOCROOT##Epoc32\data\z\multimedia\setup-MM-MMF-ACLNT-PLYR-PublicAPI.script		multimedia\setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini					multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+data=EPOCROOT##Epoc32\data\z\multimedia\t_mdaaudioplayerutility\test.wav				multimedia\t_mdaaudioplayerutility\test.wav
+data=EPOCROOT##Epoc32\data\z\multimedia\t_mdaaudioplayerutility\test.bad				multimedia\t_mdaaudioplayerutility\test.bad
+data=EPOCROOT##Epoc32\data\z\multimedia\t_mdaaudioplayerutility\test_err.wav			multimedia\t_mdaaudioplayerutility\test_err.wav
+data=EPOCROOT##Epoc32\data\z\multimedia\t_mdaaudioplayerutility\empty.wav				multimedia\t_mdaaudioplayerutility\empty.wav
+data=EPOCROOT##Epoc32\data\z\multimedia\t_mdaaudioplayerutility\answeringmachine.wav	multimedia\t_mdaaudioplayerutility\answeringmachine.wav
+data=EPOCROOT##Epoc32\data\z\multimedia\t_mdaaudioplayerutility\explode.au				multimedia\t_mdaaudioplayerutility\explode.au
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/inc/T_MMDataMdaAudioPlayerUtility.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,141 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MDA_AUDIO_PLAYER_UTILITY_H__)
+#define __T_MDA_AUDIO_PLAYER_UTILITY_H__
+
+// User Includes
+#include "DataWrapperBase.h"
+
+//	EPOC includes
+#include <mdaaudiosampleplayer.h>
+#include <mda/client/utility.h>
+
+
+const TInt KMaxdataFromText = 255;
+
+/**
+ * Test Active Notification class
+ *
+ */
+class CT_MMDataMdaAudioPlayerUtility :	public	CDataWrapperBase,
+										private MMdaAudioPlayerCallback,
+										private MAudioLoadingObserver,
+										private MMMFAudioResourceNotificationCallback
+	{
+public:
+	~CT_MMDataMdaAudioPlayerUtility();
+	static CT_MMDataMdaAudioPlayerUtility*	NewL();
+
+	virtual TAny*	GetObject();
+	virtual void	SetObjectL(TAny* aObject);
+	virtual void	DisownObjectL();
+	virtual TBool	DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+	void			DestroyData();
+
+protected:
+	/**
+	* Protected constructor. First phase construction
+	*/
+	CT_MMDataMdaAudioPlayerUtility();
+
+	void	ConstructL();
+
+private:
+	//	MTPActiveCallback implementation
+	void RunL(CActive* aActive, TInt aIndex );
+	void DoCancel(CActive* aActive);
+
+	inline void			RunCustomCommandAsyncL( const TInt aAsyncErrorIndex );
+	inline void			DoCancelCustomCommandAsync();
+
+	//	MMdaAudioPlayerCallback implementation
+	virtual void 		MapcInitComplete( TInt aError, const TTimeIntervalMicroSeconds &aDuration );
+	virtual void 		MapcPlayComplete( TInt aError );
+
+	//	MMMFAudioResourceNotificationCallback implementation
+	virtual void		MarncResourceAvailable( TUid aNotificationEventId, const TDesC8& aNotificationData );
+
+	//	MAudioLoadingObserver implementation
+	virtual void 		MaloLoadingStarted();
+	virtual void 		MaloLoadingComplete();
+
+	//	Commands
+	inline void 		DoCmdDestructor();
+	inline void 		DoCmdDelay();
+	inline void 		DoCmdNewL( const TDesC& aSection );
+	inline void 		DoCmdNewFilePlayerL( const TDesC& aSection, const TInt aAsyncErrorIndex );
+	inline void 		DoCmdNewDesPlayerReadOnlyL( const TDesC& aSection, const TInt aAsyncErrorIndex );
+	inline void 		DoCmdNewDesPlayerL( const TDesC& aSection, const TInt aAsyncErrorIndex );
+	inline void 		DoCmdOpenDesL( const TDesC& aSection, const TInt aAsyncErrorIndex );
+	inline void 		DoCmdOpenUrlL( const TDesC& aSection, const TInt aAsyncErrorIndex );
+	inline void 		DoCmdOpenFileL( const TDesC& aSection, const TInt aAsyncErrorIndex );
+	inline void 		DoCmdClose();
+	inline void 		DoCmdPlay( const TInt aAsyncErrorIndex );
+	inline void 		DoCmdPause();
+	inline void 		DoCmdWillResumePlay();
+	inline void 		DoCmdStop();
+	inline void 		DoCmdSetVolume( const TDesC& aSection );
+	inline void 		DoCmdSetBalance( const TDesC& aSection );
+	inline void 		DoCmdSetPosition( const TDesC& aSection );
+	inline void 		DoCmdMaxVolume( const TDesC& aSection );
+	inline void 		DoCmdGetVolume( const TDesC& aSection );
+	inline void 		DoCmdGetBalance( const TDesC& aSection );
+	inline void 		DoCmdGetPosition( const TDesC& aSection );
+	inline void 		DoCmdDuration( const TDesC& aSection );
+	inline void 		DoCmdSetPlayWindow( const TDesC& aSection );
+	inline void 		DoCmdClearPlayWindow();
+	inline void 		DoCmdSetRepeats( const TDesC& aSection );
+	inline void 		DoCmdSetVolumeRamp( const TDesC& aSection );
+	inline void 		DoCmdGetBitRate( const TDesC& aSection );
+	inline void 		DoCmdGetMetaDataEntryL( const TDesC& aSection );
+	inline void 		DoCmdGetNumberOfMetaDataEntries( const TDesC& aSection );
+	inline void 		DoCmdRegisterAudioResourceNotificationL( const TDesC& aSection );
+	inline void 		DoCmdCancelRegisterAudioResourceNotification( const TDesC& aSection );
+	inline void 		DoCmdRegisterForAudioLoadingNotification();
+	inline void 		DoCmdSetPriority( const TDesC& aSection );
+	inline void 		DoCmdSetThreadPriority( const TDesC& aSection );
+	inline void 		DoCmdGetAudioLoadingProgressL( const TDesC& aSection );
+	inline void 		DoCmdGetDRMCustomCommand( const TDesC& aSection );
+	inline void 		DoCmdControllerImplementationInformationL();
+	inline void 		DoCmdCustomCommandSyncL( const TDesC& aSection );
+	inline void 		DoCmdCustomCommandAsyncL( const TDesC& aSection, const TInt aAsyncErrorIndex );
+	inline void 		DoCmdUseSharedHeap();
+
+private:
+	CMdaAudioPlayerUtility*		iPlayerUtility;
+	CActiveCallback*			iActiveCustomCommandAsync;
+	CMdaServer*					iServer;
+	TInt						iAsyncErrorIndex;
+
+	RFs							iFs;
+	RFile						iFile;
+	TBool						iFileOpened;
+
+	HBufC8*						iBuffer;
+	TPtr8*						iBufferPtr;
+	TBuf8<KMaxdataFromText>		iDataFromText;
+
+	TUid						iAudioControllerUid;
+	TUid						iAudioFormatUid;
+
+	TBool						iPlaying;
+	};
+
+#endif /* __T_MDA_AUDIO_PLAYER_UTILITY_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/inc/T_MdaAudioPlayerUtilityServer.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MDA_AUDIO_PLAYER_UTILITY_SERVER_H__)
+#define __T_MDA_AUDIO_PLAYER_UTILITY_SERVER_H__
+
+//	EPOC Includes
+#include <testblockcontroller.h>
+#include <testserver2.h>
+
+class CT_MdaAudioPlayerUtilityServer : public CTestServer2
+	{
+private:
+	class CT_MdaAudioPlayerUtilityBlock : public CTestBlockController
+		{
+	public:
+		inline CT_MdaAudioPlayerUtilityBlock();
+		inline ~CT_MdaAudioPlayerUtilityBlock();
+
+		inline CDataWrapper*	CreateDataL(const TDesC& aData);
+		};
+
+public:
+	inline ~CT_MdaAudioPlayerUtilityServer();
+
+	inline void	DeleteActiveSchedulerL();
+
+	static CT_MdaAudioPlayerUtilityServer* NewL();
+
+	inline CTestBlockController*	CreateTestBlock();
+
+protected:
+	inline CT_MdaAudioPlayerUtilityServer();
+	};
+
+#include "T_MdaAudioPlayerUtilityServer.inl"
+
+#endif /* __T_MDA_AUDIO_PLAYER_UTILITY_SERVER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/inc/T_MdaAudioPlayerUtilityServer.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataMdaAudioPlayerUtility.h"
+
+// Constants
+_LIT(KDataMdaAudioPlayerUtility,		"CMdaAudioPlayerUtility");
+
+CT_MdaAudioPlayerUtilityServer::CT_MdaAudioPlayerUtilityBlock::CT_MdaAudioPlayerUtilityBlock()
+:	CTestBlockController()
+	{
+	}
+
+CT_MdaAudioPlayerUtilityServer::CT_MdaAudioPlayerUtilityBlock::~CT_MdaAudioPlayerUtilityBlock()
+	{
+	}
+
+CDataWrapper* CT_MdaAudioPlayerUtilityServer::CT_MdaAudioPlayerUtilityBlock::CreateDataL(const TDesC& aData)
+	{
+	CDataWrapper* wrapper = NULL;
+	if( KDataMdaAudioPlayerUtility() == aData )
+		{
+		wrapper = CT_MMDataMdaAudioPlayerUtility::NewL();
+		}
+	return wrapper;
+	}
+
+CT_MdaAudioPlayerUtilityServer::CT_MdaAudioPlayerUtilityServer()
+	{
+	}
+CT_MdaAudioPlayerUtilityServer::~CT_MdaAudioPlayerUtilityServer()
+	{
+	}
+
+void CT_MdaAudioPlayerUtilityServer::DeleteActiveSchedulerL()
+	{
+	}
+
+CTestBlockController* CT_MdaAudioPlayerUtilityServer::CreateTestBlock()
+	{
+	return new CT_MdaAudioPlayerUtilityBlock();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/pkg/T_MdaAudioPlayerUtility.pkg	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,55 @@
+;
+; Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+;
+;
+; Install file for T_MdaAudioPlayerUtility.exe
+;
+
+; Languages -
+&EN
+
+; Installation header
+; UID is the app's UID
+#{"T_MdaAudioPlayerUtility"},(0x20000F77),1,0,0
+
+;%{"Vendor-EN"}
+;:"Symbian"
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+
+"T_MdaAudioPlayerUtility.exe"-"!:\sys\bin\T_MdaAudioPlayerUtility.exe"
+"tmdaaudioplayerutility.bat"-"!:\multimedia\tmdaaudioplayerutility.bat"
+"MM-MMF-ACLNT-PLYR-PublicAPI.script"-"!:\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.script"
+"t_multimedia.tcs"-"!:\multimedia\t_multimedia.tcs"
+"MM-MMF-ACLNT-PLYR-PublicAPI.ini"-"!:\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini"
+"t_mdaaudioplayerutility\test.wav"-"!:\multimedia\t_mdaaudioplayerutility\test.wav"
+"t_mdaaudioplayerutility\test.bad"-"!:\multimedia\t_mdaaudioplayerutility\test.bad"
+"t_mdaaudioplayerutility\test_err.wav"-"!:\multimedia\t_mdaaudioplayerutility\test_err.wav"
+"t_mdaaudioplayerutility\empty.wav"-"!:\multimedia\t_mdaaudioplayerutility\empty.wav"
+"t_mdaaudioplayerutility\answeringmachine.wav"-"!:\multimedia\t_mdaaudioplayerutility\answeringmachine.wav"
+"t_mdaaudioplayerutility\explode.au"-"!:\multimedia\t_mdaaudioplayerutility\explode.au"
+"t_multimedia.ini"-"!:\multimedia\t_multimedia.ini"
+
+; Required files
+; None
+
+; Component .sis files
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/pkg/tmdaaudioplayerutility.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testexecute \multimedia\MM-MMF-ACLNT-PLYR-PublicAPI
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/scripts/MM-MMF-ACLNT-PLYR-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,2850 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName		MM-MMF-ACLNT-PLYR-PublicAPI
+//! @SYMScriptTestEnvironment	This test script requires a basic ROM.
+/////////////////////////////////////////////////////////////////////
+// MM-MMF-ACLNT-PLYR-PublicAPI.script
+//
+// Tests all public elements of the CMdaAudioPlayerUtility class
+// as a means of confidence that the APIs work as expected.
+//
+// The purpose is to provide a regression test suite of PublishedAll APIs for CMdaAudioPlayerUtility.
+// Negative testing is performed to confirm that correct errors are returned when incorrect parameters are given.
+// The tests are fully automated.
+/////////////////////////////////////////////////////////////////////
+
+LOAD_SUITE	T_MdaAudioPlayerUtility
+
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0001
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0001
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Constructs a new instance.
+//!				Uses API elements: NewL()
+//! @SYMTestActions		1. Create object. 2. destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Create ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0001
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0002
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0002
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Constructs and initialises a new instance using file.
+//!				Uses API elements: NewFilePlayerL()
+//! @SYMTestActions		1. Create and init object. 2. destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Create ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewFilePlayerL		MM-MMF-ACLNT-PLYR-PublicAPI-0002-001-NewFilePlayerL_command01
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0002
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0003
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0003
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Constructs and initialises a new instance using readonly descriptor.
+//!				Uses API elements: NewDesPlayerReadOnlyL()
+//! @SYMTestActions		1. Create and init object. 2. destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Create ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewDesPlayerReadOnlyL		MM-MMF-ACLNT-PLYR-PublicAPI-0003-001-NewDesPlayerReadOnlyL_command01
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0003
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0004
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0004
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Constructs and initialises a new instance using descriptor.
+//!				Uses API elements: NewDesPlayerL()
+//! @SYMTestActions		1. Create and init object. 2. destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Create ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewDesPlayerL		MM-MMF-ACLNT-PLYR-PublicAPI-0004-001-NewDesPlayerL_command01
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0004
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0005
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0005
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens an audio clip from a descriptor.
+//!				Uses API elements: NewL(), OpenDesL().
+//! @SYMTestActions		1. Create object 2. Open object 3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Open ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenDesL	MM-MMF-ACLNT-PLYR-PublicAPI-0005-001-OpenDesL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0005
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0006
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0006
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens an audio clip from a URL.
+//!				Uses API elements: NewL(), OpenUrlL().
+//! @SYMTestActions		1. Create object 2. Open object 3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenUrlL() is not supported. Expect error KErrNotSupported(-5)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	OpenUrlL	MM-MMF-ACLNT-PLYR-PublicAPI-0006-001-OpenUrlL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0006
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0007
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0007
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens an audio clip from a file with RFile param.
+//!				Uses API elements: NewL(), OpenFileL().
+//! @SYMTestActions		1. Create object 2. Open object 3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Open ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0007-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0007
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0008
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0008
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens an audio clip from a file with TMMSource param.
+//!				Uses API elements: NewL(), OpenFileL().
+//! @SYMTestActions		1. Create object 2. Open object 3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Open ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0008-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0008
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0009
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0009
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens an audio clip from a file with TDesC param.
+//!				Uses API elements: NewL(), OpenFileL().
+//! @SYMTestActions		1. Create object 2. Open object 3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Open ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0009-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0009
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0010
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0010
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test play of the initialised audio sample
+//!				Uses API elements: NewL(), OpenFileL(), Play().
+//! @SYMTestActions		1. Create object 2. Open object 3. Play data.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Play the audio sample ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0010-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Play
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0010
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0011
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0011
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test pause the playback of the audio clip.
+//!				Uses API elements: NewL(), OpenFileL(), Play(), Pause().
+//! @SYMTestActions		1. Create object 2. Open object 3. Play data. 4. Pause.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Pauses the playback ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0011-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Play
+		ASYNC_DELAY	50000
+		COMMAND		mdaaudioplayerutility1	Pause
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0011
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0012
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0012
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test stop playback of the audio sample
+//!				Uses API elements: NewL(), OpenFileL(), Play(), Stop().
+//! @SYMTestActions		1. Create object 2. Open object 3. Play data. 4. Stop play.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Stops playback of the audio sample ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0012-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Play
+		ASYNC_DELAY	50000
+		COMMAND		mdaaudioplayerutility1	Stop
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0012
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0013
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0013
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test resume the play of the audio sample after event pause
+//!				Uses API elements: NewL(), OpenFileL(), Play(), Pause(), WillResumePlay().
+//! @SYMTestActions		1. Create object 2. Open object 3. Play data. 4. Pause. 5. Set will resume play
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	WillResumePlay set ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0013-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Play
+		ASYNC_DELAY	50000
+		COMMAND		mdaaudioplayerutility1	Pause
+		COMMAND		mdaaudioplayerutility1	WillResumePlay
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0013
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0014
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0014
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test close the current audio clip
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create object 2. Open object 3. Close object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Close audio sample ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0014-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0014
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0015
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0015
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test the balance settings of CMdaAudioPlayerUtility
+//!				Uses API elements: NewL(), OpenFileL(), SetBalance(), GetBalance().
+//! @SYMTestActions		1. Create object 2. Open file. 3. Set balance. 4. Verify balance
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Balances set ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0015-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0015-001-SetBalance_command03
+		COMMAND		mdaaudioplayerutility1	GetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0015-001-GetBalance_command04
+		COMMAND		mdaaudioplayerutility1	SetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0015-001-SetBalance_command05
+		COMMAND		mdaaudioplayerutility1	GetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0015-001-GetBalance_command06
+		COMMAND		mdaaudioplayerutility1	SetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0015-001-SetBalance_command07
+		COMMAND		mdaaudioplayerutility1	GetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0015-001-GetBalance_command08
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0015
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0016
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0016
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test the volume settings of CMdaAudioPlayerUtility
+//!				Uses API elements: NewL(), OpenFileL(), SetVolume(), GetVolume().
+//! @SYMTestActions		1. Create object 2. Open file. 3. Set volume. 4. Verify volume
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Volumes set ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0016-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetVolume	MM-MMF-ACLNT-PLYR-PublicAPI-0016-001-SetVolume_command03
+		COMMAND		mdaaudioplayerutility1	GetVolume	MM-MMF-ACLNT-PLYR-PublicAPI-0016-001-GetVolume_command04
+		COMMAND		mdaaudioplayerutility1	SetVolume	MM-MMF-ACLNT-PLYR-PublicAPI-0016-001-SetVolume_command05
+		COMMAND		mdaaudioplayerutility1	GetVolume	MM-MMF-ACLNT-PLYR-PublicAPI-0016-001-GetVolume_command06
+		COMMAND		mdaaudioplayerutility1	SetVolume	MM-MMF-ACLNT-PLYR-PublicAPI-0016-001-SetVolume_command07
+		COMMAND		mdaaudioplayerutility1	GetVolume	MM-MMF-ACLNT-PLYR-PublicAPI-0016-001-GetVolume_command08
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0016
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0017
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0017
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests positions
+//!				Uses API elements: NewL(), OpenFileL(), SetPosition(), GetPosition().
+//! @SYMTestActions		1. Create object 2. Open file. 3. Set position 4. Verify position
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Positions set ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0017-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetPosition	MM-MMF-ACLNT-PLYR-PublicAPI-0017-001-SetPosition_command03
+		COMMAND		mdaaudioplayerutility1	GetPosition	MM-MMF-ACLNT-PLYR-PublicAPI-0017-001-GetPosition_command04
+		COMMAND		mdaaudioplayerutility1	SetPosition	MM-MMF-ACLNT-PLYR-PublicAPI-0017-001-SetPosition_command05
+		COMMAND		mdaaudioplayerutility1	GetPosition	MM-MMF-ACLNT-PLYR-PublicAPI-0017-001-GetPosition_command06
+		COMMAND		mdaaudioplayerutility1	SetPosition	MM-MMF-ACLNT-PLYR-PublicAPI-0017-001-SetPosition_command07
+		COMMAND		mdaaudioplayerutility1	GetPosition	MM-MMF-ACLNT-PLYR-PublicAPI-0017-001-GetPosition_command08
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0017
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0018
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0018
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests of the priority for playback
+//!				Uses API elements: NewL(), SetPriority().
+//! @SYMTestActions		1. Create object 2. Set priority
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Set priority works ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	SetPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0018-001-SetPriority_command02
+		COMMAND		mdaaudioplayerutility1	SetPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0018-001-SetPriority_command03
+		COMMAND		mdaaudioplayerutility1	SetPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0018-001-SetPriority_command04
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0018
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0019
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0019
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests return the current playback position
+//!				Uses API elements: NewL(), OpenFileL(), Play(), GetPosition().
+//! @SYMTestActions		1. Create object 2. Open object 3. Play sample 4. Get position
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Position returned ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0019-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Play
+		ASYNC_DELAY	50000
+		COMMAND		mdaaudioplayerutility1	GetPosition
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0019
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0020
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0020
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests return the current playback balance
+//!				Uses API elements: NewL(), OpenFileL(), Play(), GetBalance().
+//! @SYMTestActions		1. Create object 2. Open object 3. Play sample 4. Set balance 5. Verify balance
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Balance works ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0020-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Play
+		ASYNC_DELAY	50000
+		COMMAND		mdaaudioplayerutility1	SetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0020-001-SetBalance_command05
+		COMMAND		mdaaudioplayerutility1	GetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0020-001-GetBalance_command06
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0020
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0021
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0021
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests return the current playback volume
+//!				Uses API elements: NewL(), OpenFileL(), Play(), GetVolume().
+//! @SYMTestActions		1. Create object 2. Open object 3. Play sample 4. Set volume 5. Verify volume
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Volume works ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0021-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Play
+		ASYNC_DELAY	50000
+		COMMAND		mdaaudioplayerutility1	SetVolume	MM-MMF-ACLNT-PLYR-PublicAPI-0021-001-SetVolume_command05
+		COMMAND		mdaaudioplayerutility1	GetVolume	MM-MMF-ACLNT-PLYR-PublicAPI-0021-001-GetVolume_command06
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0021
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0022
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0022
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests return the current playback maximum volume
+//!				Uses API elements: NewL(), OpenFileL(), MaxVolume().
+//! @SYMTestActions		1. Create object 2. Open object 3. Get maximum volume of audio stream
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Get max volume ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0022-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	MaxVolume
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0022
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0023
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0023
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test return the duration of current audio sample
+//!				Uses API elements: NewL(), OpenFileL(), Duration()
+//! @SYMTestActions		1. Create object 2. Open Audio sample 3. Get duration of the audio sample
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Duration returned ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0023-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Duration	MM-MMF-ACLNT-PLYR-PublicAPI-0023-001-Duration_command03
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0023
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0024
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0024
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test return the duration state of current audio sample
+//!				Uses API elements: NewL(), OpenFileL(), Duration(TTimeIntervalMicroSeconds aDuration).
+//! @SYMTestActions		1. Create object. 2. Open audio sample. 3. Get duration and the duration state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Duration and duration state returned ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0024-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Duration	MM-MMF-ACLNT-PLYR-PublicAPI-0024-001-Duration_command03
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0024
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0025
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0025
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test set the current playback window
+//!				Uses API elements: NewL(), OpenFileL(), SetPlayWindow(), Close().
+//! @SYMTestActions		1. Create  object 2. Open sample audio 3. Set playback window 4. Play 5. Close audio
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Set playback window ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0025-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetPlayWindow	MM-MMF-ACLNT-PLYR-PublicAPI-0025-001-SetPlayWindow_command03
+		COMMAND		mdaaudioplayerutility1	SetPlayWindow	MM-MMF-ACLNT-PLYR-PublicAPI-0025-001-SetPlayWindow_command04
+		COMMAND		mdaaudioplayerutility1	Play
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0025
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0026
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0026
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test clear the current playback window
+//!				Uses API elements: NewL(), OpenFileL(), SetPlayWindow(), ClearPlayWindow(), Close().
+//! @SYMTestActions		1. Create  object 2. Open sample audio 3. Set playback window 4. Clear window 5. Play 6. Close audio
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	clear window ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0026-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetPlayWindow	MM-MMF-ACLNT-PLYR-PublicAPI-0026-001-SetPlayWindow_command03
+		COMMAND		mdaaudioplayerutility1	ClearPlayWindow
+		COMMAND		mdaaudioplayerutility1	Play
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0026
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0027
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0027
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test settings repeat
+//!				Uses API elements: NewL(), OpenFileL(), SetRepeats().
+//! @SYMTestActions		1. Create 2. Open 3 Set repeat
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Set repeats ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0027-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetRepeats	MM-MMF-ACLNT-PLYR-PublicAPI-0027-001-SetRepeats_command03
+		COMMAND		mdaaudioplayerutility1	SetRepeats	MM-MMF-ACLNT-PLYR-PublicAPI-0027-001-SetRepeats_command04
+		COMMAND		mdaaudioplayerutility1	SetRepeats	MM-MMF-ACLNT-PLYR-PublicAPI-0027-001-SetRepeats_command05
+		COMMAND		mdaaudioplayerutility1	Close
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0027
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0028
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0028
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test settings volumeramp
+//!				Uses API elements: NewL(), OpenFileL(), SetVolumeRamp().
+//! @SYMTestActions		1. Create 2. Open 3. Set volumeramp
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Volume ramp set ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0028-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetVolumeRamp	MM-MMF-ACLNT-PLYR-PublicAPI-0028-001-SetVolumeRamp_command03
+		COMMAND		mdaaudioplayerutility1	Play
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetVolumeRamp	MM-MMF-ACLNT-PLYR-PublicAPI-0028-001-SetVolumeRamp_command05
+		COMMAND		mdaaudioplayerutility1	Play
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetVolumeRamp	MM-MMF-ACLNT-PLYR-PublicAPI-0028-001-SetVolumeRamp_command07
+		COMMAND		mdaaudioplayerutility1	Play
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0028
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0029
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0029
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests bitrate settings
+//!				Uses API elements: NewL(), OpenFileL(), GetBitRate().
+//! @SYMTestActions		1. Create object 2. Open file. 3. Get the bit rate of the audio clip.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Bitrate got ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0029-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	GetBitRate
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0029
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0030
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0030
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test return the requested meta data entry
+//!				Uses API elements: NewL(), OpenFileL(), GetMetaDataEntryL().
+//! @SYMTestActions		1. Create object 2. Open audio 3. Get meta data entry
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	MetaData functions are not supported. Expect error KErrNotSupported(-5)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL		MM-MMF-ACLNT-PLYR-PublicAPI-0030-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudioplayerutility1	GetMetaDataEntryL	MM-MMF-ACLNT-PLYR-PublicAPI-0030-001-GetMetaDataEntryL_command03
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0030
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0031
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0031
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test return the number of meta data entries in the current audio clip.
+//!				Uses API elements: NewL(), OpenFileL(), GetNumberOfMetaDataEntries().
+//! @SYMTestActions		1. Create object 2. Open audio 3. Get the number of meta data entries
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	MetaData functions are not supported. Expect error KErrNotSupported(-5)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL			MM-MMF-ACLNT-PLYR-PublicAPI-0031-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudioplayerutility1	GetNumberOfMetaDataEntries
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0031
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0032
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0032
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to create object in the shared heap.
+//!				Uses API elements: NewL(), OpenFileL(), Play(), Close(), UseSharedHeap().
+//! @SYMTestActions		1. Create audio player object. 2. Set the share heap 3. Open file 4. Play 5. Close
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Shared heap works ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	UseSharedHeap
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0032-001-OpenFileL_command03
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Play
+		ASYNC_DELAY	50000
+		COMMAND		mdaaudioplayerutility1	Stop
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0032-001-OpenFileL_command07
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Play
+		ASYNC_DELAY	50000
+		COMMAND		mdaaudioplayerutility1	Stop
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0032-001-OpenFileL_command11
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Play
+		ASYNC_DELAY	50000
+		COMMAND		mdaaudioplayerutility1	Stop
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0032
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0033
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0033
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests priority of the controller's sub thread
+//!				Uses API elements: NewL(), OpenFileL(), SetThreadPriority(), Close().
+//! @SYMTestActions		1. Create object 2. Set the priority of the controller's sub thread
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Sets specified priorities ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL		MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetThreadPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command03
+		COMMAND		mdaaudioplayerutility1	SetThreadPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command04
+		COMMAND		mdaaudioplayerutility1	SetThreadPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command05
+		COMMAND		mdaaudioplayerutility1	SetThreadPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command06
+		COMMAND		mdaaudioplayerutility1	SetThreadPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command07
+		COMMAND		mdaaudioplayerutility1	SetThreadPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command08
+		COMMAND		mdaaudioplayerutility1	SetThreadPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command09
+		COMMAND		mdaaudioplayerutility1	SetThreadPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command10
+		COMMAND		mdaaudioplayerutility1	SetThreadPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command11
+		COMMAND		mdaaudioplayerutility1	SetThreadPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command12
+		COMMAND		mdaaudioplayerutility1	SetThreadPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command13
+		COMMAND		mdaaudioplayerutility1	Close
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0033
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0034
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0034
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test registers the Event for Notification when resource is avaliable
+//!				Uses API elements: NewL(), RegisterAudioResourceNotification().
+//! @SYMTestActions		1. Create object 2. Registered notification event
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Registration ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	RegisterAudioResourceNotification	MM-MMF-ACLNT-PLYR-PublicAPI-0034-001-RegisterAudioResourceNotification_command02
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0034
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0035
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0035
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test cancel registration the Event for Notification when resource is avaliable
+//!				Uses API elements: NewL(), RegisterAudioResourceNotification(), CancelRegisterAudioResourceNotification().
+//! @SYMTestActions		1. Create object 2. Registered notification event. 3. Cancel the registered notification event
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Cancel registration was successful
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	RegisterAudioResourceNotification		MM-MMF-ACLNT-PLYR-PublicAPI-0035-001-RegisterAudioResourceNotification_command02
+		COMMAND		mdaaudioplayerutility1	CancelRegisterAudioResourceNotification		MM-MMF-ACLNT-PLYR-PublicAPI-0035-001-CancelRegisterAudioResourceNotification_command03
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0035
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0036
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0036
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test register audio loading notifications
+//!				Uses API elements: NewL(), RegisterForAudioLoadingNotification.
+//! @SYMTestActions		1. Create object 2. Register the notifications of audio loading/rebuffering
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Registers notifications	ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	RegisterForAudioLoadingNotification
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0036
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0037
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0037
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests current progress of audio loading
+//!				Uses API elements: NewL(), OpenFileL(), GetAudioLoadingProgressL().
+//! @SYMTestActions		1. Create object 2. Open audio sample 3. Get percentage of the audio clip loaded
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	GetAudioLoadingProgressL() is not supported. Expect error KErrNotSupported(-5)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL			MM-MMF-ACLNT-PLYR-PublicAPI-0037-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudioplayerutility1	GetAudioLoadingProgressL
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0037
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0038
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0038
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test gets a controller's DRM
+//!				Uses API elements: NewL(), OpenFileL(), GetDRMCustomCommand().
+//! @SYMTestActions		1. Create object 2. Open audio sample 3. Get controller's DRM custom command implementation
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Controller's DRM work ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL		MM-MMF-ACLNT-PLYR-PublicAPI-0038-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	GetDRMCustomCommand	MM-MMF-ACLNT-PLYR-PublicAPI-0038-001-GetDRMCustomCommand_command03
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0038
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0039
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0039
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Test get the controller implementation information associated with the current controller
+//!				Uses API elements: NewL(), OpenFileL(), ControllerImplementationInformationL().
+//! @SYMTestActions		1. Create object 2. Open audio sample 3. Get controller implementation information
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Return information ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL				MM-MMF-ACLNT-PLYR-PublicAPI-0039-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	ControllerImplementationInformationL
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0039
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0040
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0040
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send a synchronous custom command to the controller with "Datafrom"
+//!				Uses API elements: NewL(), CustomCommandSync()
+//! @SYMTestActions		1. Create object 2. Send a synchronous custom command to the controller
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	CustomCommand functions are not supported. Expect error KErrNotSupported(-5)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL		MM-MMF-ACLNT-PLYR-PublicAPI-0040-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudioplayerutility1	CustomCommandSync	MM-MMF-ACLNT-PLYR-PublicAPI-0040-001-CustomCommandSync_command03
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0040
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0041
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0041
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send a synchronous custom command to the controller without "Datafrom"
+//!				Uses API elements: NewL(), CustomCommandSync()
+//! @SYMTestActions		1. Create object 2. Send a synchronous custom command to the controller
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	CustomCommand functions are not supported. Expect error KErrNotSupported(-5)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL		MM-MMF-ACLNT-PLYR-PublicAPI-0041-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudioplayerutility1	CustomCommandSync	MM-MMF-ACLNT-PLYR-PublicAPI-0041-001-CustomCommandSync_command03
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0041
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0042
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0042
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send a asynchronous custom command to the controller with "Datafrom"
+//!				Uses API elements: NewL(), CustomCommandASync()
+//! @SYMTestActions		1. Create object 2. Send a asynchronous custom command to the controller
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	CustomCommand functions are not supported. Expect error KErrNotSupported(-5)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL		MM-MMF-ACLNT-PLYR-PublicAPI-0042-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	CustomCommandASync	MM-MMF-ACLNT-PLYR-PublicAPI-0042-001-CustomCommandASync_command03
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0042
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0043
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0043
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send a asynchronous custom command to the controller without "Datafrom"
+//!				Uses API elements: NewL(), CustomCommandASync()
+//! @SYMTestActions		1. Create object 2. Send a asynchronous custom command to the controller
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	CustomCommand functions are supported.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL		MM-MMF-ACLNT-PLYR-PublicAPI-0043-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	CustomCommandASync	MM-MMF-ACLNT-PLYR-PublicAPI-0043-001-CustomCommandASync_command03
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0043
+
+
+//////////////////////////
+//        PHASE 2	//
+//////////////////////////
+//    BAD STEP CASES	//
+//////////////////////////
+
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0044
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0044
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Constructs and initialises a new instance with empty descriptor.
+//!				Uses API elements: NewDesPlayerL()
+//! @SYMTestActions		1. Create and init object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	NewDesPlayerL		MM-MMF-ACLNT-PLYR-PublicAPI-0044-001-NewDesPlayerL_command01
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0044
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0045
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0045
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Constructs and initialises a new instance with not valid target format descriptor
+//!				Uses API elements: NewDesPlayerL()
+//! @SYMTestActions		1. Create and init object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	NewDesPlayerL		MM-MMF-ACLNT-PLYR-PublicAPI-0045-001-NewDesPlayerL_command01
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0045
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0046
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0046
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Constructs and initialises a new instance with corrupted file descriptor
+//!				Uses API elements: NewDesPlayerL()
+//! @SYMTestActions		1. Create and init object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	NewDesPlayerL		MM-MMF-ACLNT-PLYR-PublicAPI-0046-001-NewDesPlayerL_command01
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0046
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0047
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0047
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Constructs and initialises a new instance with empty descriptor.
+//!				Uses API elements: NewDesPlayerReadOnlyL()
+//! @SYMTestActions		1. Create and init object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	NewDesPlayerReadOnlyL		MM-MMF-ACLNT-PLYR-PublicAPI-0047-001-NewDesPlayerReadOnlyL_command01
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0047
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0048
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0048
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Constructs and initialises a new instance with not valid target format descriptor
+//!				Uses API elements: NewDesPlayerReadOnlyL()
+//! @SYMTestActions		1. Create and init object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	NewDesPlayerReadOnlyL		MM-MMF-ACLNT-PLYR-PublicAPI-0048-001-NewDesPlayerReadOnlyL_command01
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0048
+
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0049
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0049
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Constructs and initialises a new instance with corrupted file descriptor
+//!				Uses API elements: NewDesPlayerReadOnlyL()
+//! @SYMTestActions		1. Create and init object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	NewDesPlayerReadOnlyL		MM-MMF-ACLNT-PLYR-PublicAPI-0049-001-NewDesPlayerReadOnlyL_command01
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0049
+
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0050
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0050
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Constructs and initialises a new instance with nonexisting descriptor.
+//!				Uses API elements: NewFilePlayerL()
+//! @SYMTestActions		1. Create and init object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND	!AsyncError=-1	mdaaudioplayerutility1	NewFilePlayerL		MM-MMF-ACLNT-PLYR-PublicAPI-0050-001-NewFilePlayerL_command01
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0050
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0051
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0051
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Constructs and initialises a new instance with not valid target format descriptor.
+//!				Uses API elements: NewFilePlayerL().
+//! @SYMTestActions		1. Create and init object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	NewFilePlayerL		MM-MMF-ACLNT-PLYR-PublicAPI-0051-001-NewFilePlayerL_command01
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0051
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0052
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0052
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Constructs and initialises a new instance with corrupted file descriptor
+//!				Uses API elements: NewFilePlayerL()
+//! @SYMTestActions		1. Create and init object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	NewFilePlayerL		MM-MMF-ACLNT-PLYR-PublicAPI-0052-001-NewFilePlayerL_command01
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0052
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0053
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0053
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open empty source file
+//!				Uses API elements: NewL(), OpenDesL()
+//! @SYMTestActions		1. Create obect 2. Open audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	OpenDesL	MM-MMF-ACLNT-PLYR-PublicAPI-0053-001-OpenDesL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0053
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0054
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0054
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open source files with not valid audio format
+//!				Uses API elements: NewL(), OpenDesL()
+//! @SYMTestActions		1. Create obect 2. Open audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	OpenDesL	MM-MMF-ACLNT-PLYR-PublicAPI-0054-001-OpenDesL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0054
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0055
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0055
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open source files with corrupted file
+//!				Uses API elements: NewL(), OpenDesL()
+//! @SYMTestActions		1. Create obect 2. Open audio data 3. Close object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	OpenDesL	MM-MMF-ACLNT-PLYR-PublicAPI-0055-001-OpenDesL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0055
+
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0056
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0056
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open audio clip from nonexisting URL
+//!				Uses API elements: NewL(), OpenUrlL()
+//! @SYMTestActions		1. Create obect 2. Open audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	OpenUrlL	MM-MMF-ACLNT-PLYR-PublicAPI-0056-001-OpenUrlL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0056
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0057
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0057
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open audio clip with not valid audio format
+//!				Uses API elements: NewL(), OpenUrlL()
+//! @SYMTestActions		1. Create obect 2. Open audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	OpenUrlL	MM-MMF-ACLNT-PLYR-PublicAPI-0057-001-OpenUrlL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0057
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0058
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0058
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open audio clip from nonexisting URL with corrupted file
+//!				Uses API elements: NewL(), OpenUrlL()
+//! @SYMTestActions		1. Create obect 2. Open audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	OpenUrlL	MM-MMF-ACLNT-PLYR-PublicAPI-0058-001-OpenUrlL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0058
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0059
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0059
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open nonexisting source file
+//!				Uses API elements: NewL(), OpenFileL()
+//! @SYMTestActions		1. Create obect 2. Open audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!AsyncError=-1	mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0059-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0059
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0060
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0060
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open source files with not valid format file descriptor
+//!				Uses API elements: NewL(), OpenFileL()
+//! @SYMTestActions		1. Create obect 2. Open audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0060-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0060
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0061
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0061
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open source files with corrupted file
+//!				Uses API elements: NewL(), OpenFileL()
+//! @SYMTestActions		1. Create obect 2. Open audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0061-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0061
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0062
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0062
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to set balance value above maximum.
+//!				Uses API elements: NewL(), SetBalance(), GetBalance().
+//! @SYMTestActions		1. Create object. 2. Set balance value above maximum.
+//!				3. Get balance value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Balance is set to maximum
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0062-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0062-001-SetBalance_command03
+		COMMAND		mdaaudioplayerutility1	GetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0062-001-GetBalance_command04
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0062
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0063
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0063
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to set balance value below minimum
+//!				Uses API elements: NewL(), SetBalance(), GetBalance().
+//! @SYMTestActions		1. Create object. 2. Set balance value below minimum.
+//!				3. Get balance value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Balance is set to minimum
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0063-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0063-001-SetBalance_command03
+		COMMAND		mdaaudioplayerutility1	GetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0063-001-GetBalance_command04
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0063
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0064
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0064
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to set balance without opening files before
+//!				Uses API elements: NewL(), SetBalance(), GetBalance().
+//! @SYMTestActions		1. Create object. 2. Set balance value.
+//!				3. Get balance value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	SetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0064-001-SetBalance_command02
+		COMMAND	!Error=-18	mdaaudioplayerutility1	GetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0064-001-GetBalance_command03
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0064
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0068
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0068
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to set position value above maximum.
+//!				Uses API elements: NewL(), OpenFileL(), SetPosition(), GetPosition().
+//! @SYMTestActions		1. Create object. 2. Open audio sample
+//!				3. Set position value above maximum. 4. Get position.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Position is set to maximum
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0068-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetPosition	MM-MMF-ACLNT-PLYR-PublicAPI-0068-001-SetPosition_command03
+		COMMAND		mdaaudioplayerutility1	GetPosition
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0068
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0069
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0069
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to set position value below minimum
+//!				Uses API elements: NewL(), OpenFileL(), SetPosition(), GetPosition().
+//! @SYMTestActions		1. Create object. 2. Open audio sample
+//!				3. Set position value below minimum. 4. Get position.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Position is set to 0
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0069-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetPosition	MM-MMF-ACLNT-PLYR-PublicAPI-0069-001-SetPosition_command03
+		COMMAND		mdaaudioplayerutility1	GetPosition	MM-MMF-ACLNT-PLYR-PublicAPI-0069-001-GetPosition_command04
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0069
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0070
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0070
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to set position without opening files before
+//!				Uses API elements: NewL(), SetPosition(), GetPosition().
+//! @SYMTestActions		1. Create object. 2. Set position value. 3. Get position.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Position is set to 0
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	SetPosition	MM-MMF-ACLNT-PLYR-PublicAPI-0070-001-SetPosition_command02
+		COMMAND		mdaaudioplayerutility1	GetPosition	MM-MMF-ACLNT-PLYR-PublicAPI-0070-001-GetPosition_command03
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0070
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0071
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0071
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get balance without opening files before
+//!				Uses API elements: NewL(), GetBalance().
+//! @SYMTestActions		1. Create object. 2. Get balance value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!Error=-18	mdaaudioplayerutility1	GetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0071-001-GetBalance_command02
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0071
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0072
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0072
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get balance after file was been closed
+//!				Uses API elements: NewL(), OpenFileL(), GetBalance(), Close().
+//! @SYMTestActions		1. Create object. 2. Open audio sample 3. Close audio sample 4. Get balance value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0072-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+		COMMAND	!Error=-18	mdaaudioplayerutility1	GetBalance	MM-MMF-ACLNT-PLYR-PublicAPI-0072-001-GetBalance_command04
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0072
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0073
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0073
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get position without opening files before
+//!				Uses API elements: NewL(),  GetPosition().
+//! @SYMTestActions		1. Create object. 2. Get position value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Position is set to 0
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	GetPosition	MM-MMF-ACLNT-PLYR-PublicAPI-0073-001-GetPosition_command02
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0073
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0074
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0074
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get position in audio sample after file was been closed
+//!				Uses API elements: NewL(),  OpenFileL(), GetPosition(), Close().
+//! @SYMTestActions		1. Create object. 2. Open audio sample 3. Close audio sample 4. Get position value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Position is set to 0
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0074-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+		COMMAND		mdaaudioplayerutility1	GetPosition	MM-MMF-ACLNT-PLYR-PublicAPI-0074-001-GetPosition_command04
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0074
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0075
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0075
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get volume without opening files before
+//!				Uses API elements: NewL(),  GetVolume().
+//! @SYMTestActions		1. Create object. 2. Get volume value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!Error=-18	mdaaudioplayerutility1	GetVolume	MM-MMF-ACLNT-PLYR-PublicAPI-0075-001-GetVolume_command02
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0075
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0076
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0076
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get volume in audio sample after file was been closed
+//!				Uses API elements: NewL(),  OpenFileL(), GetVolume(), Close().
+//! @SYMTestActions		1. Create object. 2. Open audio sample 3. Close audio sample 4. Get volume value.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0076-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+		COMMAND	!Error=-18	mdaaudioplayerutility1	GetVolume	MM-MMF-ACLNT-PLYR-PublicAPI-0076-001-GetVolume_command04
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0076
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0079
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0079
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get duration without opening files before
+//!				Uses API elements: NewL(),  Duration().
+//! @SYMTestActions		1. Create object. 2. Get duration.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Duration set to 0
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	Duration	MM-MMF-ACLNT-PLYR-PublicAPI-0079-001-Duration_command02
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0079
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0080
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0080
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get duration in audio sample after file was been closed
+//!				Uses API elements: NewL(),  OpenFileL(), Duration(), Close().
+//! @SYMTestActions		1. Create object. 2. Open audio sample 3. Close audio sample 4. Get duration.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Duration set to 0
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0080-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+		COMMAND		mdaaudioplayerutility1	Duration	MM-MMF-ACLNT-PLYR-PublicAPI-0080-001-Duration_command04
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0080
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0081
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0081
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get the duration when audio sample is not yet opened.
+//!				Uses API elements: NewL(), Duration(TTimeIntervalMicroSeconds aDuration).
+//! @SYMTestActions		1. Create audio player object. 2. Get duration.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No duration information is available
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	Duration	MM-MMF-ACLNT-PLYR-PublicAPI-0081-001-Duration_command02
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0081
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0082
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0082
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get duration while the stream object is closed.
+//!				Uses API elements: NewL(), OpenFileL(), Close(), Duration(TTimeIntervalMicroSeconds aDuration).
+//! @SYMTestActions		1. Create audio player object.  2. Open audio sample. 3. Close audio sample. 4. Get duration
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No duration information is available
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0082-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+		COMMAND		mdaaudioplayerutility1	Duration	MM-MMF-ACLNT-PLYR-PublicAPI-0082-001-Duration_command04
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0082
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0083
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0083
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set window for playback without opening files first
+//!				Uses API elements: NewL(), SetPlayWindow().
+//! @SYMTestActions		1. Create audio player object 2. Set window for playback
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrArgument is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!Error=-6	mdaaudioplayerutility1	SetPlayWindow	MM-MMF-ACLNT-PLYR-PublicAPI-0083-001-SetPlayWindow_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0083
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0084
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0084
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set window for playback, startpoint bigger than duration and endpoint negative
+//!				Uses API elements: NewL(), OpenFileL(), SetPlayWindow()
+//! @SYMTestActions		1. Create audio player object 2. Open audio data 3. Set window for playback
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrArgument is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0084-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-6	mdaaudioplayerutility1	SetPlayWindow	MM-MMF-ACLNT-PLYR-PublicAPI-0084-001-SetPlayWindow_command04
+		ASYNC_DELAY		5000000
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0084
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0085
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0085
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Clear the playback window without seting it first
+//!				Uses API elements: NewL(), OpenFileL(), ClearPlayWindow()
+//! @SYMTestActions		1. Create object 2. Open file 3. Clear the playback window
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No error is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0085-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	ClearPlayWindow
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0085
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0086
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0086
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set negative number of times to repeat
+//!				Uses API elements: NewL(), OpenFileL(), SetRepeats()
+//! @SYMTestActions		1. Create object 2. Set the number of repetitions for playback
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No error is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0086-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetRepeats	MM-MMF-ACLNT-PLYR-PublicAPI-0086-001-SetRepeats_command03
+		COMMAND		mdaaudioplayerutility1	Play
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0086
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0087
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0087
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set the negative value of period over which the volume is to rise
+//!				Uses API elements: NewL(), OpenFileL(), SetVolumeRamp()
+//! @SYMTestActions		1. Create object 2. OpenFileL() 3. Set the negative volumeramp
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No error is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0087-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetVolumeRamp	MM-MMF-ACLNT-PLYR-PublicAPI-0087-001-SetVolumeRamp_command03
+		COMMAND		mdaaudioplayerutility1	Play
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0087
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0088
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0088
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get the bit rate of the audio clip without opening files before
+//!				Uses API elements: NewL(), GetBitRate()
+//! @SYMTestActions		1. Create object. 2. Get the bit rate.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!Error=-18	mdaaudioplayerutility1	GetBitRate
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0088
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0089
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0089
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get bit rate in audio sample after file was been closed
+//!				Uses API elements: NewL(), OpenFileL(), Close(), GetBitRate().
+//! @SYMTestActions		1. Create object. 2. Open audio data 3. close audio example 4.Get the bit rate.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0089-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+		COMMAND	!Error=-18	mdaaudioplayerutility1	GetBitRate
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0089
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0090
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0090
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get the requested meta data entry of the audio clip without opening files before
+//!				Uses API elements: NewL(), GetMetaDataEntryL()
+//! @SYMTestActions		1. Create object. 2. Get the meta data entry.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!Error=-18	mdaaudioplayerutility1	GetMetaDataEntryL	MM-MMF-ACLNT-PLYR-PublicAPI-0090-001-GetMetaDataEntryL_command02
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0090
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0091
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0091
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get the requested meta data entry in audio sample after file was been closed
+//!				Uses API elements: NewL(), OpenFileL(), Close(), GetMetaDataEntryL().
+//! @SYMTestActions		1. Create object. 2. Open audio data 3. close audio example 4.Get the meta data entry.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL		MM-MMF-ACLNT-PLYR-PublicAPI-0091-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+		COMMAND	!Error=-18	mdaaudioplayerutility1	GetMetaDataEntryL	MM-MMF-ACLNT-PLYR-PublicAPI-0091-001-GetMetaDataEntryL_command04
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0091
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0092
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0092
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get the number of meta data entries in the current audio clip without opening file before
+//!				Uses API elements: NewL(), GetNumberOfMetaDataEntries()
+//! @SYMTestActions		1. Create and init 2. Get the number of meta data entries
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!Error=-18	mdaaudioplayerutility1	GetNumberOfMetaDataEntries
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0092
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0093
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0093
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get the number of meta data entries in the current audio after file was been closed
+//!				Uses API elements: NewL(), OpenFileL(), Close(), GetNumberOfMetaDataEntries().
+//! @SYMTestActions		1. Create object. 2. Open audio data 3. close audio example 4.Get the number of meta data entries.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL			MM-MMF-ACLNT-PLYR-PublicAPI-0093-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+		COMMAND	!Error=-18	mdaaudioplayerutility1	GetNumberOfMetaDataEntries
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0093
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0094
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0094
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to set priority level while the stream object is open
+//!				Uses API elements: NewL(), OpenFileL(), SetPriority().
+//! @SYMTestActions		1. Create audio player object. 2. Open output audio stream package.
+//!				3. Set new priority level.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No error is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0094-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0094-001-SetPriority_command03
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0094
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0095
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0095
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to set thread priority level while the stream object is open
+//!				Uses API elements: NewL(), OpenFileL(), SetThreadPriority().
+//! @SYMTestActions		1. Create audio player object. 2. Open output audio stream package.
+//!				3. Set new thread priority level.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No error is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL		MM-MMF-ACLNT-PLYR-PublicAPI-0095-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetThreadPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0095-001-SetThreadPriority_command03
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0095
+
+//! START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0096
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0096
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set invalid priority of the controller's sub thread
+//!				Uses API elements: NewL(), OpenFileL(), SetThreadPriority(EPriorityNull)
+//! @SYMTestActions		1. Create object 2. Open file 3. Set the priority of the controller's sub thread
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Panic code 14
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+//! 		COMMAND		mdaaudioplayerutility1	NewL
+//! 		COMMAND		mdaaudioplayerutility1	OpenFileL		MM-MMF-ACLNT-PLYR-PublicAPI-0096-001-OpenFileL_command02
+//! 		OUTSTANDING
+//! 		COMMAND		mdaaudioplayerutility1	SetThreadPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0096-001-SetThreadPriority_command03
+//! 		COMMAND		mdaaudioplayerutility1	Close
+//! 	END_TEST_BLOCK	!PanicString=KERN-EXEC !PanicCode=14
+//! END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0096
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0097
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0097
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set invalid priority for playback
+//!				Uses API elements: NewL(), OpenFileL(), SetPriority()
+//! @SYMTestActions		1. Create audio player object. 2. Open output audio stream package.
+//!				3. Set new priority level.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No error is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0097-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	SetPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0097-001-SetPriority_command03
+		COMMAND		mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0097
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0098
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0098
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send a synchronous custom command to the controller with negative function number with reference to a "DataFrom"
+//!				Uses API elements: NewL(), OpenFileL(), CustomCommandSync()
+//! @SYMTestActions		1. Create object 2. Open file 3. Send synchronous custom command
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL		MM-MMF-ACLNT-PLYR-PublicAPI-0098-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudioplayerutility1	CustomCommandSync	MM-MMF-ACLNT-PLYR-PublicAPI-0098-001-CustomCommandSync_command03
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0098
+
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0099
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0099
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send a synchronous custom command to the controller with negative function number without reference to a "DataFrom"
+//!				Uses API elements: NewL(), OpenFileL(), CustomCommandSync()
+//! @SYMTestActions		1. Create object 2. Open file 3. Send synchronous custom command
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL		MM-MMF-ACLNT-PLYR-PublicAPI-0099-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudioplayerutility1	CustomCommandSync	MM-MMF-ACLNT-PLYR-PublicAPI-0099-001-CustomCommandSync_command03
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0099
+
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0100
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0100
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send a asynchronous custom command to the controller with negative function number with reference to a "DataFrom"
+//!				Uses API elements: NewL(), OpenFileL(), CustomCommandASync()
+//! @SYMTestActions		1. Create object 2. Open file 3. Send a asynchronous custom command
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL		MM-MMF-ACLNT-PLYR-PublicAPI-0100-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	CustomCommandASync	MM-MMF-ACLNT-PLYR-PublicAPI-0100-001-CustomCommandASync_command03
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0100
+
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0101
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0101
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send a asynchronous custom command to the controller with negative function number without reference to a "DataFrom"
+//!				Uses API elements: NewL(), OpenFileL(), CustomCommandASync()
+//! @SYMTestActions		1. Create object 2. Open file 3. Send a asynchronous custom command
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL		MM-MMF-ACLNT-PLYR-PublicAPI-0101-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	CustomCommandASync	MM-MMF-ACLNT-PLYR-PublicAPI-0101-001-CustomCommandASync_command03
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0101
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0102
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0102
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get the current progress of audio loading without opened file before
+//!				Uses API elements: NewL(), GetAudioLoadingProgressL().
+//! @SYMTestActions		1. Create object. 2. Get loading progress
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!Error=-18	mdaaudioplayerutility1	GetAudioLoadingProgressL
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0102
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0103
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0103
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get the current progress of audio loading after file was been closed
+//!				Uses API elements: NewL(), OpenFileL(), Close(), GetAudioLoadingProgressL().
+//! @SYMTestActions		1. Create object. 2. Open file 3. Close file 4. Get loading progress
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL			MM-MMF-ACLNT-PLYR-PublicAPI-0103-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+		COMMAND	!Error=-18	mdaaudioplayerutility1	GetAudioLoadingProgressL
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0103
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0104
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0104
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to play audio stream without opened file before
+//!				Uses API elements: NewL(), Play().
+//! @SYMTestActions		1. Create object. 2. Play audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK 	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!AsyncError=-18	mdaaudioplayerutility1	Play
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0104
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0105
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0105
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to play audio stream after file has been closed
+//!				Uses API elements: NewL(), OpenFileL(), Close(), Play().
+//! @SYMTestActions		1. Create object. 2. Open audio example 3. Close audio 4. Play audio example
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0105-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+		COMMAND	!AsyncError=-18 mdaaudioplayerutility1	Play
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0105
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0106
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0106
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to stop the audio stream without opened file before
+//!				Uses API elements: NewL(), Stop().
+//! @SYMTestActions		1. Create audio player object. 2. Stop audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No error is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	Stop
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0106
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0107
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0107
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to stop the audio stream after file has been closed
+//!				Uses API elements: NewL(), OpenFileL(), Close(), Stop().
+//! @SYMTestActions		1. Create object. 2. Open audio example 3. Close audio 4. Stop audio example
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No error is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0107-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+		COMMAND		mdaaudioplayerutility1	Stop
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0107
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0108
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0108
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to pause audio stream without opened file before
+//!				Uses API elements: NewL(), Pause().
+//! @SYMTestActions		1. Create object. 2. Pause audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No error is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	Pause
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0108
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0109
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0109
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to pause audio stream after file has been closed
+//!				Uses API elements: NewL(), OpenFileL(), Close(), Pause().
+//! @SYMTestActions		1. Create object. 2. Open audio example 3. Close audio 4. Pause audio example
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No error is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0109-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudioplayerutility1	Close
+		COMMAND		mdaaudioplayerutility1	Pause
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0109
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0110
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0110
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to resume play audio stream without opened file before
+//!				Uses API elements: NewL(), WillResumePlay().
+//! @SYMTestActions		1. Create object. 2. Resume play audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!Error=-18	mdaaudioplayerutility1	WillResumePlay
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0110
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0111
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0111
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to resume play audio stream after file has been closed
+//!				Uses API elements: NewL(), OpenFileL(), Close(), WillResumePlay().
+//! @SYMTestActions		1. Create object. 2. Open audio example 3. Close audio 4. Resume play audio example
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0111-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+		COMMAND	!Error=-18	mdaaudioplayerutility1	WillResumePlay
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0111
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0112
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0112
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to close audio stream without opened file before
+//!				Uses API elements: NewL(), Close().
+//! @SYMTestActions		1. Create object. 2. Close audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No error is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	Close
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0112
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0113
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0113
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to register the event for notification when resource is not availiable
+//!				Uses API elements: NewL(), RegisterAudioResourceNotification().
+//! @SYMTestActions		1. Create object. 2. Register the event
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No error is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	RegisterAudioResourceNotification	MM-MMF-ACLNT-PLYR-PublicAPI-0113-001-RegisterAudioResourceNotification_command02
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0113
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0114
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0114
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to cancel the event without their registration before.
+//!				Uses API elements: NewL(), CancelRegisterAudioResourceNotification().
+//! @SYMTestActions		1. Create object. 2. Cancel of the registration event.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrCancel is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!Error=-3	mdaaudioplayerutility1	CancelRegisterAudioResourceNotification	MM-MMF-ACLNT-PLYR-PublicAPI-0114-001-CancelRegisterAudioResourceNotification_command02
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0114
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0115
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0115
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to register callback object to receive notifications of audio loading/rebuffering without opened file before.
+//!				Uses API elements: NewL(), RegisterForAudioLoadingNotification().
+//! @SYMTestActions		1. Create object. 2. Register For Audio Loading Notification
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No error is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND		mdaaudioplayerutility1	NewL
+		COMMAND		mdaaudioplayerutility1	RegisterForAudioLoadingNotification
+		COMMAND		mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0115
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0118
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0118
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open nonexisting source file using TMMSource parameter
+//!				Uses API elements: NewL(), OpenFileL()
+//! @SYMTestActions		1. Create obect 2. Open audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			!Error=0 !AsyncError=-1 mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0118-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0118
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0119
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0119
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open source files with not valid format file using TMMSource parameter.
+//!				Uses API elements: NewL(), OpenFileL()
+//! @SYMTestActions		1. Create obect 2. Open audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			!Error=0 !AsyncError=-5 mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0119-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0119
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0120
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0120
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open source files with corrupted file using TMMSource parameter
+//!				Uses API elements: NewL(), OpenFileL()
+//! @SYMTestActions		1. Create obect 2. Open audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			!Error=0 !AsyncError=-5 mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0120-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0120
+
+//! START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0121
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0121
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Try to open source file with closed RFile
+//!				Uses API elements: NewL(), OpenFileL()
+//! @SYMTestActions		1. Create obect 2. Open audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Panic code 0
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+//! 		COMMAND		mdaaudioplayerutility1	NewL
+//! 		COMMAND		mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0121-001-OpenFileL_command02
+//! 		COMMAND		mdaaudioplayerutility1	Close
+//! 	END_TEST_BLOCK	!PanicCode=0
+//! END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0121
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0122
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0122
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open source files with not valid format file using RFile parameter
+//!				Uses API elements: NewL(), OpenFileL(), Play()
+//! @SYMTestActions		1. Create obect 2. Open audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0122-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0122
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0123
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0123
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Tveritin Sergei
+//! @SYMCreationDate		01/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open source files with corrupted file using RFile parameter
+//!				Uses API elements: NewL(), OpenFileL()
+//! @SYMTestActions		1. Create obect 2. Open audio data
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0123-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0123
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0124
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0124
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Louis Henry Nayegon
+//! @SYMCreationDate		16/10/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Try to set the priority of the controller's sub thread when not open
+//!				Uses API elements: NewL(), SetThreadPriority().
+//! @SYMTestActions		1. Create object 2. Set the priority of the controller's sub thread
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Specified priorities not set, but fail with error KErrNotReady(-18)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND	!Error=-18	mdaaudioplayerutility1	SetThreadPriority		MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command02
+		COMMAND	!Error=-18	mdaaudioplayerutility1	SetThreadPriority		MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command03
+		COMMAND	!Error=-18	mdaaudioplayerutility1	SetThreadPriority		MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command04
+		COMMAND	!Error=-18	mdaaudioplayerutility1	SetThreadPriority		MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command05
+		COMMAND	!Error=-18	mdaaudioplayerutility1	SetThreadPriority		MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command06
+		COMMAND	!Error=-18	mdaaudioplayerutility1	SetThreadPriority		MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command07
+		COMMAND	!Error=-18	mdaaudioplayerutility1	SetThreadPriority		MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command08
+		COMMAND	!Error=-18	mdaaudioplayerutility1	SetThreadPriority		MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command09
+		COMMAND	!Error=-18	mdaaudioplayerutility1	SetThreadPriority		MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command10
+		COMMAND	!Error=-18	mdaaudioplayerutility1	SetThreadPriority		MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command11
+		COMMAND	!Error=-18	mdaaudioplayerutility1	SetThreadPriority		MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command12
+		COMMAND	!Error=-18	mdaaudioplayerutility1	SetThreadPriority		MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command13
+		COMMAND			mdaaudioplayerutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0124
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0125
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0125
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Louis Henry Nayegon
+//! @SYMCreationDate		24/11/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Try to set the priority of the controller's sub thread when not open
+//!				Uses API elements: NewL(), SetThreadPriority().
+//! @SYMTestActions		1. Create object 2. Set the priority of the controller's sub thread
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Specified priorities not set, but fail with error KErrInUse(-14)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility2
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0125-001-OpenFileL_command03
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	SetPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0125-001-SetPriority_command04
+		COMMAND			mdaaudioplayerutility2	NewL
+		COMMAND			mdaaudioplayerutility2	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0125-001-OpenFileL_command07
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility2	SetPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0125-001-SetPriority_command08
+		COMMAND	!AsyncError=-14	mdaaudioplayerutility1	Play		MM-MMF-ACLNT-PLYR-PublicAPI-0125-001-Play_command11
+		ASYNC_DELAY		5000000
+		COMMAND			mdaaudioplayerutility2	Play
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+		COMMAND			mdaaudioplayerutility2	Close
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0125
+
+START_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0126
+//! @SYMTestCaseID		MM-MMF-ACLNT-PLYR-PublicAPI-0126
+//! @SYMAPI			CMdaAudioPlayerUtility
+//! @SYMAuthor			Louis Henry Nayegon
+//! @SYMCreationDate		24/11/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Try to set the priority of the controller's sub thread when not open
+//!				Uses API elements: NewL(), SetThreadPriority().
+//! @SYMTestActions		1. Create object 2. Set the priority of the controller's sub thread
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Specified priorities not set, but fail with error KErrInUse(-14)
+//! @SYMTestType		CIT
+CONCURRENT
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility1
+		COMMAND			mdaaudioplayerutility1	NewL
+		COMMAND			mdaaudioplayerutility1	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0126-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	SetPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0126-001-SetPriority_command03
+		COMMAND	!AsyncError=-14	mdaaudioplayerutility1	Play
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility1	Close
+	END_TEST_BLOCK
+	START_TEST_BLOCK	100	T_MdaAudioPlayerUtility	\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioPlayerUtility	mdaaudioplayerutility2
+		ASYNC_DELAY		1000000
+		COMMAND			mdaaudioplayerutility2	NewL
+		COMMAND			mdaaudioplayerutility2	OpenFileL	MM-MMF-ACLNT-PLYR-PublicAPI-0126-002-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility2	SetPriority	MM-MMF-ACLNT-PLYR-PublicAPI-0126-002-SetPriority_command03
+		ASYNC_DELAY		5000000
+		COMMAND			mdaaudioplayerutility2	Play
+		OUTSTANDING
+		COMMAND			mdaaudioplayerutility2	Close
+	END_TEST_BLOCK
+CONSECUTIVE
+END_TESTCASE			MM-MMF-ACLNT-PLYR-PublicAPI-0126
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/scripts/setup-MM-MMF-ACLNT-PLYR-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,46 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\t_mdaaudioplayerutility\
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.script		${SYSDRIVE}\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.script
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.script
+
+RUN_UTILS CopyFile	z:\multimedia\t_multimedia.tcs			${SYSDRIVE}\multimedia\t_multimedia.tcs
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia.tcs
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini			${SYSDRIVE}\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini
+
+RUN_UTILS CopyFile	z:\multimedia\t_mdaaudioplayerutility\test.wav			${SYSDRIVE}\multimedia\t_mdaaudioplayerutility\test.wav
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_mdaaudioplayerutility\test.wav
+
+RUN_UTILS CopyFile	z:\multimedia\t_mdaaudioplayerutility\test.bad			${SYSDRIVE}\multimedia\t_mdaaudioplayerutility\test.bad
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_mdaaudioplayerutility\test.bad
+
+RUN_UTILS CopyFile	z:\multimedia\t_mdaaudioplayerutility\test_err.wav		${SYSDRIVE}\multimedia\t_mdaaudioplayerutility\test_err.wav
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_mdaaudioplayerutility\test_err.wav
+
+RUN_UTILS CopyFile	z:\multimedia\t_mdaaudioplayerutility\empty.wav			${SYSDRIVE}\multimedia\t_mdaaudioplayerutility\empty.wav
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_mdaaudioplayerutility\empty.wav
+
+RUN_UTILS CopyFile	z:\multimedia\t_mdaaudioplayerutility\answeringmachine.wav	${SYSDRIVE}\multimedia\t_mdaaudioplayerutility\answeringmachine.wav
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_mdaaudioplayerutility\answeringmachine.wav
+
+RUN_UTILS CopyFile	z:\multimedia\t_mdaaudioplayerutility\explode.au		${SYSDRIVE}\multimedia\t_mdaaudioplayerutility\explode.au
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_mdaaudioplayerutility\explode.au
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/src/T_MMDataMdaAudioPlayerUtility.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1680 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <mm/mmcaf.h>
+//	User Includes
+#include "T_MMDataMdaAudioPlayerUtility.h"
+#include "T_MMUtil.h"
+
+
+
+/*@{*/
+//Parameters implementation
+_LIT(KBalance,										"balance");
+_LIT(KPosition,										"position");
+_LIT(KVolume,										"volume");
+_LIT(KInputFile,									"inputfile");
+_LIT(KRFile,										"rfile");
+_LIT(KTMMSource,									"tmmsource");
+_LIT(KPlayWindowStart,								"start");
+_LIT(KPlayWindowEnd,								"end");
+_LIT(KRepeatNumberOfTimes,							"repeatnumberoftimes");
+_LIT(KTrailingSilence,								"trailingsilence");
+_LIT(KRampDuration,									"rampduration");
+_LIT(KMetaDataIndex,								"metadataindex");
+_LIT(KFunction,										"function");
+_LIT(KUseDataFrom,									"usedatafrom");
+_LIT(KUniqueId, 									"uniqueid");
+_LIT(KEnableUI, 									"enableui");
+_LIT(KMaxVolume, 									"maxvolume");
+_LIT(KDuration2, 									"duration2");
+_LIT(KTime,		 									"time");
+_LIT(KBitRate, 										"bitrate");
+_LIT(KNbrEntries, 									"nbrentries");
+_LIT(KEventUID, 									"eventuid");
+_LIT(KDRMCustomCommand, 							"drmcommand");
+_LIT(KAccessPointID, 								"accesspoint");
+_LIT(KMimeType, 									"mimetype");
+_LIT(KDataTo1,										"datato1");
+_LIT(KDataTo2,										"datato2");
+_LIT(KOpenFile,										"openfile");
+_LIT(KDurationState, 								"durationstate");
+
+_LIT(KEMMFDurationInfoValid, 						"Valid");
+_LIT(KEMMFDurationInfoInfinite, 					"Infinite");
+_LIT(KEMMFDurationInfoUnknown, 						"Unknown");
+_LIT(KProgress, 									"Progress");
+_LIT(KRepeatForever,    				         	"RepeatForever");
+
+//Commands implementation
+_LIT(KCmdDestructor,								"~");
+_LIT(KCmdNewL,										"NewL");
+_LIT(KCmdNewFilePlayerL,							"NewFilePlayerL");
+_LIT(KCmdNewDesPlayerReadOnlyL,						"NewDesPlayerReadOnlyL");
+_LIT(KCmdNewDesPlayerL,								"NewDesPlayerL");
+_LIT(KCmdOpenDesL,									"OpenDesL");
+_LIT(KCmdOpenUrlL,									"OpenUrlL");
+_LIT(KCmdOpenFileL,									"OpenFileL");
+_LIT(KCmdClose,										"Close");
+_LIT(KCmdPlay,										"Play");
+_LIT(KCmdPause,										"Pause");
+_LIT(KCmdWillResumePlay,							"WillResumePlay");
+_LIT(KCmdStop,										"Stop");
+_LIT(KCmdSetVolume,									"SetVolume");
+_LIT(KCmdSetBalance,								"SetBalance");
+_LIT(KCmdSetPosition,								"SetPosition");
+_LIT(KCmdMaxVolume,									"MaxVolume");
+_LIT(KCmdGetVolume,									"GetVolume");
+_LIT(KCmdGetBalance,								"GetBalance");
+_LIT(KCmdGetPosition,								"GetPosition");
+_LIT(KCmdDuration,									"Duration");
+_LIT(KCmdSetPlayWindow,								"SetPlayWindow");
+_LIT(KCmdClearPlayWindow,							"ClearPlayWindow");
+_LIT(KCmdSetRepeats,								"SetRepeats");
+_LIT(KCmdSetVolumeRamp,								"SetVolumeRamp");
+_LIT(KCmdGetBitRate,								"GetBitRate");
+_LIT(KCmdGetMetaDataEntryL,							"GetMetaDataEntryL");
+_LIT(KCmdGetNumberOfMetaDataEntries,				"GetNumberOfMetaDataEntries");
+_LIT(KCmdRegisterAudioResourceNotification,			"RegisterAudioResourceNotification");
+_LIT(KCmdCancelRegisterAudioResourceNotification,	"CancelRegisterAudioResourceNotification");
+_LIT(KCmdRegisterForAudioLoadingNotification,		"RegisterForAudioLoadingNotification");
+_LIT(KCmdSetPriority,								"SetPriority");
+_LIT(KCmdSetThreadPriority,							"SetThreadPriority");
+_LIT(KCmdGetAudioLoadingProgressL,					"GetAudioLoadingProgressL");
+_LIT(KCmdGetDRMCustomCommand,						"GetDRMCustomCommand");
+_LIT(KCmdControllerImplementationInformationL,		"ControllerImplementationInformationL");
+_LIT(KCmdCustomCommandSync,							"CustomCommandSync");
+_LIT(KCmdCustomCommandASync,						"CustomCommandASync");
+_LIT(KCmdUseSharedHeap,								"UseSharedHeap");
+/*@}*/
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+CT_MMDataMdaAudioPlayerUtility* CT_MMDataMdaAudioPlayerUtility::NewL()
+	{
+	CT_MMDataMdaAudioPlayerUtility*	ret = new (ELeave) CT_MMDataMdaAudioPlayerUtility();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+CT_MMDataMdaAudioPlayerUtility::CT_MMDataMdaAudioPlayerUtility()
+:	iPlayerUtility(NULL)
+,	iActiveCustomCommandAsync(NULL)
+,	iServer(NULL)
+,	iAsyncErrorIndex(KErrNone)
+,	iFileOpened(EFalse)
+,	iBuffer(NULL)
+,	iBufferPtr(NULL)
+,	iPlaying(EFalse)
+	{
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::ConstructL()
+/**
+ * Second phase construction
+ *
+ * @internalComponent
+ *
+ * @return	N/A
+ *
+ * @pre		None
+ * @post	None
+ *
+ * @leave	system wide error
+ */
+	{
+	User::LeaveIfError(iFs.Connect());
+
+	iActiveCustomCommandAsync = CActiveCallback::NewL(*this);
+	iServer = CMdaServer::NewL();
+	}
+
+CT_MMDataMdaAudioPlayerUtility::~CT_MMDataMdaAudioPlayerUtility()
+/**
+ * Public destructor
+ */
+	{
+	DestroyData();
+
+	delete iServer;
+	iServer = NULL;
+
+	delete iActiveCustomCommandAsync;
+	iActiveCustomCommandAsync = NULL;
+
+	iFs.Close();
+	}
+
+TAny* CT_MMDataMdaAudioPlayerUtility::GetObject()
+	{
+	return iPlayerUtility;
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::SetObjectL(TAny* aObject)
+	{
+	DestroyData();
+	iPlayerUtility	= static_cast<CMdaAudioPlayerUtility*> (aObject);
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DisownObjectL()
+	{
+	iPlayerUtility = NULL;
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DestroyData()
+	{
+	if ( iFileOpened )
+		{
+		iFile.Close();
+		iFileOpened = EFalse;
+		}
+
+	delete iPlayerUtility;
+	iPlayerUtility = NULL;
+	delete iBufferPtr;
+	iBufferPtr=NULL;
+	delete iBuffer;
+	iBuffer	= NULL;
+	}
+
+TBool CT_MMDataMdaAudioPlayerUtility::DoCommandL( const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+/**
+ * Process a command read from the ini file
+ *
+ * @param aCommand			The command to process
+ * @param aSection			The section in the ini containing data for the command
+ * @param aAsyncErrorIndex	Command index for async calls to return errors to
+ *
+ * @return					ETrue if the command is processed
+ *
+ * @leave					System wide error
+ */
+	{
+	TBool ret = ETrue;
+
+	if ( aCommand == KCmdDestructor )
+		{
+		DoCmdDestructor();
+		}
+	else if ( aCommand == KCmdNewL )
+		{
+		DoCmdNewL(aSection);
+		}
+	else if ( aCommand == KCmdNewFilePlayerL )
+		{
+		DoCmdNewFilePlayerL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand == KCmdNewDesPlayerReadOnlyL )
+		{
+		DoCmdNewDesPlayerReadOnlyL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand == KCmdNewDesPlayerL )
+		{
+		DoCmdNewDesPlayerL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand == KCmdOpenDesL )
+		{
+		DoCmdOpenDesL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand == KCmdOpenUrlL )
+		{
+		DoCmdOpenUrlL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand == KCmdOpenFileL )
+		{
+		DoCmdOpenFileL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand == KCmdClose )
+		{
+		DoCmdClose();
+		}
+	else if ( aCommand == KCmdPlay )
+		{
+		DoCmdPlay(aAsyncErrorIndex);
+		}
+	else if ( aCommand == KCmdPause )
+		{
+		DoCmdPause();
+		}
+	else if ( aCommand == KCmdWillResumePlay )
+		{
+		DoCmdWillResumePlay();
+		}
+	else if ( aCommand == KCmdStop )
+		{
+		DoCmdStop();
+		}
+	else if ( aCommand == KCmdSetVolume )
+		{
+		DoCmdSetVolume(aSection);
+		}
+	else if ( aCommand == KCmdSetBalance )
+		{
+		DoCmdSetBalance(aSection);
+		}
+	else if ( aCommand == KCmdSetPosition )
+		{
+		DoCmdSetPosition(aSection);
+		}
+	else if ( aCommand == KCmdMaxVolume )
+		{
+		DoCmdMaxVolume(aSection);
+		}
+	else if ( aCommand == KCmdGetVolume )
+		{
+		DoCmdGetVolume(aSection);
+		}
+	else if ( aCommand == KCmdGetBalance )
+		{
+		DoCmdGetBalance(aSection);
+		}
+	else if ( aCommand == KCmdGetPosition )
+		{
+		DoCmdGetPosition(aSection);
+		}
+	else if ( aCommand == KCmdDuration )
+		{
+		DoCmdDuration(aSection);
+		}
+	else if ( aCommand == KCmdSetPlayWindow )
+		{
+		DoCmdSetPlayWindow(aSection);
+		}
+	else if ( aCommand == KCmdClearPlayWindow )
+		{
+		DoCmdClearPlayWindow();
+		}
+	else if ( aCommand == KCmdSetRepeats )
+		{
+		DoCmdSetRepeats(aSection);
+		}
+	else if ( aCommand == KCmdSetVolumeRamp )
+		{
+		DoCmdSetVolumeRamp(aSection);
+		}
+	else if ( aCommand == KCmdGetBitRate )
+		{
+		DoCmdGetBitRate(aSection);
+		}
+	else if ( aCommand == KCmdGetMetaDataEntryL )
+		{
+		DoCmdGetMetaDataEntryL(aSection);
+		}
+	else if ( aCommand == KCmdGetNumberOfMetaDataEntries )
+		{
+		DoCmdGetNumberOfMetaDataEntries(aSection);
+		}
+	else if ( aCommand == KCmdRegisterAudioResourceNotification )
+		{
+		DoCmdRegisterAudioResourceNotificationL(aSection);
+		}
+	else if ( aCommand == KCmdCancelRegisterAudioResourceNotification )
+		{
+		DoCmdCancelRegisterAudioResourceNotification(aSection);
+		}
+	else if ( aCommand == KCmdRegisterForAudioLoadingNotification )
+		{
+		DoCmdRegisterForAudioLoadingNotification();
+		}
+	else if ( aCommand == KCmdSetPriority )
+		{
+		DoCmdSetPriority(aSection);
+		}
+	else if ( aCommand == KCmdSetThreadPriority )
+		{
+		DoCmdSetThreadPriority(aSection);
+		}
+	else if ( aCommand == KCmdGetAudioLoadingProgressL )
+		{
+		DoCmdGetAudioLoadingProgressL(aSection);
+		}
+	else if ( aCommand == KCmdGetDRMCustomCommand )
+		{
+		DoCmdGetDRMCustomCommand(aSection);
+		}
+	else if ( aCommand == KCmdControllerImplementationInformationL )
+		{
+		DoCmdControllerImplementationInformationL();
+		}
+	else if ( aCommand == KCmdCustomCommandSync )
+		{
+		DoCmdCustomCommandSyncL(aSection);
+		}
+	else if ( aCommand == KCmdCustomCommandASync )
+		{
+		DoCmdCustomCommandAsyncL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand == KCmdUseSharedHeap )
+		{
+		DoCmdUseSharedHeap();
+		}
+	else
+		{
+		ret = EFalse;
+		}
+
+	return ret;
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdDestructor()
+	{
+	DestroyData();
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdNewL( const TDesC& aSection)
+	{
+	TInt	priority;
+	TBool	hasPriority=CT_MMUtil::ReadMdaPriority(*this, aSection, priority);
+
+	TMdaPriorityPreference	priorityPreference;
+	TBool					hasPreference=CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference);
+
+	if ( hasPriority && hasPreference )
+		{
+		TRAPD( err, iPlayerUtility = CMdaAudioPlayerUtility::NewL(*this, priority, priorityPreference) );
+		if ( err != KErrNone )
+			{
+			ERR_PRINTF2(_L("NewL(this, priority, priorityPreference) Error %d"), err);
+			SetError(err);
+			}
+		}
+	else	// if not setting Priority param
+		{
+		TRAPD(err, iPlayerUtility = CMdaAudioPlayerUtility::NewL(*this));
+		if ( err != KErrNone )
+			{
+			ERR_PRINTF2(_L("NewL(this) Error %d"), err);
+			SetError(err);
+			}
+		else
+			{
+			INFO_PRINTF1(_L("Function NewL(this) OK"));
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdNewFilePlayerL( const TDesC& aSection, const TInt aAsyncErrorIndex )
+	{
+
+	TInt	priority;
+	if ( !CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		priority=EMdaPriorityNormal;
+		}
+
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	TPtrC	inputFile;
+	if( GetStringFromConfig(aSection, KInputFile(), inputFile) )
+		{
+		CT_MMUtil::GetControllerAndFormatUidL(*this, inputFile, KUidMediaTypeAudio, EFalse, iAudioControllerUid, iAudioFormatUid);
+
+		iAsyncErrorIndex = aAsyncErrorIndex;
+
+		TRAPD(err, iPlayerUtility = CMdaAudioPlayerUtility::NewFilePlayerL (inputFile,
+																		    *this,
+																		    priority,
+																		    priorityPreference,
+																		    iServer));
+		if ( err == KErrNone )
+			{
+			INFO_PRINTF2(_L("Function NewFilePlayerL OK, file = %S"), &inputFile);
+			IncOutstanding();
+			//call back in MapcInitComplete
+			}
+		else
+			{
+			ERR_PRINTF3(_L("NewFilePlayerL(%S) Error %d"), &inputFile, err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Error read parameter =%S"), &KInputFile());
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdNewDesPlayerL( const TDesC& aSection, const TInt aAsyncErrorIndex )
+	{
+
+	TInt	priority;
+	if ( !CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		priority=EMdaPriorityNormal;
+		}
+
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	TPtrC	inputFile;
+	if( GetStringFromConfig(aSection, KInputFile(), inputFile) )
+		{
+		CT_MMUtil::GetControllerAndFormatUidL(*this, inputFile, KUidMediaTypeAudio, EFalse, iAudioControllerUid, iAudioFormatUid);
+
+		// Open file and read contents into buffer
+		RFile	file;
+		User::LeaveIfError(file.Open(iFs, inputFile, EFileRead | EFileShareAny));
+		CleanupClosePushL(file);
+
+		TInt fileSize = 0;
+		User::LeaveIfError(file.Size(fileSize));
+
+		delete iBuffer;
+		iBuffer=NULL;
+		iBuffer=HBufC8::NewL(fileSize);
+		*iBuffer=KNullDesC8;
+		delete iBufferPtr;
+		iBufferPtr=new (ELeave) TPtr8(iBuffer->Des());
+
+		User::LeaveIfError(file.Read(*iBufferPtr));
+
+		iAsyncErrorIndex = aAsyncErrorIndex;
+
+		TRAPD(err, iPlayerUtility = CMdaAudioPlayerUtility::NewDesPlayerL (*iBufferPtr,
+																		   *this,
+																		   priority,
+																		   priorityPreference,
+																		   iServer));
+		if ( err == KErrNone )
+			{
+			INFO_PRINTF2(_L("Function NewDesPlayerL OK, file = %S"), &inputFile);
+			IncOutstanding();
+			//call back in MapcInitComplete
+			}
+		else
+			{
+			ERR_PRINTF3(_L("NewDesPlayerL Error %d, file = %S"), err, &inputFile);
+			SetError(err);
+			}
+
+		CleanupStack::PopAndDestroy(&file);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Error read parameter =%S"), &KInputFile);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdNewDesPlayerReadOnlyL( const TDesC& aSection, const TInt aAsyncErrorIndex )
+	{
+
+	TInt	priority;
+	if ( !CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		priority=EMdaPriorityNormal;
+		}
+
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	TPtrC	inputFile;
+	if( GetStringFromConfig(aSection, KInputFile(), inputFile) )
+		{
+		CT_MMUtil::GetControllerAndFormatUidL(*this, inputFile, KUidMediaTypeAudio, EFalse, iAudioControllerUid, iAudioFormatUid);
+
+		// Open file and read contents into buffer
+		RFile	file;
+		User::LeaveIfError(file.Open(iFs, inputFile, EFileRead | EFileShareAny));
+		CleanupClosePushL(file);
+
+		TInt fileSize = 0;
+		User::LeaveIfError(file.Size(fileSize));
+
+		delete iBuffer;
+		iBuffer=NULL;
+		iBuffer=HBufC8::NewL(fileSize);
+		*iBuffer=KNullDesC8;
+		delete iBufferPtr;
+		iBufferPtr=new (ELeave) TPtr8(iBuffer->Des());
+
+		User::LeaveIfError(file.Read(*iBufferPtr));
+
+		iAsyncErrorIndex = aAsyncErrorIndex;
+
+		TRAPD(err, iPlayerUtility = CMdaAudioPlayerUtility::NewDesPlayerReadOnlyL (*iBufferPtr,
+																				   *this,
+																				   priority,
+																				   priorityPreference,
+																				   iServer));
+		if ( err == KErrNone )
+			{
+			INFO_PRINTF2(_L("Function NewDesPlayerReadOnlyL OK, file = %S"), &inputFile);
+			IncOutstanding();
+			//call back in MapcInitComplete
+			}
+		else
+			{
+			ERR_PRINTF3(_L("NewDesPlayerReadOnlyL Error %d, file = %S"), err, &inputFile);
+			SetError(err);
+			}
+
+		CleanupStack::PopAndDestroy(&file);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Error read parameter =%S"), &KInputFile());
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdOpenDesL( const TDesC& aSection, const TInt aAsyncErrorIndex )
+	{
+
+	TPtrC	inputFile;
+	if( GetStringFromConfig(aSection, KInputFile(), inputFile) )
+		{
+		CT_MMUtil::GetControllerAndFormatUidL(*this, inputFile, KUidMediaTypeAudio, EFalse, iAudioControllerUid, iAudioFormatUid);
+
+		// Open file and read contents into buffer
+		RFile	file;
+		User::LeaveIfError(file.Open(iFs, inputFile, EFileRead | EFileShareAny));
+		CleanupClosePushL(file);
+
+		TInt fileSize = 0;
+		User::LeaveIfError(file.Size(fileSize));
+
+		delete iBuffer;
+		iBuffer=NULL;
+		iBuffer=HBufC8::NewL(fileSize);
+		*iBuffer=KNullDesC8;
+		delete iBufferPtr;
+		iBufferPtr=new (ELeave) TPtr8(iBuffer->Des());
+
+		User::LeaveIfError(file.Read(*iBufferPtr));
+
+		iAsyncErrorIndex = aAsyncErrorIndex;
+
+		TRAPD(err, iPlayerUtility->OpenDesL(*iBufferPtr));
+
+		if ( err == KErrNone )
+			{
+			INFO_PRINTF2(_L("Function OpenDesL OK, file = %S"), &inputFile);
+			IncOutstanding();
+			//call back in MapcInitComplete
+			}
+		else
+			{
+			ERR_PRINTF3(_L("OpenDesL Error %d, file = %S"), err, &inputFile);
+			SetError(err);
+			}
+
+		CleanupStack::PopAndDestroy(&file);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Error read parameter =%S"), &KInputFile);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdOpenUrlL( const TDesC& aSection, const TInt aAsyncErrorIndex )
+	{
+
+	TPtrC	url;
+	if( GetStringFromConfig(aSection, KInputFile(), url) )
+		{
+		CT_MMUtil::GetControllerAndFormatUidL(*this, url, KUidMediaTypeAudio, EFalse, iAudioControllerUid, iAudioFormatUid);
+
+		TInt	accessPointID = KUseDefaultIap;
+		GetIntFromConfig(aSection, KAccessPointID(), accessPointID);
+
+		HBufC8*	mimeType8=NULL;
+		TPtrC	mimeType;
+		if ( GetStringFromConfig(aSection, KMimeType(), mimeType) )
+			{
+			mimeType8=HBufC8::NewL(mimeType.Length());
+			mimeType8->Des().Copy(mimeType);
+			}
+		else
+			{
+			mimeType8=HBufC8::NewL(0);
+			mimeType8->Des().Copy(KNullDesC8);
+			}
+		CleanupStack::PushL(mimeType8);
+
+		iAsyncErrorIndex = aAsyncErrorIndex;
+
+		TRAPD(err, iPlayerUtility->OpenUrlL(url, accessPointID, *mimeType8));
+		if ( err == KErrNone )
+			{
+			INFO_PRINTF2(_L("Function OpenUrlL OK, url = %S"), &url);
+			IncOutstanding();
+			//call back in MapcInitComplete
+			}
+		else
+			{
+			ERR_PRINTF3(_L("OpenUrlL(%S) Error %d"), &url, err);
+			SetError(err);
+			}
+
+		CleanupStack::PopAndDestroy(mimeType8);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Error read parameter =%S"), &KInputFile);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdOpenFileL( const TDesC& aSection, const TInt aAsyncErrorIndex )
+	{
+
+	iAsyncErrorIndex = aAsyncErrorIndex;
+
+	TPtrC	inputFile;
+	if( GetStringFromConfig(aSection, KInputFile(), inputFile) )
+		{
+		CT_MMUtil::GetControllerAndFormatUidL(*this, inputFile, KUidMediaTypeAudio, EFalse, iAudioControllerUid, iAudioFormatUid);
+
+		TBool useTMMSource = EFalse;
+		GetBoolFromConfig(aSection, KTMMSource(), useTMMSource);
+
+		TBool useRFile = EFalse;
+		GetBoolFromConfig(aSection, KRFile(), useRFile);
+
+		if (useRFile)
+		    {
+			// Open file and read contents into buffer
+		    if ( iFileOpened )
+		        {
+		        iFile.Close();
+		        iFileOpened = EFalse;
+		        }
+
+	        TBool openFile = ETrue;
+			GetBoolFromConfig(aSection, KOpenFile(), openFile);
+
+	        if( openFile )
+		        {
+			    User::LeaveIfError(iFile.Open(iFs, inputFile, EFileRead | EFileShareAny));
+			    iFileOpened = ETrue;
+		        }
+
+		    TRAPD(err, iPlayerUtility->OpenFileL(iFile));
+			if ( err == KErrNone )
+				{
+				INFO_PRINTF2(_L("Function OpenFileL(RFile) OK, file = %S"), &inputFile);
+				IncOutstanding();
+				//call back in MapcInitComplete
+				}
+			else
+				{
+				ERR_PRINTF2(_L("OpenFileL(RFile) Error =%d"), err);
+				SetError(err);
+				}
+	    	}
+		else if (useTMMSource)
+		    {
+		    ContentAccess::TIntent	intent=ContentAccess::EPeek;
+			if ( !CT_MMUtil::ReadIntent(*this, aSection, intent) )
+				{
+				intent=ContentAccess::EPeek;
+				}
+
+		    TPtrC uniqueId = _L("");
+		    GetStringFromConfig(aSection, KUniqueId(), uniqueId);
+
+		    TBool enableUI = EFalse;
+		    GetBoolFromConfig(aSection, KEnableUI(), enableUI);
+
+		    TMMFileSource fileSource(inputFile, uniqueId, intent, enableUI);
+
+		    TRAPD(err, iPlayerUtility->OpenFileL(fileSource));
+			if ( err == KErrNone )
+				{
+				INFO_PRINTF2(_L("Function OpenFileL(TMMSource) OK, file = %S"), &inputFile);
+				IncOutstanding();
+				//call back in MapcInitComplete
+				}
+			else
+				{
+				ERR_PRINTF2(_L("OpenFileL(TMMSource) Error =%d"), err);
+				SetError(err);
+				}
+		    }
+		else
+		    {
+		    TRAPD(err, iPlayerUtility->OpenFileL(inputFile));
+			if ( err == KErrNone )
+				{
+				INFO_PRINTF2(_L("Function OpenFileL(TDesC8) OK, file = %S"), &inputFile);
+				IncOutstanding();
+				//call back in MapcInitComplete
+				}
+			else
+				{
+				ERR_PRINTF2(_L("OpenFileL(TDesC8) Error =%d"), err);
+				SetError(err);
+				}
+		    }
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Error read parameter =%S"), &KInputFile);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdClose()
+	{
+	iPlayerUtility->Close();
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdPlay( const TInt aAsyncErrorIndex )
+	{
+	iAsyncErrorIndex = aAsyncErrorIndex;
+	iPlaying=ETrue;
+	iPlayerUtility->Play();
+	IncOutstanding();
+	//call back in MapcPlayComplete
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdPause()
+	{
+	TInt error = iPlayerUtility->Pause();
+	if ( error != KErrNone )
+		{
+		ERR_PRINTF2(_L("Cannot Pause, Error %d"), error);
+		SetError(error);
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdWillResumePlay()
+	{
+	TInt err = iPlayerUtility->WillResumePlay();
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("WillResumePlay Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdStop()
+	{
+	iPlayerUtility->Stop();
+	if ( iPlaying )
+		{
+		iPlaying=EFalse;
+		DecOutstanding();
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdSetVolume( const TDesC& aSection)
+	{
+	TInt								setVolume=0;
+
+	GetIntFromConfig(aSection, KVolume(), setVolume);
+
+	iPlayerUtility->SetVolume(setVolume);
+	INFO_PRINTF2(_L("SetVolume = %d"), setVolume);
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdSetBalance( const TDesC& aSection)
+	{
+	TInt								balance = 0;
+
+	GetIntFromConfig(aSection, KBalance(), balance);
+
+	iPlayerUtility->SetBalance(balance);
+	INFO_PRINTF2(_L("SetBalance = %d"), balance);
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdSetPosition( const TDesC& aSection)
+	{
+	TInt								inputPosition = 0;
+
+	GetIntFromConfig(aSection, KPosition(), inputPosition);
+
+	TTimeIntervalMicroSeconds time(inputPosition);
+	iPlayerUtility->SetPosition(time);
+	INFO_PRINTF2(_L("SetPosition OK. Current position: GetPosition() = %d"), inputPosition);
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdMaxVolume( const TDesC& aSection)
+	{
+
+	TInt	maxVolume = iPlayerUtility->MaxVolume();
+	INFO_PRINTF2(_L("MaxVolume = %d"), maxVolume);
+
+	TInt	inputVolume = 0;
+	if ( GetIntFromConfig(aSection, KMaxVolume(), inputVolume) )
+		{
+		if( inputVolume != maxVolume )
+			{
+			ERR_PRINTF3(_L("MaxVolume (%d) != inputVolume (%d)"), maxVolume, inputVolume);
+			SetBlockResult(EFail);
+			}
+		else
+			{
+			INFO_PRINTF3(_L("MaxVolume (%d) == inputVolume (%d)"), maxVolume, inputVolume);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdGetVolume( const TDesC& aSection)
+	{
+	TInt								currentVolume=0;
+
+	TInt	error = iPlayerUtility->GetVolume(currentVolume);
+	if ( error  != KErrNone )
+		{
+		ERR_PRINTF2(_L("Error GetVolume, Error %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		TInt inputVolume	= 0;
+
+		if( GetIntFromConfig(aSection, KVolume(), inputVolume) )
+			{
+			if(inputVolume != currentVolume)
+				{
+				ERR_PRINTF3(_L("Current volume %d != %d"), currentVolume, inputVolume);
+				SetBlockResult(EFail);
+				}
+			else
+				{
+				INFO_PRINTF3(_L("Current volume %d == %d"), currentVolume, inputVolume);
+				}
+			}
+		else
+			{
+			INFO_PRINTF2(_L("Current volume = %d"), currentVolume);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdGetBalance( const TDesC& aSection)
+	{
+	TInt 								currentBalance=0;
+
+	TInt	error = iPlayerUtility->GetBalance(currentBalance);
+	if ( error  != KErrNone )
+		{
+		ERR_PRINTF2(_L("Error GetBalance, Error %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		TInt inputBalance 	=0;
+		if( GetIntFromConfig(aSection, KBalance(), inputBalance) )
+			{
+			if(inputBalance != currentBalance)
+				{
+				ERR_PRINTF3(_L("Current balance %d != %d"), currentBalance, inputBalance);
+				SetBlockResult(EFail);
+				}
+			else
+				{
+				INFO_PRINTF3(_L("Current balance %d == %d"), currentBalance, inputBalance);
+				}
+			}
+		else
+			{
+			INFO_PRINTF2(_L("Current balance = %d"), currentBalance);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdGetPosition( const TDesC& aSection)
+	{
+	TTimeIntervalMicroSeconds 			currentPosition=0;
+
+	TInt	error = iPlayerUtility->GetPosition(currentPosition);
+	if ( error  != KErrNone )
+		{
+		ERR_PRINTF2(_L("Error GetPosition, Error %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Current position = %d"), currentPosition.Int64());
+
+		TInt expectedPosition=0;
+		if ( GetIntFromConfig(aSection, KPosition(), expectedPosition) )
+			{
+			if(expectedPosition != currentPosition.Int64())
+				{
+				ERR_PRINTF3(_L("Current position %d != %d"), currentPosition.Int64(), expectedPosition);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdDuration( const TDesC& aSection)
+	{
+	TTimeIntervalMicroSeconds  			actualDuration;
+	TInt 								expectedDuration=0;
+
+	//	Read from INI file which function of Duration we can use.
+	//	If parameter "command_duration2" is = TRUE then use Duration2
+	TBool useDuration2 = EFalse;
+	GetBoolFromConfig(aSection, KDuration2(), useDuration2);
+
+	if( !useDuration2 )
+		{
+		actualDuration = iPlayerUtility->Duration();
+		INFO_PRINTF2(_L("Duration = %d (MicroSec)"), actualDuration.Int64());
+
+		if( GetIntFromConfig(aSection, KTime(), expectedDuration) )
+			{
+			if( expectedDuration != actualDuration.Int64() )
+				{
+	        	ERR_PRINTF3(_L("expectedDuration (%d) != actualDuration (%d)"), expectedDuration, actualDuration.Int64());
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		TMMFDurationInfo	actualDurationInfo = iPlayerUtility->Duration(actualDuration);
+		switch (actualDurationInfo)
+			{
+		case EMMFDurationInfoValid:
+			INFO_PRINTF2(_L("Duration = %d (MicroSec)"), actualDuration.Int64());
+			break;
+		case EMMFDurationInfoUnknown:
+			INFO_PRINTF1(_L("Duration length is unknown"));
+			break;
+		case EMMFDurationInfoInfinite:
+			INFO_PRINTF1(_L("Clip is of infinite length"));
+			break;
+		default:
+			break;
+			}
+
+		TPtrC	expectedDurationState;
+		if( GetStringFromConfig(aSection, KDurationState(), expectedDurationState) )
+			{
+			TMMFDurationInfo	expectedDurationInfo = EMMFDurationInfoValid;
+
+			if( expectedDurationState == KEMMFDurationInfoValid )
+				{
+				expectedDurationInfo = EMMFDurationInfoValid;
+				}
+			else if( expectedDurationState == KEMMFDurationInfoUnknown )
+				{
+				expectedDurationInfo = EMMFDurationInfoUnknown;
+				}
+			else if( expectedDurationState == KEMMFDurationInfoInfinite )
+				{
+				expectedDurationInfo = EMMFDurationInfoInfinite;
+				}
+			else
+				{
+	        	ERR_PRINTF2(_L("Invalid expected duration state (%S)"), &expectedDurationState);
+				SetBlockResult(EFail);
+				}
+
+			if( expectedDurationInfo != actualDurationInfo )
+				{
+	        	ERR_PRINTF2(_L("expectedDurationInfo (%S) != actualDurationInfo"), &expectedDurationState);
+				SetBlockResult(EFail);
+				}
+			}
+
+		if( GetIntFromConfig(aSection, KTime(), expectedDuration) )
+			{
+			if( expectedDuration != actualDuration.Int64() )
+				{
+	        	ERR_PRINTF3(_L("expectedDuration (%d) != actualDuration (%d)"), expectedDuration, actualDuration.Int64());
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdSetPlayWindow( const TDesC& aSection)
+	{
+
+	TInt inputStart=0;
+	GetIntFromConfig(aSection, KPlayWindowStart(), inputStart);
+
+	TInt inputEnd=0;
+	GetIntFromConfig(aSection, KPlayWindowEnd(), inputEnd);
+
+	const TTimeIntervalMicroSeconds timeStart(inputStart);
+	const TTimeIntervalMicroSeconds timeEnd(inputEnd);
+
+	TInt	error = iPlayerUtility->SetPlayWindow(timeStart, timeEnd);
+	if ( error != KErrNone )
+		{
+		ERR_PRINTF2(_L("SetPlayWindow Error %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		INFO_PRINTF3(_L("SetPlayWindow Start =%d, End =%d"), inputStart, inputEnd);
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdClearPlayWindow()
+	{
+	TInt	error = iPlayerUtility->ClearPlayWindow();
+	if ( error != KErrNone )
+		{
+		ERR_PRINTF2(_L("ClearPlayWindow Error %d"), error);
+		SetError(error);
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdSetRepeats( const TDesC& aSection)
+	{
+
+	TInt inputNumber=0;
+	if ( !GetIntFromConfig(aSection, KRepeatNumberOfTimes(), inputNumber) )
+		{
+		TPtrC   repeatStr;
+		if ( GetStringFromConfig(aSection, KRepeatNumberOfTimes(), repeatStr) )
+			{
+			if ( repeatStr==KRepeatForever )
+				{
+				inputNumber=KMdaRepeatForever;
+				}
+		    else
+				{
+				TInt repeatInt=0;
+				if ( GetIntFromConfig(aSection, KRepeatNumberOfTimes(), repeatInt) )
+					{
+					inputNumber=repeatInt;
+					}
+				else
+					{
+					ERR_PRINTF2(_L("Illegal repeat parameter given %S"), &repeatStr);
+					SetBlockResult(EFail);
+					}
+				}
+			}
+		}
+
+	TInt inputSilence=0;
+	GetIntFromConfig(aSection, KTrailingSilence(), inputSilence);
+
+	TTimeIntervalMicroSeconds	timeTrailingSilence = inputSilence;
+	iPlayerUtility->SetRepeats(inputNumber, timeTrailingSilence);
+	INFO_PRINTF3(_L("SetRepeats RepeatNumberOfTimes =%d, TrailingSilence =%d"), inputNumber, inputSilence);
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdSetVolumeRamp( const TDesC& aSection)
+	{
+
+	TInt inputDuration=0;
+	GetIntFromConfig(aSection, KRampDuration(), inputDuration);
+
+	TTimeIntervalMicroSeconds	timeDuration = inputDuration;
+	iPlayerUtility->SetVolumeRamp(timeDuration);
+	INFO_PRINTF2(_L("SetVolumeRamp RampDuration =%d"), inputDuration);
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdGetBitRate( const TDesC& aSection)
+	{
+	TUint	currentBitRate;
+	TInt	error = iPlayerUtility->GetBitRate(currentBitRate);
+	if ( error != KErrNone )
+		{
+		ERR_PRINTF2(_L("GetBitRate. Error %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		TInt inputBitRate=0;
+		if( GetIntFromConfig(aSection, KBitRate(), inputBitRate) )
+			{
+			if( (TInt)currentBitRate != inputBitRate)
+				{
+				ERR_PRINTF3(_L("Current BitRate (%d) != inputBiteRate (%d)"), currentBitRate, inputBitRate);
+				SetBlockResult(EFail);
+				}
+			else
+				{
+				INFO_PRINTF3(_L("Current BitRate (%d) == inputBiteRate (%d)"), currentBitRate, inputBitRate);
+				}
+			}
+		else
+			{
+			INFO_PRINTF2(_L("Current BitRate = %d"), currentBitRate);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdGetMetaDataEntryL( const TDesC& aSection)
+	{
+
+	//	Get index from ini file
+	TInt	indexMetaData=0;
+	GetIntFromConfig(aSection, KMetaDataIndex(), indexMetaData);
+
+	CMMFMetaDataEntry*	entry=NULL;
+	TRAPD(err, entry = iPlayerUtility->GetMetaDataEntryL(indexMetaData));
+	CleanupStack::PushL(entry);
+	if( (err == KErrNotFound) || (err == KErrNotSupported) )
+		{
+		WARN_PRINTF1(_L("The meta data entry does not exist."));
+		}
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF3(_L("GetMetaDataEntryL(%d) error = %d"), indexMetaData, err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF4(_L("GetMetaDataEntryL(%d), Name = %S, value = %S"), indexMetaData, &entry->Name(), &entry->Value());
+		}
+	CleanupStack::PopAndDestroy(entry);
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdGetNumberOfMetaDataEntries( const TDesC& aSection)
+	{
+
+	TInt	currentNbrEntries;
+	TInt	error = iPlayerUtility->GetNumberOfMetaDataEntries(currentNbrEntries);
+	if ( error != KErrNone )
+		{
+		ERR_PRINTF2(_L("GetNumberOfMetaDataEntries , Error %d"), error);
+		SetError(error);
+		}
+	else
+		{
+		TInt	inputNbrEntries=0;
+		if( GetIntFromConfig(aSection, KNbrEntries(), inputNbrEntries) )
+			{
+			if( currentNbrEntries != inputNbrEntries)
+				{
+				ERR_PRINTF3(_L("Current NbrEntries (%d) != inputNbrEntries (%d)"), currentNbrEntries, inputNbrEntries);
+				SetBlockResult(EFail);
+				}
+			else
+				{
+				INFO_PRINTF3(_L("Current NbrEntries (%d) != inputNbrEntries (%d)"), currentNbrEntries, inputNbrEntries);
+				}
+			}
+		else
+			{
+			INFO_PRINTF2(_L("Current BitRate = %d"), currentNbrEntries);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdRegisterAudioResourceNotificationL( const TDesC& aSection)
+	{
+
+	TInt	inputUid=0;
+	if ( GetHexFromConfig(aSection, KEventUID(), inputUid))
+		{
+		HBufC8*	data8=NULL;
+		TPtrC	data;
+		if ( GetStringFromConfig(aSection, KMimeType(), data) )
+			{
+			data8=HBufC8::NewL(data.Length());
+			data8->Des().Copy(data);
+			}
+		else
+			{
+			data8=HBufC8::NewL(0);
+			data8->Des().Copy(KNullDesC8);
+			}
+
+		TUid	id = TUid::Uid(inputUid);
+		TInt	error = iPlayerUtility->RegisterAudioResourceNotification(*this, id, *data8);
+		if ( error != KErrNone )
+			{
+			ERR_PRINTF2(_L("RegisterAudioResourceNotification Error %d"), error);
+			SetError(error);
+			}
+		else
+			{
+			INFO_PRINTF2(_L("RegisterAudioResourceNotification OK, dataNotification = %S"), &data);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Error parameter %S"), &KEventUID);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdCancelRegisterAudioResourceNotification( const TDesC& aSection)
+	{
+
+	TInt	inputUid=0;
+	if( GetHexFromConfig(aSection, KEventUID(), inputUid))
+		{
+		TUid	id = TUid::Uid(inputUid);
+		TInt	error = iPlayerUtility->CancelRegisterAudioResourceNotification(id);
+		if ( error != KErrNone )
+			{
+			ERR_PRINTF2(_L("CancelRegisterAudioResourceNotification Error %d"), error);
+			SetError(error);
+			}
+		else
+			{
+			INFO_PRINTF1(_L("CancelRegisterAudioResourceNotification OK."));
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Error parameter %S"), &KEventUID);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdRegisterForAudioLoadingNotification()
+	{
+	INFO_PRINTF1(_L("DoCmdRegisterForAudioLoadingNotification"));
+	iPlayerUtility->RegisterForAudioLoadingNotification(*this);
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdSetPriority( const TDesC& aSection)
+	{
+	TInt	priority;
+	if ( !CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		priority=EMdaPriorityNormal;
+		}
+
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	iPlayerUtility->SetPriority(priority, priorityPreference);
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdSetThreadPriority( const TDesC& aSection)
+	{
+	TThreadPriority	threadPriority;
+	if ( !CT_MMUtil::ReadThreadPriority(*this, aSection, threadPriority) )
+		{
+		threadPriority=EPriorityNormal;
+        }
+
+    TInt	err=iPlayerUtility->SetThreadPriority(threadPriority);
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioPlayerUtility::SetThreadPriority failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdGetAudioLoadingProgressL( const TDesC& aSection)
+	{
+	TInt 								percentageComplete 		=0;
+
+	TRAPD(err, iPlayerUtility->GetAudioLoadingProgressL(percentageComplete));
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("GetAudioLoadingProgressL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		TInt	inputPercentageComplete =0;
+
+		if ( GetIntFromConfig(aSection, KProgress(), inputPercentageComplete) )
+			{
+			if( percentageComplete != inputPercentageComplete)
+				{
+				ERR_PRINTF3(_L("Current percentage (%d) != input percentage (%d)"), percentageComplete, inputPercentageComplete);
+				SetBlockResult(EFail);
+				}
+			else
+				{
+				INFO_PRINTF3(_L("Current percentage (%d) == input percentage (%d)"), percentageComplete, inputPercentageComplete);
+				}
+			}
+		else
+			{
+			INFO_PRINTF2(_L("GetAudioLoadingProgressL=%d"), percentageComplete);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdGetDRMCustomCommand( const TDesC& aSection)
+	{
+	TBool  							    inputIsCommand 	= ETrue;
+
+	GetBoolFromConfig(aSection, KDRMCustomCommand(), inputIsCommand);
+
+	MMMFDRMCustomCommand*	command = iPlayerUtility->GetDRMCustomCommand();
+
+	if( command && !inputIsCommand )
+	    {
+	    ERR_PRINTF1(_L("GetDRMCustomCommand() is not null"));
+	    SetBlockResult(EFail);
+	    }
+	else if( !command && inputIsCommand )
+	    {
+	    ERR_PRINTF1(_L("GetDRMCustomCommand() is null"));
+	    SetBlockResult(EFail);
+	    }
+	else
+	    {
+	    INFO_PRINTF1(_L("GetDRMCustomCommand() called OK"));
+	    }
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdControllerImplementationInformationL()
+	{
+	const CMMFControllerImplementationInformation* controllerInfo = NULL;
+
+	TRAPD(err, controllerInfo = &(iPlayerUtility->ControllerImplementationInformationL()));
+
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioConvertUtility::ControllerImplementationInformationL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		CT_MMUtil::LogL(*this, *controllerInfo);
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdCustomCommandSyncL( const TDesC& aSection)
+	{
+
+	TMMFMessageDestination		handleInfo(iAudioControllerUid);
+	TMMFMessageDestinationPckg	messageDest(handleInfo);
+
+	TInt	function = 0;
+	GetIntFromConfig(aSection, KFunction(), function);
+
+	TBool	useDataFrom = EFalse;
+	GetBoolFromConfig(aSection, KUseDataFrom(), useDataFrom);
+
+	// reference to the first chunk of data
+	HBufC8*	dataTo1 = NULL;
+	TPtrC	dataTo1Str;
+	if (GetStringFromConfig(aSection, KDataTo1(), dataTo1Str))
+		{
+		dataTo1 = HBufC8::NewL(dataTo1Str.Length());
+		dataTo1->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo1 = HBufC8::NewL(0);
+		dataTo1->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo1);
+
+	// reference to the second chunk of data
+	HBufC8*	dataTo2 = NULL;
+	TPtrC	dataTo2Str;
+	if (GetStringFromConfig(aSection, KDataTo2(), dataTo2Str))
+		{
+		dataTo2 = HBufC8::NewL(dataTo2Str.Length());
+		dataTo2->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo2 = HBufC8::NewL(0);
+		dataTo2->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo2);
+
+	TInt 					err = KErrNone;
+	TBuf8<KMaxdataFromText>	dataFromText;
+	if ( useDataFrom )
+		{
+		err = iPlayerUtility->CustomCommandSync(messageDest, function, *dataTo1, *dataTo2, dataFromText);
+		}
+	else
+		{
+		err = iPlayerUtility->CustomCommandSync(messageDest, function, *dataTo1, *dataTo2);
+		}
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CustomCommandSync failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		if (useDataFrom)
+			{
+			HBufC*	buffer=HBufC::NewLC(dataFromText.Length());
+			TPtr	bufferPtr=buffer->Des();
+			bufferPtr.Copy(dataFromText); // Create a 16 bit copy of the 8 bit original
+			INFO_PRINTF2(_L("DataFrom: %S"), &bufferPtr);
+			CleanupStack::PopAndDestroy(buffer);
+			}
+		}
+
+	CleanupStack::PopAndDestroy(2, dataTo1);	// dataTo1, dataTo2
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdCustomCommandAsyncL( const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+
+	TMMFMessageDestination		handleInfo(iAudioControllerUid);
+	TMMFMessageDestinationPckg	messageDest(handleInfo);
+
+	TInt	function = 0;
+	GetIntFromConfig(aSection, KFunction(), function);
+
+	TBool	useDataFrom = EFalse;
+	GetBoolFromConfig(aSection, KUseDataFrom(), useDataFrom);
+
+	// reference to the first chunk of data
+	HBufC8*	dataTo1 = NULL;
+	TPtrC	dataTo1Str;
+	if ( GetStringFromConfig(aSection, KDataTo1(), dataTo1Str) )
+		{
+		dataTo1 = HBufC8::NewL(dataTo1Str.Length());
+		dataTo1->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo1 = HBufC8::NewL(0);
+		dataTo1->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo1);
+
+	// reference to the second chunk of data
+	HBufC8*	dataTo2 = NULL;
+	TPtrC	dataTo2Str;
+	if ( GetStringFromConfig(aSection, KDataTo2(), dataTo2Str) )
+		{
+		dataTo2 = HBufC8::NewL(dataTo2Str.Length());
+		dataTo2->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo2 = HBufC8::NewL(0);
+		dataTo2->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo2);
+
+	if ( useDataFrom )
+		{
+		iPlayerUtility->CustomCommandAsync(messageDest, function, *dataTo1, *dataTo2, iDataFromText, iActiveCustomCommandAsync->iStatus);
+		}
+	else
+		{
+		iPlayerUtility->CustomCommandAsync(messageDest, function, *dataTo1, *dataTo2, iActiveCustomCommandAsync->iStatus);
+		}
+
+	iActiveCustomCommandAsync->Activate(aAsyncErrorIndex);
+	IncOutstanding();
+	CleanupStack::PopAndDestroy(2, dataTo1);	// dataTo1, dataTo2
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::DoCmdUseSharedHeap()
+	{
+	iPlayerUtility->UseSharedHeap();
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::RunL(CActive* aActive, TInt aIndex)
+	{
+ 	if ( aActive==iActiveCustomCommandAsync )
+ 		{
+ 		RunCustomCommandAsyncL(aIndex);
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Stray signal"));
+		SetBlockResult(EFail);
+		}
+	}
+
+/**
+ Virtual DoCancel - Request to cancel the aAsyncErrorIndex command
+ @internalComponent
+ @see - MTPActiveCallback
+ @param aActive Active Object that DoCancel has been called on
+ @pre - N/A
+ @post - N/A
+ @leave system wide error code
+*/
+void CT_MMDataMdaAudioPlayerUtility::DoCancel(CActive* aActive)
+	{
+ 	if ( aActive==iActiveCustomCommandAsync )
+ 		{
+ 		DoCancelCustomCommandAsync();
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Stray signal"));
+		SetBlockResult(EFail);
+		}
+	}
+
+/**
+  RunActiveL - Process RunL for iActiveCustomCommandAsync
+  @internalComponent
+  @pre N/A
+  @post N/A
+  @leave system wide error code
+ */
+ void CT_MMDataMdaAudioPlayerUtility::RunCustomCommandAsyncL(TInt aIndex)
+	{
+	HBufC*	buffer=HBufC::NewLC(iDataFromText.Length());
+	TPtr	bufferPtr=buffer->Des();
+	bufferPtr.Copy(iDataFromText); // Create a 16 bit copy of the 8 bit original
+	INFO_PRINTF2(_L("DataFrom: %S"), &bufferPtr);
+
+	TInt	err = iActiveCustomCommandAsync->iStatus.Int();
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("RunL Error %d"), err);
+		SetAsyncError(aIndex, err);
+		}
+	DecOutstanding();
+	CleanupStack::PopAndDestroy(buffer);
+	}
+
+
+/**
+ DoCancelActive - Process DoCancel for iActive
+ @internalComponent
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+void CT_MMDataMdaAudioPlayerUtility::DoCancelCustomCommandAsync()
+	{
+	INFO_PRINTF1(_L("DoCancelCustomCommandAsync"));
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds &aDuration)
+	{
+	if ( aError == KErrNone )
+		{
+		INFO_PRINTF2(_L("Initialise of the CMdaAudioPlayerUtility object is finished OK. Duration = %d"), aDuration.Int64());
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Error the initialise of the CMdaAudioPlayerUtility object. Error =  %d"), aError);
+		SetAsyncError(iAsyncErrorIndex, aError);
+		}
+	if ( iFileOpened )
+		{
+		iFile.Close();
+		iFileOpened=EFalse;
+		}
+	DecOutstanding();
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::MapcPlayComplete(TInt aError)
+	{
+	if( aError != KErrNone)
+		{
+		ERR_PRINTF2(_L("MapcPlayComplete aError = %d"), aError);
+
+		SetAsyncError(iAsyncErrorIndex, aError);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("Playback of the audio sample is finished"));
+		}
+	iPlaying=EFalse;
+	DecOutstanding();
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::MarncResourceAvailable(TUid aNotificationEventId, const TDesC8& aNotificationData)
+	{
+	INFO_PRINTF1(_L("CT_MdaAudioPlayerUtilityTestStep::MarncResourceAvailable"));
+
+	if ( aNotificationEventId == KMMFEventCategoryAudioResourceAvailable )
+		{
+
+		INFO_PRINTF1(_L("NotificationEventId == KMMFEventCategoryAudioResourceAvailable"));
+
+		//	Convert TDesc8 to TInt64
+		TMMFTimeIntervalMicroSecondsPckg	timeIntvbuf;
+		timeIntvbuf.Copy( aNotificationData );
+
+		TTimeIntervalMicroSeconds	intPos = timeIntvbuf();
+		INFO_PRINTF2(_L("Interval %d"), intPos.Int64());
+
+		DecOutstanding();
+		}
+	else
+		{
+		INFO_PRINTF1(_L("MarncResourceAvailable, but NOT KMMFEventCategoryAudioResourceAvailable"));
+		}
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::MaloLoadingStarted()
+	{
+	INFO_PRINTF1(_L("MaloLoadingStarted"));
+	DecOutstanding();
+	}
+
+void CT_MMDataMdaAudioPlayerUtility::MaloLoadingComplete()
+	{
+	INFO_PRINTF1(_L("MaloLoadingComplete"));
+	DecOutstanding();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/src/T_MdaAudioPlayerUtilityServer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MdaAudioPlayerUtilityServer.h"
+    
+CT_MdaAudioPlayerUtilityServer* CT_MdaAudioPlayerUtilityServer::NewL()
+	{
+	CT_MdaAudioPlayerUtilityServer* server = new (ELeave) CT_MdaAudioPlayerUtilityServer();
+	CleanupStack::PushL(server);
+	server->ConstructL();
+	CleanupStack::Pop(server);
+	return server;
+	}
+
+ LOCAL_C void MainL()
+/**
+ * Secure variant
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+	{
+#if (defined __DATA_CAGING__)
+	RProcess().DataCaging(RProcess::EDataCagingOn);
+	RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+	CActiveScheduler*				sched=NULL;
+	sched=new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(sched);
+	CT_MdaAudioPlayerUtilityServer*	server = NULL;
+	// Create the CTestServer derived server
+	TRAPD(err,server = CT_MdaAudioPlayerUtilityServer::NewL());
+	if(!err)
+		{
+		// Sync with the client and enter the active scheduler
+		RProcess::Rendezvous(KErrNone);
+		sched->Start();
+		}
+	delete server;
+	delete sched;
+	}
+	
+ GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on process exit
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ */
+	{
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup = CTrapCleanup::New();
+	if(cleanup == NULL)
+		{
+		return KErrNoMemory;
+		}
+#if (defined TRAP_IGNORE)
+	TRAP_IGNORE(MainL());
+#else
+	TRAPD(err,MainL());
+#endif
+	delete cleanup;
+	__UHEAP_MARKEND;
+	return KErrNone;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioPlayerUtility/testdata/MM-MMF-ACLNT-PLYR-PublicAPI.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,877 @@
+[include]
+file1=\multimedia\t_multimedia.ini
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0002-001-NewFilePlayerL_command01]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0003-001-NewDesPlayerReadOnlyL_command01]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0004-001-NewDesPlayerL_command01]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0005-001-OpenDesL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0006-001-OpenUrlL_command02]
+inputfile=file://{default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0007-001-OpenFileL_command02]
+rfile=True
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0008-001-OpenFileL_command02]
+tmmsource=True
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0009-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0010-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0011-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0012-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0013-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0014-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0015-001-GetBalance_command04]
+balance=100
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0015-001-GetBalance_command06]
+balance=-100
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0015-001-GetBalance_command08]
+balance=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0015-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0015-001-SetBalance_command03]
+balance=100
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0015-001-SetBalance_command05]
+balance=-100
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0015-001-SetBalance_command07]
+balance=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0016-001-GetVolume_command04]
+volume=20
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0016-001-GetVolume_command06]
+volume=2
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0016-001-GetVolume_command08]
+volume=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0016-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0016-001-SetVolume_command03]
+volume=20
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0016-001-SetVolume_command05]
+volume=2
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0016-001-SetVolume_command07]
+volume=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0017-001-GetPosition_command04]
+position=1000000
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0017-001-GetPosition_command06]
+position=1000
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0017-001-GetPosition_command08]
+position=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0017-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0017-001-SetPosition_command03]
+position=1000000
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0017-001-SetPosition_command05]
+position=1000
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0017-001-SetPosition_command07]
+position=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0018-001-SetPriority_command02]
+priority=EMdaPriorityMin
+prioritypreference=None
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0018-001-SetPriority_command03]
+priority=EMdaPriorityMax
+prioritypreference=Time
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0018-001-SetPriority_command04]
+priority=EMdaPriorityNormal
+prioritypreference=Quality
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0019-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0020-001-GetBalance_command06]
+balance=100
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0020-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0020-001-SetBalance_command05]
+balance=100
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0021-001-GetVolume_command06]
+volume=2
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0021-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0021-001-SetVolume_command05]
+volume=2
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0022-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0023-001-Duration_command03]
+time=3992607
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0023-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0024-001-Duration_command03]
+duration2=True
+time=3992607
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0024-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0025-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0025-001-SetPlayWindow_command03]
+start=1
+end=2
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0025-001-SetPlayWindow_command04]
+start=100
+end=2000000
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0026-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0026-001-SetPlayWindow_command03]
+start=100
+end=200
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0027-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0027-001-SetRepeats_command03]
+trailingsilence=1
+repeatnumberoftimes=1
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0027-001-SetRepeats_command04]
+trailingsilence=1000
+repeatnumberoftimes=RepeatForever
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0027-001-SetRepeats_command05]
+trailingsilence=100
+repeatnumberoftimes=100
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0028-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0028-001-SetVolumeRamp_command03]
+rampduration=30000
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0028-001-SetVolumeRamp_command05]
+rampduration=3
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0028-001-SetVolumeRamp_command07]
+rampduration=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0029-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0030-001-GetMetaDataEntryL_command03]
+metadataindex=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0030-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0031-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0032-001-OpenFileL_command03]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0032-001-OpenFileL_command07]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0032-001-OpenFileL_command11]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command03]
+threadpriority=EPriorityNormal
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command04]
+threadpriority=EPriorityMuchLess
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command05]
+threadpriority=EPriorityLess
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command06]
+threadpriority=EPriorityMore
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command07]
+threadpriority=EPriorityMuchMore
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command08]
+threadpriority=EPriorityRealTime
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command09]
+threadpriority=EPriorityAbsoluteVeryLow
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command10]
+threadpriority=EPriorityAbsoluteLow
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command11]
+threadpriority=EPriorityAbsoluteBackground
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command12]
+threadpriority=EPriorityAbsoluteForeground
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0033-001-SetThreadPriority_command13]
+threadpriority=EPriorityAbsoluteHigh
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0034-001-RegisterAudioResourceNotification_command02]
+eventuid=101FD9F2
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0035-001-CancelRegisterAudioResourceNotification_command03]
+eventuid=101FD9F2
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0035-001-RegisterAudioResourceNotification_command02]
+eventuid=101FD9F2
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0037-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0038-001-GetDRMCustomCommand_command03]
+drmcommand=TRUE
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0038-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0039-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0040-001-CustomCommandSync_command03]
+function=7
+usedatafrom=TRUE
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0040-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0041-001-CustomCommandSync_command03]
+function=7
+usedatafrom=FALSE
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0041-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0042-001-CustomCommandASync_command03]
+function=7
+usedatafrom=TRUE
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0042-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0043-001-CustomCommandASync_command03]
+function=7
+usedatafrom=FALSE
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0043-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0044-001-NewDesPlayerL_command01]
+inputfile=\multimedia\t_mdaaudioplayerutility\empty.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0045-001-NewDesPlayerL_command01]
+inputfile=\multimedia\t_mdaaudioplayerutility\test.bad
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0046-001-NewDesPlayerL_command01]
+inputfile=\multimedia\t_mdaaudioplayerutility\test_err.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0047-001-NewDesPlayerReadOnlyL_command01]
+inputfile=\multimedia\t_mdaaudioplayerutility\empty.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0048-001-NewDesPlayerReadOnlyL_command01]
+inputfile=\multimedia\t_mdaaudioplayerutility\test.bad
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0049-001-NewDesPlayerReadOnlyL_command01]
+inputfile=\multimedia\t_mdaaudioplayerutility\test_err.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0050-001-NewFilePlayerL_command01]
+inputfile=\multimedia\t_mdaaudioplayerutility\testc.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0051-001-NewFilePlayerL_command01]
+inputfile=\multimedia\t_mdaaudioplayerutility\test.bad
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0052-001-NewFilePlayerL_command01]
+inputfile=\multimedia\t_mdaaudioplayerutility\test_err.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0053-001-OpenDesL_command02]
+inputfile=\multimedia\t_mdaaudioplayerutility\empty.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0054-001-OpenDesL_command02]
+inputfile=\multimedia\t_mdaaudioplayerutility\test.bad
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0055-001-OpenDesL_command02]
+inputfile=\multimedia\t_mdaaudioplayerutility\test_err.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0056-001-OpenUrlL_command02]
+inputfile=BAAAD://z:\9.3\epoc32\WINSCW\C\test.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0057-001-OpenUrlL_command02]
+inputfile=file://\multimedia\t_mdaaudioplayerutility\test.bad
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0058-001-OpenUrlL_command02]
+inputfile=file://\multimedia\t_mdaaudioplayerutility\test_err.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0059-001-OpenFileL_command02]
+inputfile=\multimedia\t_mdaaudioplayerutility\testc.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0060-001-OpenFileL_command02]
+inputfile=\multimedia\t_mdaaudioplayerutility\test.bad
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0061-001-OpenFileL_command02]
+inputfile=\multimedia\t_mdaaudioplayerutility\test_err.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0062-001-GetBalance_command04]
+balance=100
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0062-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0062-001-SetBalance_command03]
+balance=150
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0063-001-GetBalance_command04]
+balance=-100
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0063-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0063-001-SetBalance_command03]
+balance=-150
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0064-001-GetBalance_command03]
+balance=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0064-001-SetBalance_command02]
+balance=100
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0068-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0068-001-SetPosition_command03]
+position=99000000
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0069-001-GetPosition_command04]
+position=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0069-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0069-001-SetPosition_command03]
+position=-150
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0070-001-GetPosition_command03]
+position=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0070-001-SetPosition_command02]
+position=100
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0071-001-GetBalance_command02]
+balance=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0072-001-GetBalance_command04]
+balance=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0072-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0073-001-GetPosition_command02]
+position=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0074-001-GetPosition_command04]
+position=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0074-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0075-001-GetVolume_command02]
+volume=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0076-001-GetVolume_command04]
+volume=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0076-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0079-001-Duration_command02]
+time=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0080-001-Duration_command04]
+time=0
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0080-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0081-001-Duration_command02]
+durationstate=Unknown
+duration2=True
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0082-001-Duration_command04]
+durationstate=Unknown
+duration2=True
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0082-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0083-001-SetPlayWindow_command02]
+start=100
+end=500
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0084-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0084-001-SetPlayWindow_command04]
+start=50000000
+end=-5000000
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0085-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0086-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0086-001-SetRepeats_command03]
+repeatnumberoftimes=-200
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0087-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0087-001-SetVolumeRamp_command03]
+rampduration=-10000000
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0089-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0090-001-GetMetaDataEntryL_command02]
+metadataindex=1
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0091-001-GetMetaDataEntryL_command04]
+metadataindex=1
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0091-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0093-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0094-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0094-001-SetPriority_command03]
+priority=EMdaPriorityMax
+prioritypreference=Time
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0095-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0095-001-SetThreadPriority_command03]
+threadpriority=EPriorityNormal
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0096-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0096-001-SetThreadPriority_command03]
+threadpriority=EPriorityNull
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0097-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0097-001-SetPriority_command03]
+priority=-5555
+prioritypreference=Time
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0098-001-CustomCommandSync_command03]
+function=1000
+usedatafrom=TRUE
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0098-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0099-001-CustomCommandSync_command03]
+function=1000
+usedatafrom=FALSE
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0099-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0100-001-CustomCommandASync_command03]
+function=1000
+usedatafrom=TRUE
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0100-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0101-001-CustomCommandASync_command03]
+function=1000
+usedatafrom=FALSE
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0101-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0103-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0105-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0107-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0109-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0111-001-OpenFileL_command02]
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0113-001-RegisterAudioResourceNotification_command02]
+eventuid=11111111
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0114-001-CancelRegisterAudioResourceNotification_command02]
+eventuid=101FD9F2
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0118-001-OpenFileL_command02]
+tmmsource=True
+inputfile=\multimedia\t_mdaaudioplayerutility\testc.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0119-001-OpenFileL_command02]
+tmmsource=True
+inputfile=\multimedia\t_mdaaudioplayerutility\test.bad
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0120-001-OpenFileL_command02]
+tmmsource=True
+inputfile=\multimedia\t_mdaaudioplayerutility\test_err.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0121-001-OpenFileL_command02]
+openfile=False
+rfile=True
+inputfile={default_mmf, playbackfile}
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0122-001-OpenFileL_command02]
+rfile=True
+inputfile=\multimedia\t_mdaaudioplayerutility\test.bad
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0123-001-OpenFileL_command02]
+rfile=True
+inputfile=\multimedia\t_mdaaudioplayerutility\test_err.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command02]
+threadpriority=EPriorityNormal
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command03]
+threadpriority=EPriorityNull
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command04]
+threadpriority=EPriorityMuchLess
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command05]
+threadpriority=EPriorityLess
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command06]
+threadpriority=EPriorityMore
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command07]
+threadpriority=EPriorityMuchMore
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command08]
+threadpriority=EPriorityRealTime
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command09]
+threadpriority=EPriorityAbsoluteVeryLow
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command10]
+threadpriority=EPriorityAbsoluteLow
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command11]
+threadpriority=EPriorityAbsoluteBackground
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command12]
+threadpriority=EPriorityAbsoluteForeground
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0124-001-SetThreadPriority_command13]
+threadpriority=EPriorityAbsoluteHigh
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0125-001-OpenFileL_command03]
+inputfile=\multimedia\t_mdaaudioplayerutility\answeringmachine.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0125-001-OpenFileL_command07]
+inputfile=\multimedia\t_mdaaudioplayerutility\explode.au
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0125-001-Play_command11]
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0125-001-SetPriority_command04]
+priority=0
+preference=None
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0125-001-SetPriority_command08]
+priority=2421
+preference=Time
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0126-001-OpenFileL_command02]
+inputfile=\multimedia\t_mdaaudioplayerutility\answeringmachine.wav
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0126-001-SetPriority_command03]
+priority=0
+preference=None
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0126-002-OpenFileL_command02]
+inputfile=\multimedia\t_mdaaudioplayerutility\explode.au
+
+
+[MM-MMF-ACLNT-PLYR-PublicAPI-0126-002-SetPriority_command03]
+priority=2421
+preference=Time
+
+
+[mdaaudioplayerutility]
+name=mdaaudioplayerutility
+
+
+[mdaaudioplayerutility1]
+name=mdaaudioplayerutility1
+
+
+[mdaaudioplayerutility2]
+name=mdaaudioplayerutility2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/group/T_MdaAudioRecorderUtility.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+TARGET			t_mdaaudiorecorderutility.exe
+TARGETTYPE		exe
+UID				0x1000007A 0x20000F78
+VENDORID		0x70000001
+
+CAPABILITY		UserEnvironment MultimediaDD
+
+SOURCEPATH		../src
+
+SOURCE			../../../common/src/T_MMUtil.cpp
+SOURCE			../../../common/src/DataWrapperBase.cpp
+
+SOURCE			T_MdaAudioRecorderUtilityServer.cpp
+SOURCE			T_MMDataMdaAudioRecorderUtility.cpp
+
+USERINCLUDE		../inc
+USERINCLUDE		../../../common/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE	/epoc32/include/test
+
+LIBRARY			euser.lib
+LIBRARY			efsrv.lib
+LIBRARY			testexecuteutils.lib
+LIBRARY			testexecutelogclient.lib
+LIBRARY			bafl.lib
+LIBRARY			mediaclientaudio.lib
+LIBRARY			mmfcontrollerframework.lib
+LIBRARY			mmcommon.lib
+LIBRARY			imageconversion.lib
+LIBRARY			iniparser.lib
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,39 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTEXPORTS
+t_mdaaudiorecorderutility.iby							/epoc32/rom/include/t_mdaaudiorecorderutility.iby
+t_mdaaudiorecorderutility_binaries.iby					/epoc32/rom/include/t_mdaaudiorecorderutility_binaries.iby
+t_mdaaudiorecorderutility_testdata.iby					/epoc32/rom/include/t_mdaaudiorecorderutility_testdata.iby
+
+../pkg/T_MdaAudioRecorderUtility.pkg					/epoc32/pkg/t_mdaaudiorecorderutility.pkg
+../pkg/tmdaaudiorecorderutility.bat						/epoc32/pkg/tmdaaudiorecorderutility.bat
+../scripts/MM-MMF-ACLNT-RCRDR-PublicAPI.script			/epoc32/pkg/mm-mmf-aclnt-rcrdr-publicapi.script
+
+../testdata/MM-MMF-ACLNT-RCRDR-PublicAPI.ini			/epoc32/pkg/mm-mmf-aclnt-rcrdr-publicapi.ini
+../../../../testdata/mmf/T_MdaAudioRecorderUtility/pcm16stereo8khz.wav							/epoc32/pkg/t_mdaaudiorecorderutility/pcm16stereo8khz.wav
+../../../../testdata/mmf/T_MdaAudioRecorderUtility/corrupted.wav								/epoc32/pkg/t_mdaaudiorecorderutility/corrupted.wav
+
+../scripts/setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script	z:/multimedia/setup-mm-mmf-aclnt-rcrdr-publicapi.script
+../scripts/MM-MMF-ACLNT-RCRDR-PublicAPI.script			z:/multimedia/mm-mmf-aclnt-rcrdr-publicapi.script
+
+../testdata/MM-MMF-ACLNT-RCRDR-PublicAPI.ini			z:/multimedia/mm-mmf-aclnt-rcrdr-publicapi.ini
+../../../../testdata/mmf/T_MdaAudioRecorderUtility/pcm16stereo8khz.wav							z:/multimedia/t_mdaaudiorecorderutility/pcm16stereo8khz.wav
+../../../../testdata/mmf/T_MdaAudioRecorderUtility/corrupted.wav								z:/multimedia/t_mdaaudiorecorderutility/corrupted.wav
+
+PRJ_TESTMMPFILES
+T_MdaAudioRecorderUtility.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/group/t_mdaaudiorecorderutility.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,24 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIORECORDERUTILITY_IBY__)
+#define __T_MDAAUDIORECORDERUTILITY_IBY__
+
+#include <t_mdaaudiorecorderutility_binaries.iby>
+#include <t_mdaaudiorecorderutility_testdata.iby>
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/group/t_mdaaudiorecorderutility_binaries.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIORECORDERUTILITY_BINARIES_IBY__)
+#define __T_MDAAUDIORECORDERUTILITY_BINARIES_IBY__
+
+#include <testexecute.iby>
+
+#if (!defined EKA2)
+file=ABI_DIR\BUILD_DIR\t_mdaaudiorecorderutility.exe 	system\libs\t_mdaaudiorecorderutility.exe
+#else
+file=ABI_DIR\BUILD_DIR\t_mdaaudiorecorderutility.exe 	system\bin\t_mdaaudiorecorderutility.exe
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/group/t_mdaaudiorecorderutility_testdata.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,27 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIORECORDERUTILITY_TESTDATA_IBY__)
+#define __T_MDAAUDIORECORDERUTILITY_TESTDATA_IBY__
+
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.script				multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.script
+
+data=EPOCROOT##Epoc32\data\z\multimedia\setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script		multimedia\setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini				multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+data=EPOCROOT##Epoc32\data\z\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav	multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+data=EPOCROOT##Epoc32\data\z\multimedia\T_MdaAudioRecorderUtility\corrupted.wav			multimedia\T_MdaAudioRecorderUtility\corrupted.wav
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/inc/T_MMDataMdaAudioRecorderUtility.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,175 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MMDATA_MDA_AUDIO_RECORDER_UTILITY_H__)
+#define __T_MMDATA_MDA_AUDIO_RECORDER_UTILITY_H__
+
+//	User Includes
+#include "DataWrapperBase.h"
+
+//	EPOC includes
+#include <mdaaudiosampleeditor.h>
+
+const TInt	KMdaAudioRecorderBufferSize=1024;
+const TInt 	KMaxdataFromText = 255;
+
+// Temp fix for conditional building and testing of UseSharedHeap
+#if (defined SYMBIAN_SWI_POST_INSTALL_REVOCATION)
+#define CMDA_AUDIO_RECORDER_UTILITY_USED_SHARED_HEAP
+#endif
+
+/**
+CMdaAudioRecorderUtility API test commands
+@internalComponent
+*/
+class CT_MMDataMdaAudioRecorderUtility : public CDataWrapperBase, private MMdaObjectStateChangeObserver, private MMMFAudioResourceNotificationCallback, private MAudioLoadingObserver
+	{
+public:
+	~CT_MMDataMdaAudioRecorderUtility();
+	static CT_MMDataMdaAudioRecorderUtility*	NewL();
+
+	virtual TAny*	GetObject();
+	virtual void	SetObjectL(TAny* aObject);
+	virtual void	DisownObjectL();
+	virtual TBool	DoCommandL(	const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+
+	inline RFs&     FileServer();
+
+protected:
+	/**
+	* Protected constructor. First phase construction
+	*/
+	CT_MMDataMdaAudioRecorderUtility();
+
+	void	ConstructL();
+
+private:
+	inline void		DoCmdDestructor();
+	inline void		DoCmdAddMetaDataEntryL(const TDesC& aSection);
+	inline void		DoCmdAudioPlayControllerImplementationInformationL();
+	inline void		DoCmdAudioRecorderControllerImplementationInformationL();
+	inline void		DoCmdCancelRegisterAudioResourceNotification(const TDesC& aSection);
+	inline void		DoCmdClearPlayWindow();
+	inline void		DoCmdClose();
+	inline void		DoCmdCropFromBeginningL();
+	inline void		DoCmdCropL();
+	inline void		DoCmdDestinationBitRateL(const TDesC& aSection);
+	inline void		DoCmdDestinationDataTypeL(const TDesC& aSection);
+	inline void		DoCmdDestinationFormatL(const TDesC& aSection);
+	inline void		DoCmdDestinationNumberOfChannelsL(const TDesC& aSection);
+	inline void		DoCmdDestinationSampleRateL(const TDesC& aSection);
+	inline void		DoCmdDuration(const TDesC& aSection);
+	inline void		DoCmdGetAudioLoadingProgressL(const TDesC& aSection);
+	inline void		DoCmdGetDRMCustomCommand(const TDesC& aSection);
+	inline void		DoCmdGetGain(const TDesC& aSection);
+	inline void		DoCmdGetMetaDataEntryL(const TDesC& aSection);
+	inline void		DoCmdGetNumberOfMetaDataEntries(const TDesC& aSection);
+	inline void		DoCmdGetPlaybackBalance(const TDesC& aSection);
+	inline void		DoCmdGetRecordBalance(const TDesC& aSection);
+	inline void		DoCmdGetSupportedBitRatesL(const TDesC& aSection);
+	inline void		DoCmdGetSupportedDestinationDataTypesL(const TDesC& aSection);
+	inline void		DoCmdGetSupportedNumberOfChannelsL(const TDesC& aSection);
+	inline void		DoCmdGetSupportedSampleRatesL(const TDesC& aSection);
+	inline void		DoCmdGetVolume(const TDesC& aSection);
+	inline void		DoCmdMaxGain(const TDesC& aSection);
+	inline void		DoCmdMaxVolume(const TDesC& aSection);
+	inline void		DoCmdNewL(const TDesC& aSection);
+	inline void		DoCmdOpenDesL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void		DoCmdOpenFileL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void		DoCmdOpenL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void		DoCmdOpenUrlL(const TDesC& aSection);
+	inline void		DoCmdPlayControllerCustomCommandAsyncL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void		DoCmdPlayControllerCustomCommandSyncL(const TDesC& aSection);
+	inline void		DoCmdPlayL(const TInt aAsyncErrorIndex);
+	inline void		DoCmdPosition(const TDesC& aSection);
+	inline void		DoCmdRecordControllerCustomCommandAsyncL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void		DoCmdRecordControllerCustomCommandSyncL(const TDesC& aSection);
+	inline void		DoCmdRecordL(const TInt aAsyncErrorIndex);
+	inline void		DoCmdRecordTimeAvailable(const TDesC& aSection);
+	inline void		DoCmdRegisterAudioResourceNotificationL(const TDesC& aSection);
+	inline void		DoCmdRegisterForAudioLoadingNotification();
+	inline void		DoCmdRemoveMetaDataEntry(const TDesC& aSection);
+	inline void		DoCmdReplaceMetaDataEntryL(const TDesC& aSection);
+	inline void		DoCmdSetAudioDeviceMode(const TDesC& aSection);
+	inline void		DoCmdSetDestinationBitRateL(const TDesC& aSection);
+	inline void		DoCmdSetDestinationDataTypeL(const TDesC& aSection);
+	inline void		DoCmdSetDestinationFormatL(const TDesC& aSection);
+	inline void		DoCmdSetDestinationNumberOfChannelsL(const TDesC& aSection);
+	inline void		DoCmdSetDestinationSampleRateL(const TDesC& aSection);
+	inline void		DoCmdSetGain(const TDesC& aSection);
+	inline void		DoCmdSetMaxWriteLength(const TDesC& aSection);
+	inline void		DoCmdSetPlayWindow(const TDesC& aSection);
+	inline void		DoCmdSetPlaybackBalance(const TDesC& aSection);
+	inline void		DoCmdSetPosition(const TDesC& aSection);
+	inline void		DoCmdSetPriority(const TDesC& aSection);
+	inline void		DoCmdSetRecordBalance(const TDesC& aSection);
+	inline void		DoCmdSetRepeats(const TDesC& aSection);
+	inline void		DoCmdSetThreadPriorityPlayback(const TDesC& aSection);
+	inline void		DoCmdSetThreadPriorityRecord(const TDesC& aSection);
+	inline void		DoCmdSetVolume(const TDesC& aSection);
+	inline void		DoCmdSetVolumeRamp(const TDesC& aSection);
+	inline void		DoCmdSourceBitRateL(const TDesC& aSection);
+	inline void		DoCmdState(const TDesC& aSection);
+	inline void		DoCmdStop();
+	inline void		DoCmdUseSharedHeap();
+	inline void		DoCmdWillResumePlay();
+
+	//	MT_MMActiveCallback implementation
+ 	virtual void			RunL(CActive* aActive, const TInt aAsyncErrorIndex);
+ 	virtual void			DoCancel(CActive* aActive);
+ 	inline void				RunCustomCommandAsyncL(const TInt aAsyncErrorIndex);
+ 	inline void				DoCancelCustomCommandAsync();
+
+	//	Helper methods
+	void			DestroyData();
+	void			OpenFile(const TDesC& aCommand, const TDesC& aSection);
+	TBool			GetFormatL(const TDesC& aFormatStr, TMdaClipFormat* &aMdaClipFormat, const TDesC& aSection);
+	TBool 			ConvertToTDeviceMode(const TDesC& aDesc, CMdaAudioRecorderUtility::TDeviceMode& aDevicemode);
+	const 	TDesC& 	GetState(const TInt& aState);
+	TBool			GetCodecL(const TDesC& aCodecStr, TMdaPackage* &aMdaPackage);
+	void			GetAudioSettingsL(const TDesC& aAudioSettingsStr, const TDesC& aSection, TMdaPackage* &aMdaPackage);
+
+	//MMdaObjectStateChangeObserver implementation
+	virtual void MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode);
+    virtual void MarncResourceAvailable(TUid aNotificationEventId, const TDesC8& aNotificationData);
+    virtual void MaloLoadingStarted();
+	virtual void MaloLoadingComplete();
+
+private:
+	CMdaAudioRecorderUtility*	iRecorderUtility;
+	CActiveCallback*			iActiveCustomCommandAsync;
+	TInt 						iAsyncErrorIndex;
+   	TUid						iRecorderControllerUid;
+	TUid						iRecorderFormatUid;
+   	TUid						iPlayerControllerUid;
+	TUid						iPlayerFormatUid;
+	TBool						iFileOpened;
+	RFs 						iFs;
+	RFile 						iFile;
+	HBufC8*						iBuffer;
+	TPtr8*						iBufferPtr;
+	TInt						iBufferSize;
+	TBuf8<KMaxdataFromText>		iDataFromText;
+	TBool						iCustomCommandData;
+	TBool						iRecording;
+	};
+
+#include "T_MMDataMdaAudioRecorderUtility.inl"
+
+#endif /* __T_MMDATA_MDA_AUDIO_RECORDER_UTILITY_STEP_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/inc/T_MMDataMdaAudioRecorderUtility.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+RFs& CT_MMDataMdaAudioRecorderUtility::FileServer()
+	{
+	return iFs;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/inc/T_MdaAudioRecorderUtilityServer.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MDA_AUDIO_RECORDER_UTILITY_SERVER_H__)
+#define __T_MDA_AUDIO_RECORDER_UTILITY_SERVER_H__
+
+//	EPOC Includes
+#include <testblockcontroller.h>
+#include <testserver2.h>
+
+class CT_MdaAudioRecorderUtilityServer : public CTestServer2
+	{
+private:
+	class CT_MdaAudioRecorderUtilityBlock : public CTestBlockController
+		{
+	public:
+		inline CT_MdaAudioRecorderUtilityBlock();
+		inline ~CT_MdaAudioRecorderUtilityBlock();
+
+		inline CDataWrapper*	CreateDataL(const TDesC& aData);
+		};
+
+public:
+	inline ~CT_MdaAudioRecorderUtilityServer();
+
+	inline void	DeleteActiveSchedulerL();
+
+	static CT_MdaAudioRecorderUtilityServer* NewL();
+
+	inline CTestBlockController*	CreateTestBlock();
+
+protected:
+	inline CT_MdaAudioRecorderUtilityServer();
+	};
+
+#include "T_MdaAudioRecorderUtilityServer.inl"
+
+#endif /* __T_MDA_AUDIO_RECORDER_UTILITY_SERVER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/inc/T_MdaAudioRecorderUtilityServer.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataMdaAudioRecorderUtility.h"
+
+_LIT(KDataMdaAudioRecorderUtility,		"CMdaAudioRecorderUtility");
+
+CT_MdaAudioRecorderUtilityServer::CT_MdaAudioRecorderUtilityBlock::CT_MdaAudioRecorderUtilityBlock()
+:	CTestBlockController()
+	{
+	}
+
+CT_MdaAudioRecorderUtilityServer::CT_MdaAudioRecorderUtilityBlock::~CT_MdaAudioRecorderUtilityBlock()
+	{
+	}
+
+CDataWrapper* CT_MdaAudioRecorderUtilityServer::CT_MdaAudioRecorderUtilityBlock::CreateDataL(const TDesC& aData)
+	{
+	CDataWrapper* wrapper = NULL;
+	if( KDataMdaAudioRecorderUtility() == aData )
+		{
+		wrapper = CT_MMDataMdaAudioRecorderUtility::NewL();
+		}
+	return wrapper;
+	}
+
+CT_MdaAudioRecorderUtilityServer::CT_MdaAudioRecorderUtilityServer()
+	{
+	}
+
+CT_MdaAudioRecorderUtilityServer::~CT_MdaAudioRecorderUtilityServer()
+	{
+	}
+
+void CT_MdaAudioRecorderUtilityServer::DeleteActiveSchedulerL()
+	{
+	}
+
+CTestBlockController* CT_MdaAudioRecorderUtilityServer::CreateTestBlock()
+	{
+	return new CT_MdaAudioRecorderUtilityBlock();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/pkg/T_MdaAudioRecorderUtility.pkg	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,52 @@
+;
+; Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+;
+;
+; Install file for T_MdaAudioRecorderUtility.exe
+;
+
+; Languages - 
+&EN
+
+; Installation header
+; UID is the app's UID
+#{"T_MdaAudioRecorderUtility"},(0x20000F78),1,0,0
+
+;%{"Vendor-EN"}
+;:"Symbian"
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+
+"T_MdaAudioRecorderUtility.exe"-"!:\sys\bin\T_MdaAudioRecorderUtility.exe"
+"tmdaaudiorecorderutility.bat"-"!:\multimedia\tmdaaudiorecorderutility.bat"
+"MM-MMF-ACLNT-RCRDR-PublicAPI.script"-"!:\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.script"
+"t_multimedia.tcs"-"!:\multimedia\t_multimedia.tcs"
+"MM-MMF-ACLNT-RCRDR-PublicAPI.ini"-"!:\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini"
+"T_MdaAudioRecorderUtility\pcm16stereo8khz.wav"-"!:\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav"
+"T_MdaAudioRecorderUtility\corrupted.wav"-"!:\multimedia\T_MdaAudioRecorderUtility\corrupted.wav"
+"t_multimedia.ini"-"!:\multimedia\t_multimedia.ini"
+
+
+; Required files
+; None
+
+; Component .sis files
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/pkg/tmdaaudiorecorderutility.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testexecute \multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/scripts/MM-MMF-ACLNT-RCRDR-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,3245 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName		MM-MMF-ACLNT-RCRDR-PublicAPI
+//! @SYMScriptTestEnvironment	This test script requires a basic ROM.
+/////////////////////////////////////////////////////////////////////
+// MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//
+// Tests all public elements of the CMdaAudioRecorderUtility class
+// as a means of confidence that the APIs work as expected.
+//
+// The purpose is to provide a regression test suite of PublishedAll APIs for CMdaAudioRecorderUtility.
+// Negative testing is performed to confirm that correct errors are returned when incorrect parameters are given.
+// The tests are fully automated.
+/////////////////////////////////////////////////////////////////////
+
+LOAD_SUITE	T_MdaAudioRecorderUtility
+
+
+START_TESTCASE			MM-MMF-ACLNT-RCRDR-PublicAPI-0001
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0001
+//! @SYMAPI			CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Creates object
+//!				Uses API elements: NewL().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Creating object with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL		MM-MMF-ACLNT-RCRDR-PublicAPI-0001-001-NewL_command01
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0001
+
+START_TESTCASE			MM-MMF-ACLNT-RCRDR-PublicAPI-0002
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0002
+//! @SYMAPI			CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens file using  TDesC
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Opening file using TDesC work ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0002-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0002
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0003
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0003
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens file using Rfile
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Opening file using RFile work ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0003-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0003
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0004
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0004
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens file using TMMSource
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Opening file using TMMSource work ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0004-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0004
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0005
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0005
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		09/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests playing file
+//!				Uses API elements: NewL(), OpenFileL(), PlayL(), Stop(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3. Play
+//!				4. Stop 5.Close file 5.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Playing file work ok/ Audio is played with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0005-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	PlayL
+		ASYNC_DELAY	500000
+		COMMAND		mdaaudiorecorderutility1	Stop
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0005
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0006
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0006
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		09/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Test volume settings from CMdaAudioRecorderUtility
+//!				Uses API elements: NewL(), SetVolume(), GetVolume, MaxVolume().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Set volume 3. Get volume 4. Set volume to MaxVolume
+//!				5.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Volume settings work ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0006-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetVolume	MM-MMF-ACLNT-RCRDR-PublicAPI-0006-001-SetVolume_command03
+		COMMAND		mdaaudiorecorderutility1	GetVolume	MM-MMF-ACLNT-RCRDR-PublicAPI-0006-001-GetVolume_command04
+		COMMAND		mdaaudiorecorderutility1	SetVolume	MM-MMF-ACLNT-RCRDR-PublicAPI-0006-001-SetVolume_command05
+		COMMAND		mdaaudiorecorderutility1	GetVolume	MM-MMF-ACLNT-RCRDR-PublicAPI-0006-001-GetVolume_command06
+		COMMAND		mdaaudiorecorderutility1	MaxVolume
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0006
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0007
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0007
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		09/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Test setting the priority of the CMdaAudioRecorderUtility
+//!				Uses API elements: NewL(), SetPriority().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Set priority 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Priority works ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	SetPriority	MM-MMF-ACLNT-RCRDR-PublicAPI-0007-001-SetPriority_command02
+		COMMAND		mdaaudiorecorderutility1	SetPriority	MM-MMF-ACLNT-RCRDR-PublicAPI-0007-001-SetPriority_command03
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0007
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0008
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0008
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		09/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests adding MetaDataEntry
+//!				Uses API elements: NewL(), OpenFileL(), AddMetaDataEntryL(), GetMetaDataEntryL(), Close().
+//! @SYMTestActions		Test adding the MetaDataEntry to the audio clip.
+//!				1. Create CMdaAudioRecorderUtility object. 2. Open file 3. Add MetaDataEntry
+//!				4. Get MetaDataEntry. 5. Get Number Of MetaDataEntries 6. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	MetaDataEntry APIs not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL			MM-MMF-ACLNT-RCRDR-PublicAPI-0008-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	AddMetaDataEntryL		MM-MMF-ACLNT-RCRDR-PublicAPI-0008-001-AddMetaDataEntryL_command04
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	GetMetaDataEntryL		MM-MMF-ACLNT-RCRDR-PublicAPI-0008-001-GetMetaDataEntryL_command05
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	GetNumberOfMetaDataEntries
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0008
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0009
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0009
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens a descriptor using const TDes8
+//!				Uses API elements: NewL(), OpenDesL(), Close()
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open audio clip 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	OpenDesL() is not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	 !AsyncError=-5 mdaaudiorecorderutility1	OpenDesL	MM-MMF-ACLNT-RCRDR-PublicAPI-0009-001-OpenDesL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0009
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0010
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0010
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens a descriptor using TDesC8
+//!				Uses API elements: NewL(), OpenDesL(), Close()
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open audio clip 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	OpenDesL() is not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	 !AsyncError=-5  mdaaudiorecorderutility1	OpenDesL
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0010
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0011
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0011
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens audio clip from a descriptor
+//!				Uses API elements: NewL(), OpenDesL(), Close()
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open audio clip 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	OpenDesL() is not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	 !AsyncError=-5	mdaaudiorecorderutility1	OpenDesL	MM-MMF-ACLNT-RCRDR-PublicAPI-0011-001-OpenDesL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0011
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0012
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0012
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Test setting various gain levels
+//!				Uses API elements: NewL(), GetGain(), SetGain().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Get gain. 3. Set small gain. 4. Get gain.
+//!				5. Set large gain. 6. Get gain. 7. Set zero gain. 8. Get gain. 9. Get max gain.
+//!				10. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Gain levels set and get work correctly with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0012-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0012-001-SetGain_command04
+		COMMAND		mdaaudiorecorderutility1	GetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0012-001-GetGain_command05
+		COMMAND		mdaaudiorecorderutility1	SetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0012-001-SetGain_command06
+		COMMAND		mdaaudiorecorderutility1	GetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0012-001-GetGain_command07
+		COMMAND		mdaaudiorecorderutility1	SetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0012-001-SetGain_command08
+		COMMAND		mdaaudiorecorderutility1	GetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0012-001-GetGain_command09
+		COMMAND		mdaaudiorecorderutility1	MaxGain
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0012
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0013
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0013
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens audio clip with  TDesC
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Opening audio clip with TDesC work ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0013-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0013
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0014
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0014
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens audio clip with Rfile
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Opening audio clip with RFile work ok
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0014-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0014
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0015
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0015
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens audio clip with TMMSource
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Opening audio clip with TMMSource work with no error
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0015-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0015
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0016
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0016
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens an audio clip with URL TFourCC type
+//!				Uses API elements: NewL(), OpenUrlL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Opening an audio clip from a URL with TFourCC type work with no error
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL		MM-MMF-ACLNT-RCRDR-PublicAPI-0016-001-NewL_command01
+		COMMAND		mdaaudiorecorderutility1	OpenUrlL	MM-MMF-ACLNT-RCRDR-PublicAPI-0016-001-OpenUrlL_command02
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0016
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0017
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0017
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens an audio clip with URL MIME type
+//!				Uses API elements: NewL(), OpenUrlL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Opening an audio clip from a URL with MIME type work with no error
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenUrlL	MM-MMF-ACLNT-RCRDR-PublicAPI-0017-001-OpenUrlL_command02
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0017
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0018
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0018
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Test setting various Record balance levels
+//!				Uses API elements: NewL(), SetRecordBalance(), GetRecordBalance().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Set positive Record balance. 3. Get Record balance.
+//!				4. Set negative Record balance. 5. Get Record balance. 6. Set maximum Record balance. 7. Get Record balance.
+//!				8. Set minimum Record balance. 9. Get Record balance. 10. Set zero Record balance. 11. Get Record balance.
+//!				12. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Balance levels set and get work correctly with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetRecordBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-SetRecordBalance_command03
+		COMMAND		mdaaudiorecorderutility1	GetRecordBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-GetRecordBalance_command04
+		COMMAND		mdaaudiorecorderutility1	SetRecordBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-SetRecordBalance_command05
+		COMMAND		mdaaudiorecorderutility1	GetRecordBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-GetRecordBalance_command06
+		COMMAND		mdaaudiorecorderutility1	SetRecordBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-SetRecordBalance_command07
+		COMMAND		mdaaudiorecorderutility1	GetRecordBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-GetRecordBalance_command08
+		COMMAND		mdaaudiorecorderutility1	SetRecordBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-SetRecordBalance_command09
+		COMMAND		mdaaudiorecorderutility1	GetRecordBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-GetRecordBalance_command10
+		COMMAND		mdaaudiorecorderutility1	SetRecordBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-SetRecordBalance_command11
+		COMMAND		mdaaudiorecorderutility1	GetRecordBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-GetRecordBalance_command12
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0018
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0019
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0019
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Gets a list of the supported codecs for the conversion destination
+//!				Uses API elements: NewL(), OpenFileL(), GetSupportedDestinationDataTypesL()
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Open file 3. Get list  4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Getting a list of the supported codecs for the conversion destination works with no error
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL				MM-MMF-ACLNT-RCRDR-PublicAPI-0019-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	GetSupportedDestinationDataTypesL
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0019
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0020
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0020
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Gets a list of the supported codecs for the conversion destination
+//!				Uses API elements: NewL(), GetSupportedSampleRatesL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Open file 3. Get list 4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Getting a list of the supported recording sample rates works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL			MM-MMF-ACLNT-RCRDR-PublicAPI-0020-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	GetSupportedSampleRatesL
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0020
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0021
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0021
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests replacing MetaDataEntry
+//!				Uses API elements: NewL(), OpenFileL(), AddMetaDataEntryL(), ReplaceMetaDataEntryL(), Close().
+//! @SYMTestActions		Test adding the MetaDataEntry to the audio clip.
+//!				1. Create CMdaAudioRecorderUtility object. 2. Open file 3. Add MetaDataEntry
+//!				4. Replace MetaDataEntry. 5. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	MetaData functions are not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0021-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	AddMetaDataEntryL	MM-MMF-ACLNT-RCRDR-PublicAPI-0021-001-AddMetaDataEntryL_command03
+		COMMAND	!Error=-18	mdaaudiorecorderutility1	ReplaceMetaDataEntryL	MM-MMF-ACLNT-RCRDR-PublicAPI-0021-001-ReplaceMetaDataEntryL_command04
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0021
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0022
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0022
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Test removing the MetaDataEntry to the audio clip.
+//!				Uses API elements: NewL(), OpenFileL(), AddMetaDataEntryL(), RemoveMetaDataEntry(), GetNumberOfMetaDataEntries(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object. 2. Open file 3. Add MetaDataEntry
+//!				4. Remove MetaDataEntry. 5.Get Number of MetaDataEntries 6. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	MetaData functions are not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0022-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	AddMetaDataEntryL	MM-MMF-ACLNT-RCRDR-PublicAPI-0022-001-AddMetaDataEntryL_command03
+		COMMAND	!Error=-18	mdaaudiorecorderutility1	RemoveMetaDataEntry	MM-MMF-ACLNT-RCRDR-PublicAPI-0022-001-RemoveMetaDataEntry_command04
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0022
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0023
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0023
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests recording audio
+//!				Uses API elements: NewL(), OpenFileL(), RecordL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3. Record some audio data
+//!				4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Audio is recorded with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0023-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0023-001-SetGain_command03
+		COMMAND		mdaaudiorecorderutility1	RecordL
+		ASYNC_DELAY	5000000
+		COMMAND		mdaaudiorecorderutility1	Stop
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0023
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0024
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0024
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests getting audio duration state
+//!				Uses API elements: NewL(), OpenFileL(), Duration(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3. Get audio clip duration state
+//!				4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Getting duration works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0024-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	Duration	MM-MMF-ACLNT-RCRDR-PublicAPI-0024-001-Duration_command03
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0024
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0025
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0025
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting position
+//!				Uses API elements: NewL(), OpenFileL(), SetPosition(), Position(), Close().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Open audio clip 3. Start timer
+//!							4. Set position. 5. Get position 6. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Position set and get work correctly with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0025-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetPosition	MM-MMF-ACLNT-RCRDR-PublicAPI-0025-001-SetPosition_command03
+		COMMAND		mdaaudiorecorderutility1	Position
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0025
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0026
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0026
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests defining Play window
+//!				Uses API elements: NewL(), OpenFileL(), SetPlayWindow(), Close().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object.  2. Open file 3. Set Play window.
+//!				4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Play window is defined correctly with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0026-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetPlayWindow		MM-MMF-ACLNT-RCRDR-PublicAPI-0026-001-SetPlayWindow_command04
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0026
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0027
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0027
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting the number of times the audio sample is to be repeated
+//!				Uses API elements: NewL(), OpenFileL(), SetRepeats(), PlayL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3. Set repeats 4. Play
+//!				5.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Setting repeats works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0027-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetRepeats	MM-MMF-ACLNT-RCRDR-PublicAPI-0027-001-SetRepeats_command03
+		COMMAND		mdaaudiorecorderutility1	PlayL
+		ASYNC_DELAY	9000000
+		COMMAND		mdaaudiorecorderutility1	Stop
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0027
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0028
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0028
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests playing audio clip then stop it before ending and continue
+//!				Uses API elements: NewL(), OpenFileL(), PlayL(), Stop(), WillResumePlay(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Open audio clip  3. Start timer 4. Play
+//!				5. Start timer 6. Stop 7. Continue timer 8.  Wait for client to resume the play 9. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Resuming play works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0028-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	PlayL
+		ASYNC_DELAY	20000
+		COMMAND		mdaaudiorecorderutility1	Stop
+		COMMAND		mdaaudiorecorderutility1	WillResumePlay
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0028
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0029
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0029
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting volume ramp when play has started
+//!				Uses API elements: NewL(), OpenFileL(), PlayL(), SetVolumeRamp(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object  2. Open audio clip 3. Play 4. Set volume ramp 5. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Setting volume ramp work with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0029-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	PlayL
+		ASYNC_DELAY	50000
+		COMMAND		mdaaudiorecorderutility1	SetVolumeRamp	MM-MMF-ACLNT-RCRDR-PublicAPI-0029-001-SetVolumeRamp_command05
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0029
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0030
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0030
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting various priority levels
+//!				Uses API elements: NewL(), SetPriority().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2-5. Set different priority levels.
+//!				6. Destroy object.
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Setting priority levels works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	SetPriority	MM-MMF-ACLNT-RCRDR-PublicAPI-0030-001-SetPriority_command02
+		COMMAND		mdaaudiorecorderutility1	SetPriority	MM-MMF-ACLNT-RCRDR-PublicAPI-0030-001-SetPriority_command03
+		COMMAND		mdaaudiorecorderutility1	SetPriority	MM-MMF-ACLNT-RCRDR-PublicAPI-0030-001-SetPriority_command04
+		COMMAND		mdaaudiorecorderutility1	SetPriority	MM-MMF-ACLNT-RCRDR-PublicAPI-0030-001-SetPriority_command05
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0030
+
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0031
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0031
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Test setting various Playback balance levels
+//!				Uses API elements: NewL(), SetPlaybackBalance(), GetPlaybackBalance(), OpenFileL(), Close().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Set positive Playback balance. 3. Get Playback balance.
+//!				4. Set negative Playback balance. 5. Get Playback balance. 6. Set maximum Playback balance. 7. Get Playback balance.
+//!				8. Set minimum Playback balance. 9. Get Playback balance. 10. Set zero Playback balance. 11. Get Playback balance.
+//!				12. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Playback balance levels set and get work correctly with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetPlaybackBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-SetPlaybackBalance_command03
+		COMMAND		mdaaudiorecorderutility1	GetPlaybackBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-GetPlaybackBalance_command04
+		COMMAND		mdaaudiorecorderutility1	SetPlaybackBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-SetPlaybackBalance_command05
+		COMMAND		mdaaudiorecorderutility1	GetPlaybackBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-GetPlaybackBalance_command06
+		COMMAND		mdaaudiorecorderutility1	SetPlaybackBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-SetPlaybackBalance_command07
+		COMMAND		mdaaudiorecorderutility1	GetPlaybackBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-GetPlaybackBalance_command08
+		COMMAND		mdaaudiorecorderutility1	SetPlaybackBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-SetPlaybackBalance_command09
+		COMMAND		mdaaudiorecorderutility1	GetPlaybackBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-GetPlaybackBalance_command10
+		COMMAND		mdaaudiorecorderutility1	SetPlaybackBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-SetPlaybackBalance_command11
+		COMMAND		mdaaudiorecorderutility1	GetPlaybackBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-GetPlaybackBalance_command12
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0031
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0032
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0032
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Test setting various priority of the playback controller's sub thread
+//!				Uses API elements: NewL(), OpenFileL(), SetThreadPriorityPlayback(), Close().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Open file
+//!				3-13. Set different ThreadPriorityPlayback levels. 14. Destroy object.
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Setting ThreadPriorityPlayback levels works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL			MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityPlayback	MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command03
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityPlayback	MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command04
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityPlayback	MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command05
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityPlayback	MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command06
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityPlayback	MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command07
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityPlayback	MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command08
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityPlayback	MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command09
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityPlayback	MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command10
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityPlayback	MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command11
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityPlayback	MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command12
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityPlayback	MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command13
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0032
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0033
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0033
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting various priority of the record controller's sub thread
+//!				Uses API elements: NewL(), OpenFileL(), SetThreadPriorityRecord(), Close().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2.Open file
+//!				3-13. Set different ThreadPriorityRecord levels. 14. Destroy object.
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Setting ThreadPriorityRecord levels works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityRecord	MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command03
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityRecord	MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command04
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityRecord	MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command05
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityRecord	MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command06
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityRecord	MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command07
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityRecord	MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command08
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityRecord	MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command09
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityRecord	MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command10
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityRecord	MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command11
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityRecord	MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command12
+		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityRecord	MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command13
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0033
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0034
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0034
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests getting current state of the audio sample data.
+//!				Uses API elements: NewL(), OpenfileL(), PlayL(), State() , Close().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Get state 3. Open audio 4. Get state 5. Play
+//!				6. Get state 7. Destroy object.
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Getting state works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0034-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	State		MM-MMF-ACLNT-RCRDR-PublicAPI-0034-001-State_command03
+		COMMAND		mdaaudiorecorderutility1	PlayL
+		ASYNC_DELAY	50000
+		COMMAND		mdaaudiorecorderutility1	State		MM-MMF-ACLNT-RCRDR-PublicAPI-0034-001-State_command06
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	State		MM-MMF-ACLNT-RCRDR-PublicAPI-0034-001-State_command08
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0034
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0035
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0035
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests getting controller implementation information associated with the playback controller
+//!				Uses API elements: NewL(), OpenFileL(), AudioPlayControllerImplementationInformationL(), Close().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Open File 3. Get AudioPlayControllerImplementationInformation 4. Destroy object.
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Getting Playback controller information works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL					MM-MMF-ACLNT-RCRDR-PublicAPI-0035-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	AudioPlayControllerImplementationInformationL
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0035
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0036
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0036
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests getting controller implementation information associated with the playback controller
+//!				Uses API elements: NewL(), OpenFileL(), AudioRecorderControllerImplementationInformationL(), Close().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Open file 3. Get AudioRecorderControllerImplementationInformation 4. Destroy object.
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Getting Recorder controller information works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL						MM-MMF-ACLNT-RCRDR-PublicAPI-0036-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	AudioRecorderControllerImplementationInformationL
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0036
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0037
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0037
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests getting current progress of audio loading
+//!				Uses API elements: NewL(), OpenFileL(), GetAudioLoadingProgressL(), Close().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Open file 3. Get audio loading progress 4. Destroy object.
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	GetAudioLoadingProgressL() is not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL				MM-MMF-ACLNT-RCRDR-PublicAPI-0037-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	RegisterForAudioLoadingNotification
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	GetAudioLoadingProgressL
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0037
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0038
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0038
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting various audio device modes
+//!				Uses API elements: NewL(), SetAudioDeviceMode().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2-5. Set different audo device modes. 3. Destroy object.
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Setting audio device mode works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	SetAudioDeviceMode	MM-MMF-ACLNT-RCRDR-PublicAPI-0038-001-SetAudioDeviceMode_command02
+		COMMAND		mdaaudiorecorderutility1	SetAudioDeviceMode	MM-MMF-ACLNT-RCRDR-PublicAPI-0038-001-SetAudioDeviceMode_command03
+		COMMAND		mdaaudiorecorderutility1	SetAudioDeviceMode	MM-MMF-ACLNT-RCRDR-PublicAPI-0038-001-SetAudioDeviceMode_command04
+		COMMAND		mdaaudiorecorderutility1	SetAudioDeviceMode	MM-MMF-ACLNT-RCRDR-PublicAPI-0038-001-SetAudioDeviceMode_command05
+		COMMAND		mdaaudiorecorderutility1	SetAudioDeviceMode	MM-MMF-ACLNT-RCRDR-PublicAPI-0038-001-SetAudioDeviceMode_command06
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0038
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0039
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0039
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting/getting  data type methods on every FourCC type
+//!				Uses API elements: NewL(), GetSupportedDestinationDataTypesL(), SetDestinationDataTypeL(), DestinationDataTypeL(), OpenFilel(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Get supported data types 3. Set/get different data types 4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Supported FourCC data types can be set with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL				MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	GetSupportedDestinationDataTypesL
+		COMMAND		mdaaudiorecorderutility1	DestinationDataTypeL
+		COMMAND		mdaaudiorecorderutility1	SetDestinationDataTypeL			MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-SetDestinationDataTypeL_command05
+		COMMAND		mdaaudiorecorderutility1	DestinationDataTypeL			MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-DestinationDataTypeL_command06
+		COMMAND		mdaaudiorecorderutility1	SetDestinationDataTypeL			MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-SetDestinationDataTypeL_command07
+		COMMAND		mdaaudiorecorderutility1	DestinationDataTypeL			MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-DestinationDataTypeL_command08
+		COMMAND		mdaaudiorecorderutility1	SetDestinationDataTypeL			MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-SetDestinationDataTypeL_command09
+		COMMAND		mdaaudiorecorderutility1	DestinationDataTypeL			MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-DestinationDataTypeL_command10
+		COMMAND		mdaaudiorecorderutility1	SetDestinationDataTypeL			MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-SetDestinationDataTypeL_command11
+		COMMAND		mdaaudiorecorderutility1	DestinationDataTypeL			MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-DestinationDataTypeL_command12
+		COMMAND		mdaaudiorecorderutility1	SetDestinationDataTypeL			MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-SetDestinationDataTypeL_command13
+		COMMAND		mdaaudiorecorderutility1	DestinationDataTypeL			MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-DestinationDataTypeL_command14
+		COMMAND		mdaaudiorecorderutility1	SetDestinationDataTypeL			MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-SetDestinationDataTypeL_command15
+		COMMAND		mdaaudiorecorderutility1	DestinationDataTypeL			MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-DestinationDataTypeL_command16
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0039
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0040
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0040
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting/getting  supported bit rates
+//!				Uses API elements: NewL(), GetSupportedBitRatesL() , SetDestinationBitRateL(), DestinationBitRateL(), OpenFilel(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Get supported bit rates 3. Set/get different bit rates 4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	GetSupportedBitRatesL() is not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100 T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0040-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	DestinationBitRateL
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	GetSupportedBitRatesL
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0040
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0041
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0041
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting/getting  supported sample rates
+//!				Uses API elements: NewL(), GetSupportedSampleRatesL() , SetDestinationSampleRateL(), DestinationSampleRateL(), OpenFilel(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Get supported sample rates 3. Set/get different sample rates 4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Supported sample rates can be set with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL			MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	GetSupportedSampleRatesL
+		COMMAND		mdaaudiorecorderutility1	SetDestinationSampleRateL	MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command04
+		COMMAND		mdaaudiorecorderutility1	DestinationSampleRateL		MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command05
+		COMMAND		mdaaudiorecorderutility1	SetDestinationSampleRateL	MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command06
+		COMMAND		mdaaudiorecorderutility1	DestinationSampleRateL		MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command07
+		COMMAND		mdaaudiorecorderutility1	SetDestinationSampleRateL	MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command08
+		COMMAND		mdaaudiorecorderutility1	DestinationSampleRateL		MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command09
+		COMMAND		mdaaudiorecorderutility1	SetDestinationSampleRateL	MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command10
+		COMMAND		mdaaudiorecorderutility1	DestinationSampleRateL		MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command11
+		COMMAND		mdaaudiorecorderutility1	SetDestinationSampleRateL	MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command12
+		COMMAND		mdaaudiorecorderutility1	DestinationSampleRateL		MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command13
+		COMMAND		mdaaudiorecorderutility1	SetDestinationSampleRateL	MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command14
+		COMMAND		mdaaudiorecorderutility1	DestinationSampleRateL		MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command15
+		COMMAND		mdaaudiorecorderutility1	SetDestinationSampleRateL	MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command16
+		COMMAND		mdaaudiorecorderutility1	DestinationSampleRateL		MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command17
+		COMMAND		mdaaudiorecorderutility1	SetDestinationSampleRateL	MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command18
+		COMMAND		mdaaudiorecorderutility1	DestinationSampleRateL		MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command19
+		COMMAND		mdaaudiorecorderutility1	SetDestinationSampleRateL	MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command20
+		COMMAND		mdaaudiorecorderutility1	DestinationSampleRateL		MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command21
+		COMMAND		mdaaudiorecorderutility1	SetDestinationSampleRateL	MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command22
+		COMMAND		mdaaudiorecorderutility1	DestinationSampleRateL		MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command23
+		COMMAND		mdaaudiorecorderutility1	SetDestinationSampleRateL	MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command24
+		COMMAND		mdaaudiorecorderutility1	DestinationSampleRateL		MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command25
+		COMMAND		mdaaudiorecorderutility1	SetDestinationSampleRateL	MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command26
+		COMMAND		mdaaudiorecorderutility1	DestinationSampleRateL		MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command27
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0041
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0042
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0042
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting/getting  supported number of channels
+//!				Uses API elements: NewL(), GetSupportedNumberOfChannelsL() , SetDestinationNumberOfChannelsL(), DestinationNumberOfChannelsL(), OpenFilel(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Get supported number of channels 3. Set/get different number of channels 4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Supported number of channels can be set with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL			MM-MMF-ACLNT-RCRDR-PublicAPI-0042-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	GetSupportedNumberOfChannelsL
+		COMMAND		mdaaudiorecorderutility1	SetDestinationNumberOfChannelsL	MM-MMF-ACLNT-RCRDR-PublicAPI-0042-001-SetDestinationNumberOfChannelsL_command04
+		COMMAND		mdaaudiorecorderutility1	DestinationNumberOfChannelsL	MM-MMF-ACLNT-RCRDR-PublicAPI-0042-001-DestinationNumberOfChannelsL_command05
+		COMMAND		mdaaudiorecorderutility1	SetDestinationNumberOfChannelsL	MM-MMF-ACLNT-RCRDR-PublicAPI-0042-001-SetDestinationNumberOfChannelsL_command06
+		COMMAND		mdaaudiorecorderutility1	DestinationNumberOfChannelsL	MM-MMF-ACLNT-RCRDR-PublicAPI-0042-001-DestinationNumberOfChannelsL_command07
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0042
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0043
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0043
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting  format of audio clip
+//!				Uses API elements: NewL(), SetDestinationFormatL(), DestinationFormatL(), OpenFilel(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Set format 3. Get format 4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Setting format of audio clip works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0043-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	DestinationFormatL  MM-MMF-ACLNT-RCRDR-PublicAPI-0043-001-DestinationFormatL_command05
+		COMMAND		mdaaudiorecorderutility1	SetDestinationFormatL	MM-MMF-ACLNT-RCRDR-PublicAPI-0043-001-SetDestinationFormatL_command04
+		COMMAND		mdaaudiorecorderutility1	DestinationFormatL	MM-MMF-ACLNT-RCRDR-PublicAPI-0043-001-DestinationFormatL_command05
+		COMMAND		mdaaudiorecorderutility1	SetDestinationFormatL	MM-MMF-ACLNT-RCRDR-PublicAPI-0043-001-SetDestinationFormatL_command06
+		COMMAND		mdaaudiorecorderutility1	DestinationFormatL	MM-MMF-ACLNT-RCRDR-PublicAPI-0043-001-DestinationFormatL_command07
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0043
+
+
+RUN_UTILS CopyFile		${SYSDRIVE}\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav		${SYSDRIVE}\multimedia\T_MdaAudioRecorderUtility\temp_pcm16stereo8khz.wav
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0044
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0044
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests cropping audio sample
+//!				Uses API elements: NewL(), OpenFileL(), CropL(), Duration(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Open audio sample 3. Crop audio sample 4. Get duration 5. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Cropping audio sample works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0044-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetPosition	MM-MMF-ACLNT-RCRDR-PublicAPI-0044-001-SetPosition_command03
+		COMMAND		mdaaudiorecorderutility1	CropL
+		COMMAND		mdaaudiorecorderutility1	Duration	MM-MMF-ACLNT-RCRDR-PublicAPI-0044-001-Duration_command05
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0044
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0045
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0045
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests cropping audio sample from beginning
+//!				Uses API elements: NewL(), OpenFileL(), CropFromBeginningL(), Duration(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Open audio sample 3. Crop audio sample 4. Get duration 5. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Cropping audio sample from beginning works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0045-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetGain			MM-MMF-ACLNT-RCRDR-PublicAPI-0045-001-SetGain_command03
+		COMMAND		mdaaudiorecorderutility1	RecordL
+		ASYNC_DELAY	500000
+		COMMAND		mdaaudiorecorderutility1	Stop
+		COMMAND		mdaaudiorecorderutility1	CropFromBeginningL
+		COMMAND		mdaaudiorecorderutility1	Duration		MM-MMF-ACLNT-RCRDR-PublicAPI-0045-001-Duration_command08
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0045
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0046
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0046
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting max write length to recording time available
+//!				Uses API elements: NewL(), OpenFileL(), RecordTimeAvailable(), SetMaxWriteLength(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Open file 3. Get available record time 4. Set max length 5. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Setting max write length works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0046-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	RecordTimeAvailable
+		COMMAND		mdaaudiorecorderutility1	SetMaxWriteLength
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0046
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0047
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0047
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests clearing play window
+//!				Uses API elements: NewL(), OpenFileL(), SetPlayWindow(), ClearPlayWindow(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Open file 3. Set play window 4. Clear play window 5. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors are returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0047-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetPlayWindow	MM-MMF-ACLNT-RCRDR-PublicAPI-0047-001-SetPlayWindow_command03
+		COMMAND		mdaaudiorecorderutility1	ClearPlayWindow
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0047
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0048
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0048
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests registering to receive notifications of audio loading/rebuffering
+//!				Uses API elements: NewL(), RegisterForAudioLoadingNotification().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Register 3. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Setting registering to receive notifications of audio loading/rebuffering works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	RegisterForAudioLoadingNotification
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0048
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0049
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0049
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests registering and canceling the Event for Notification when resource is avaliable
+//!				Uses API elements: NewL(), RegisterAudioResourceNotification(), CancelRegisterAudioResourceNotification().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Register 3. Cancel 4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Registering the Event for Notification when resource is avaliable works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	RegisterAudioResourceNotification	MM-MMF-ACLNT-RCRDR-PublicAPI-0049-001-RegisterAudioResourceNotification_command02
+		COMMAND		mdaaudiorecorderutility1	CancelRegisterAudioResourceNotification	MM-MMF-ACLNT-RCRDR-PublicAPI-0049-001-CancelRegisterAudioResourceNotification_command03
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0049
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0050
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0050
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests getting a controller's DRM custom command implementation
+//!				Uses API elements: NewL(), GetDRMCustomCommand().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Get DRM custom command 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Getting a controller's DRM custom command implementation works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	GetDRMCustomCommand	MM-MMF-ACLNT-RCRDR-PublicAPI-0050-001-GetDRMCustomCommand_command02
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0050
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0051
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0051
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests sending asynchronous custom command to the recording controller
+//!				Uses API elements: NewL(), PlayControllerCustomCommandAsync(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Send custom command 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Custom commands not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL				MM-MMF-ACLNT-RCRDR-PublicAPI-0051-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	 !AsyncError=-5	mdaaudiorecorderutility1	PlayControllerCustomCommandAsync	MM-MMF-ACLNT-RCRDR-PublicAPI-0051-001-PlayControllerCustomCommandAsync_command03
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0051
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0052
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0052
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests sending a asynchronous custom command to the recording controller with reference to an area of memory
+//!				Uses API elements: NewL(), PlayControllerCustomCommandAsync(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Send custom command 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Custom commands not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL				MM-MMF-ACLNT-RCRDR-PublicAPI-0052-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	mdaaudiorecorderutility1	PlayControllerCustomCommandAsync	MM-MMF-ACLNT-RCRDR-PublicAPI-0052-001-PlayControllerCustomCommandAsync_command03
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0052
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0053
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0053
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests sending synchronous custom command to the recording controller
+//!				Uses API elements: NewL(), PlayControllerCustomCommandSync(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Send custom command 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Custom commands not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL			MM-MMF-ACLNT-RCRDR-PublicAPI-0053-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	PlayControllerCustomCommandSync	MM-MMF-ACLNT-RCRDR-PublicAPI-0053-001-PlayControllerCustomCommandSync_command03
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0053
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0054
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0054
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests sending a asynchronous custom command to the recording controller with reference to an area of memory
+//!				Uses API elements: NewL(), PlayControllerCustomCommandAsync(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Send custom command 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Custom commands not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL			MM-MMF-ACLNT-RCRDR-PublicAPI-0054-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	PlayControllerCustomCommandSync	MM-MMF-ACLNT-RCRDR-PublicAPI-0054-001-PlayControllerCustomCommandSync_command03
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0054
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0055
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0055
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests sending asynchronous custom command to the recording controller
+//!				Uses API elements: NewL(), RecordControllerCustomCommandAsync(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Send custom command 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Custom commands not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL				MM-MMF-ACLNT-RCRDR-PublicAPI-0055-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	 !AsyncError=-5	mdaaudiorecorderutility1	RecordControllerCustomCommandAsync	MM-MMF-ACLNT-RCRDR-PublicAPI-0055-001-RecordControllerCustomCommandAsync_command03
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0055
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0056
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0056
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests sending a asynchronous custom command to the recording controller with reference to an area of memory
+//!				Uses API elements: NewL(), RecordControllerCustomCommandAsync(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Send custom command 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Custom commands not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL				MM-MMF-ACLNT-RCRDR-PublicAPI-0056-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	mdaaudiorecorderutility1	RecordControllerCustomCommandAsync	MM-MMF-ACLNT-RCRDR-PublicAPI-0056-001-RecordControllerCustomCommandAsync_command03
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0056
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0057
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0057
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests sending synchronous custom command to the recording controller
+//!				Uses API elements: NewL(), RecordControllerCustomCommandSync(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Send custom command 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Custom commands not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL				MM-MMF-ACLNT-RCRDR-PublicAPI-0057-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	RecordControllerCustomCommandSync	MM-MMF-ACLNT-RCRDR-PublicAPI-0057-001-RecordControllerCustomCommandSync_command03
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0057
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0058
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0058
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests sending a asynchronous custom command to the recording controller with reference to an area of memory
+//!				Uses API elements: NewL(), RecordControllerCustomCommandAsync(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object. 2. Send custom command. 3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Custom commands not supported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL				MM-MMF-ACLNT-RCRDR-PublicAPI-0058-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	RecordControllerCustomCommandSync	MM-MMF-ACLNT-RCRDR-PublicAPI-0058-001-RecordControllerCustomCommandSync_command03
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0058
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0059
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0059
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests recording audio when before setting gain
+//!				Uses API elements: NewL(), OpenFileL(), SetGain(), RecordL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3. Set Gain 4. Record some audio data
+//!				5. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Audio is recorded with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0059-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0059-001-SetGain_command03
+		COMMAND		mdaaudiorecorderutility1	RecordL
+		ASYNC_DELAY	5000000
+		COMMAND		mdaaudiorecorderutility1	Stop
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0059
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0060
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0060
+//! @SYMAPI             		CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens a TMdaClipLocation package of audio data
+//!				Uses API elements: NewL(), OpenL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Opening TMdaClipLocation package of audio data works with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenL	MM-MMF-ACLNT-RCRDR-PublicAPI-0060-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0060
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0061
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0061
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests getting bit rate of the audio clip.
+//!				Uses API elements: NewL(), OpenFileL(), SourceBitRateL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Open audio clip 3. Start timer
+//!						4. Get bit rate 5. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults 	Getting bit rate of the audio clip works with no errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0061-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SourceBitRateL
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0061
+
+//Phase 2 tests begin here
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0062
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0062
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting  bad data type
+//!				Uses API elements: NewL(), OpenFileL(), SetDestinationDataTypeL(), DestinationDataTypeL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Open file with rfile 3. Set bad data type 4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned and not setting Destination DataType
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0062-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	SetDestinationDataTypeL	MM-MMF-ACLNT-RCRDR-PublicAPI-0062-001-SetDestinationDataTypeL_command03
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0062
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0063
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0063
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad bit rate
+//!				Uses API elements: NewL(), SetDestinationBitRateL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Set bad bit rate 3. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned and not setting Bit Rate
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0063-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	SetDestinationBitRateL	MM-MMF-ACLNT-RCRDR-PublicAPI-0063-001-SetDestinationBitRateL_command03
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0063
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0064
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0064
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad number of channels
+//!				Uses API elements: NewL(), SetDestinationNumberOfChannelsL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Set/get different number of channels 4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned and not setting Destination Number of Channels
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL			MM-MMF-ACLNT-RCRDR-PublicAPI-0064-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	SetDestinationNumberOfChannelsL	MM-MMF-ACLNT-RCRDR-PublicAPI-0064-001-SetDestinationNumberOfChannelsL_command03
+		COMMAND			mdaaudiorecorderutility1	DestinationNumberOfChannelsL
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0064
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0065
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0065
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad format of audio clip
+//!				Uses API elements: NewL(), SetDestinationFormatL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Set format 4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotFound is returned and not setting destination format
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0065-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-1	mdaaudiorecorderutility1	SetDestinationFormatL	MM-MMF-ACLNT-RCRDR-PublicAPI-0065-001-SetDestinationFormatL_command04
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0065
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0066
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0066
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		26/04/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting data type when file already exists
+//!				Uses API elements: NewL(), OpenFileL(), SetDestinationDataTypeL(), DestinationDataTypeL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Open file with rfile 3. Set bad data type 4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrAlreadyExists is returned and not setting destination datatype
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0066-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-11	mdaaudiorecorderutility1	SetDestinationDataTypeL	MM-MMF-ACLNT-RCRDR-PublicAPI-0066-001-SetDestinationDataTypeL_command03
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0066
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0067
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0067
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try Open file using TDesC with bad file name
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrPathNotFound is returned and not creating new file
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-12	mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0067-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0067
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0068
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0068
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try open file with bad filename
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrBadName is returned and not creating new file
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-28	mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0068-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0068
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0069
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0069
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try open file using TMMSource with bad file name
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrPathNotFound is returned and not creating file
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-12	mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0069-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0069
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0070
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0070
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try Open audio clip using TDesC with bad file name
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrPathNotFound is returned and not creating file
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-12	mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0070-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0070
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0071
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0071
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try open audio clip using Rfile with bad file name
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrBadName is returned and not creating file
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-28	mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0071-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0071
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0072
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0072
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try audio clip using TMMSource with bad file name
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrPathNotFound is returned and not creating file
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-12	mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0072-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0072
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0073
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0073
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try Open audio clip using TDesC with wrong data type
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned and not opening file
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0073-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0073
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0074
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0074
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try open audio clip using Rfile with wrong data type
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned and not opening file
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0074-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0074
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0075
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0075
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try open file using TMMSource with wrong data type
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned and not opening file
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0075-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0075
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0076
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0076
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		29/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Test setting invalid priority of the CMdaAudioRecorderUtility
+//!				Uses API elements: NewL(), SetPriority().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Set priority 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	SetPriority	MM-MMF-ACLNT-RCRDR-PublicAPI-0076-001-SetPriority_command02
+		COMMAND		mdaaudiorecorderutility1	SetPriority	MM-MMF-ACLNT-RCRDR-PublicAPI-0076-001-SetPriority_command03
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0076
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0077
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0077
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		29/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting play window startpoint bigger than duration and end point negative
+//!				Uses API elements: NewL(), OpenFileL(), SetPlayWindow(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Open file 3. Set play window 4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors are returned, setting start point to zero and end point to value of Duration()
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0077-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetPlayWindow	MM-MMF-ACLNT-RCRDR-PublicAPI-0077-001-SetPlayWindow_command03
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0077
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0078
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0078
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		29/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting play window startpoint  negative and endpoint bigger than duration
+//!				Uses API elements: NewL(), OpenFileL(), SetPlayWindow(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Open file 3. Set play window 4. Clear play window 5. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors are returned, setting start point to zero and end point to value of Duration()
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0078-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetPlayWindow	MM-MMF-ACLNT-RCRDR-PublicAPI-0078-001-SetPlayWindow_command03
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0078
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0079
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0079
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad sample rate
+//!				Uses API elements: NewL(), SetDestinationSampleRateL().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Set bad sample rate. 3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned and not setting sample raye
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL			MM-MMF-ACLNT-RCRDR-PublicAPI-0079-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	SetDestinationSampleRateL	MM-MMF-ACLNT-RCRDR-PublicAPI-0079-001-SetDestinationSampleRateL_command03
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0079
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0080
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0080
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens a TMdaClipLocation package of audio data with bad file name
+//!				Uses API elements: NewL(), OpenL().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrPathNotFound is returned and not creating file
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-12	mdaaudiorecorderutility1	OpenL	MM-MMF-ACLNT-RCRDR-PublicAPI-0080-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0080
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0081
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0081
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens a TMdaClipLocation package of audio data with wrong format
+//!				Uses API elements: NewL(), OpenL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned and not opening file
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudiorecorderutility1	OpenL	MM-MMF-ACLNT-RCRDR-PublicAPI-0081-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0081
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0082
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0082
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens a TMdaClipLocation package of audio data with wrong codec/data type
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenL	MM-MMF-ACLNT-RCRDR-PublicAPI-0082-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0082
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0083
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0083
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens a TMdaClipLocation package of audio data with wrong audio settings
+//!				Uses API elements: NewL(), OpenL()
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenL	MM-MMF-ACLNT-RCRDR-PublicAPI-0083-001-OpenL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0083
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0084
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0084
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad volume values
+//!				Uses API elements: NewL(), SetVolume(), GetVolume.
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Set volume less than zero 3. Get volume 4. Set volume greater than MaxVolume()
+//!				5. Get volume 6.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0084-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetVolume	MM-MMF-ACLNT-RCRDR-PublicAPI-0084-001-SetVolume_command03
+		COMMAND		mdaaudiorecorderutility1	GetVolume
+		COMMAND		mdaaudiorecorderutility1	SetVolume	MM-MMF-ACLNT-RCRDR-PublicAPI-0084-001-SetVolume_command05
+		COMMAND		mdaaudiorecorderutility1	GetVolume
+		COMMAND		mdaaudiorecorderutility1	MaxVolume
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0084
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0085
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0085
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Test setting various gain levels
+//!				Uses API elements: NewL(), GetGain(), SetGain(), MaxGain();.
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Set negative gain. 3. Get gain.
+//!				4. Set gain value to greater than MaxGain(). 5. Get Gain.	6. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors are returned and first setting gain to zero and then to MaxGain()
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0085-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0085-001-SetGain_command03
+		COMMAND		mdaaudiorecorderutility1	GetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0085-001-GetGain_command04
+		COMMAND		mdaaudiorecorderutility1	SetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0085-001-SetGain_command05
+		COMMAND		mdaaudiorecorderutility1	GetGain
+		COMMAND		mdaaudiorecorderutility1	MaxGain
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0085
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0086
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0086
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests setting volume ramp longer than the duration
+//!				Uses API elements: NewL(), OpenFileL(), SetVolumeRamp().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object  2. Open audio clip with tdesc 3. Set volume ramp longer than the duration 4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0086-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetVolumeRamp	MM-MMF-ACLNT-RCRDR-PublicAPI-0086-001-SetVolumeRamp_command03
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0086
+
+//! START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0087
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0087
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens an audio clip from URL with wrong TFourCC type
+//!				Uses API elements: NewL(), OpenUrlL()
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Panic KERN-EXEC 3 is returned
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+//! 		COMMAND		mdaaudiorecorderutility1	NewL
+//! 		COMMAND		mdaaudiorecorderutility1	OpenUrlL	MM-MMF-ACLNT-RCRDR-PublicAPI-0087-001-OpenUrlL_command02
+//! 		COMMAND		mdaaudiorecorderutility1	PlayL
+//! 		COMMAND		mdaaudiorecorderutility1	Close
+//! 		COMMAND		mdaaudiorecorderutility1	~
+//! 	END_TEST_BLOCK	!PanicString=KERN-EXEC !PanicCode=3
+//! END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0087
+
+//! START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0088
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0088
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens an audio clip from URL with wrong MIME type
+//!				Uses API elements: NewL(), OpenUrlL()
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Panic KERN-EXEC 3 is returned
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+//! 		COMMAND		mdaaudiorecorderutility1	NewL
+//! 		COMMAND		mdaaudiorecorderutility1	OpenUrlL	MM-MMF-ACLNT-RCRDR-PublicAPI-0088-001-OpenUrlL_command02
+//! 		COMMAND		mdaaudiorecorderutility1	PlayL
+//! 		COMMAND		mdaaudiorecorderutility1	Close
+//! 		COMMAND		mdaaudiorecorderutility1	~
+//! 	END_TEST_BLOCK	!PanicString=KERN-EXEC !PanicCode=3
+//! END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0088
+
+//! START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0089
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0089
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens an audio clip from URL with TFourCC type using bad url
+//!				Uses API elements: NewL(), OpenUrlL()
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Panic KERN-EXEC 3 is returned
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+//! 		COMMAND		mdaaudiorecorderutility1	NewL
+//! 		COMMAND		mdaaudiorecorderutility1	OpenUrlL	MM-MMF-ACLNT-RCRDR-PublicAPI-0089-001-OpenUrlL_command02
+//! 		COMMAND		mdaaudiorecorderutility1	PlayL
+//! 		COMMAND		mdaaudiorecorderutility1	Close
+//! 		COMMAND		mdaaudiorecorderutility1	~
+//! 	END_TEST_BLOCK	!PanicString=KERN-EXEC !PanicCode=3
+//! END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0089
+
+//! START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0090
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0090
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens an audio clip from URL with MIME type using bad url
+//!				Uses API elements: NewL(), OpenUrlL().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Panic KERN-EXEC 3 is returned
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+//! 		COMMAND		mdaaudiorecorderutility1	NewL
+//! 		COMMAND		mdaaudiorecorderutility1	OpenUrlL	MM-MMF-ACLNT-RCRDR-PublicAPI-0090-001-OpenUrlL_command02
+//! 		COMMAND		mdaaudiorecorderutility1	PlayL
+//! 		COMMAND		mdaaudiorecorderutility1	Close
+//! 		COMMAND		mdaaudiorecorderutility1	~
+//! 	END_TEST_BLOCK	!PanicString=KERN-EXEC !PanicCode=3
+//! END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0090
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0091
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0091
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try removing the MetaDataEntry, which don't exist.
+//!				Uses API elements: NewL(), OpenFileL(), RemoveMetaDataEntry(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object. 2. Open file with tdesc 3. Remove MetaDataEntry
+//!						4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0091-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-18	mdaaudiorecorderutility1	RemoveMetaDataEntry	MM-MMF-ACLNT-RCRDR-PublicAPI-0091-001-RemoveMetaDataEntry_command03
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0091
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0092
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0092
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try replacing MetaDataEntry, which don't exist.
+//!				Uses API elements: NewL(), OpenFileL(), ReplaceMetaDataEntryL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object. 2. Open file with tdesc
+//!				3. Replace MetaDataEntry. 4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0092-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-18	mdaaudiorecorderutility1	ReplaceMetaDataEntryL	MM-MMF-ACLNT-RCRDR-PublicAPI-0092-001-ReplaceMetaDataEntryL_command03
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0092
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0093
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0093
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try close audio clip when it aren't opened
+//!				Uses API elements: NewL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Close file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0093
+
+//! START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0094
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0094
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try play audio clip without opening file
+//!				Uses API elements: NewL(), PlayL().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object
+//!				2. Play 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Panic KERN-EXEC 3 is returned
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+//! 		COMMAND		mdaaudiorecorderutility1	NewL
+//! 		COMMAND		mdaaudiorecorderutility1	PlayL
+//! 		COMMAND		mdaaudiorecorderutility1	~
+//! 	END_TEST_BLOCK	!PanicString=KERN-EXEC !PanicCode=3
+//! END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0094
+
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0095
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0095
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try crop audio clip without opening file
+//!				Uses API elements: NewL(), CropL().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Crop 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	CropL
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0095
+
+//! START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0096
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0096
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try crop audio clip without opening file
+//!				Uses API elements: NewL(), CropFromBeginningL().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Crop 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Panic KERN-EXEC 3 is returned
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+//! 		COMMAND		mdaaudiorecorderutility1	NewL
+//! 		COMMAND		mdaaudiorecorderutility1	CropFromBeginningL
+//! 		COMMAND		mdaaudiorecorderutility1	~
+//! 	END_TEST_BLOCK	!PanicString=KERN-EXEC !PanicCode=3
+//! END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0096
+
+//! START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0097
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0097
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try recording audio without opening file
+//!				Uses API elements: NewL(), RecordL().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 3. Record some audio data
+//!				4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Panic KERN-EXEC 3 is returned
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+//! 		COMMAND		mdaaudiorecorderutility1	NewL
+//! 		COMMAND		mdaaudiorecorderutility1	RecordL
+//! 		COMMAND		mdaaudiorecorderutility1	~
+//! 	END_TEST_BLOCK	!PanicString=KERN-EXEC !PanicCode=3
+//! END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0097
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0098
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0098
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try adding MetaDataEntry when audio clip arent't opened
+//!				Uses API elements: NewL(), AddMetaDataEntryL().
+//! @SYMTestActions		Test adding the MetaDataEntry to the audio clip.
+//!				1. Create CMdaAudioRecorderUtility object. 2. Add MetaDataEntry
+//!				3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	AddMetaDataEntryL	MM-MMF-ACLNT-RCRDR-PublicAPI-0098-001-AddMetaDataEntryL_command02
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0098
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0099
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0099
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try getting MetaDataEntry when audio clip arent't opened
+//!				Uses API elements: NewL(), GetMetaDataEntryL().
+//! @SYMTestActions		Test adding the MetaDataEntry to the audio clip.
+//!				1. Create CMdaAudioRecorderUtility object. 2. Get MetaDataEntry. 3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	GetMetaDataEntryL
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0099
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0100
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0100
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try getting audio duration when audio clip aren't opened
+//!				Uses API elements: NewL(),  Duration().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3. Get audio clip duration
+//!				4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors, return duration is 0
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	Duration	MM-MMF-ACLNT-RCRDR-PublicAPI-0100-001-Duration_command02
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0100
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0101
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0101
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try open invalid audio clip using TDesC
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned and not opening file
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0101-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0101
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0102
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0102
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try invalid open audio clip using Rfile
+//!				Uses API elements: NewL(), OpenFileL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned and not opening file
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0102-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0102
+
+//! START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0103
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0103
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try invalid audio clip using TMMSource and try play it
+//!				Uses API elements: NewL(), OpenFileL(), PlayL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3. Play 4.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Panic 3 is returned
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+//! 		COMMAND			mdaaudiorecorderutility1	NewL
+//! 		COMMAND	!AsyncError=-5	mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0103-001-OpenFileL_command02
+//! 		OUTSTANDING
+//! 		COMMAND	!AsyncError=-5	mdaaudiorecorderutility1	PlayL
+//! 		OUTSTANDING
+//! 		COMMAND			mdaaudiorecorderutility1	~
+//! 	END_TEST_BLOCK	!PanicString=KERN-EXEC !PanicCode=3
+//! END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0103
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0104
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0104
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests opening a TMdaClipLocation package of invalid audio data
+//!				Uses API elements: NewL(), OpenL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-1	mdaaudiorecorderutility1	OpenL		MM-MMF-ACLNT-RCRDR-PublicAPI-0104-001-OpenL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0104
+
+//! START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0105
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0105
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Tests opening invalid audio clip from URL with TFourCC type
+//!				Uses API elements: NewL(), OpenUrlL(), PlayL, Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Panic 3 is returned
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+//! 		COMMAND		mdaaudiorecorderutility1	NewL
+//! 		COMMAND		mdaaudiorecorderutility1	OpenUrlL	MM-MMF-ACLNT-RCRDR-PublicAPI-0105-001-OpenUrlL_command02
+//! 		COMMAND		mdaaudiorecorderutility1	PlayL
+//! 		COMMAND		mdaaudiorecorderutility1	~
+//! 	END_TEST_BLOCK	!PanicString=KERN-EXEC !PanicCode=3
+//! END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0105
+
+//! START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0106
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0106
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Opens an invalid audio clip from URL with MIME type
+//!				Uses API elements: NewL(), OpenUrlL(), PlayL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Panic 3 is returned
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+//! 		COMMAND		mdaaudiorecorderutility1	NewL
+//! 		COMMAND		mdaaudiorecorderutility1	OpenUrlL	MM-MMF-ACLNT-RCRDR-PublicAPI-0106-001-OpenUrlL_command02
+//! 		COMMAND		mdaaudiorecorderutility1	PlayL
+//! 		COMMAND		mdaaudiorecorderutility1	~
+//! 	END_TEST_BLOCK	!PanicString=KERN-EXEC !PanicCode=3
+//! END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0106
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0107
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0107
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try open corrupt file to descriptor  using const TDesC8
+//!				Uses API elements: NewL(), OpenDesL(), PlayL().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open audio clip 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudiorecorderutility1	OpenDesL	MM-MMF-ACLNT-RCRDR-PublicAPI-0107-001-OpenDesL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0107
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0108
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0108
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try open corrupt file to descriptor  using TDesC8
+//!				Uses API elements: NewL(), OpenDesL().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open audio clip 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudiorecorderutility1	OpenDesL	MM-MMF-ACLNT-RCRDR-PublicAPI-0108-001-OpenDesL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0108
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0109
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0109
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try open corrupt file to descriptor  using TDesC8 and datatype
+//!				Uses API elements: NewL(), OpenDesL().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open audio clip 3.Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!AsyncError=-5	mdaaudiorecorderutility1	OpenDesL	MM-MMF-ACLNT-RCRDR-PublicAPI-0109-001-OpenDesL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0109
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0110
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0110
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try recording when playing audio clip
+//!				Uses API elements: NewL(), OpenFileL(), PlayL(), RecordL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file with tdesc 3. Play
+//!				4. Record 5. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0110-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	SetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0110-001-SetGain_command03
+		COMMAND			mdaaudiorecorderutility1	PlayL
+		ASYNC_DELAY		50000
+		COMMAND	!AsyncError=-18	mdaaudiorecorderutility1	RecordL
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0110
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0111
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0111
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try playing when recoding
+//!				Uses API elements: NewL(), OpenFileL(), RecordL(), PlayL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file with tdesc 3. Record
+//!				4. Play 5. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotReady is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0111-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	SetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0111-001-SetGain_command03
+		COMMAND			mdaaudiorecorderutility1	RecordL
+		ASYNC_DELAY		500000
+		COMMAND	!AsyncError=-18	mdaaudiorecorderutility1	PlayL
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	Stop
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0111
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0112
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0112
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try cropping when playing audio clip
+//!				Uses API elements: NewL(), OpenFileL(), PlayL(), CropL(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file with tdesc3. Play
+//!				4. Crop 5. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrAccessDenied is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0112-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	PlayL
+		ASYNC_DELAY		500000
+		COMMAND	!Error=-21	mdaaudiorecorderutility1	CropL
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0112
+
+//! START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0113
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0113
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try cropping when playing audio clip
+//!				Uses API elements: NewL(), OpenFileL(), PlayL(), CropFromBeginningL().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2.Open file with tdesc 3. Play
+//!				4. Crop 5. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Panic KERN-EXEC 3 is returned
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+//! 		COMMAND		mdaaudiorecorderutility1	NewL
+//! 		COMMAND		mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0113-001-OpenFileL_command02
+//! 		OUTSTANDING
+//! 		COMMAND		mdaaudiorecorderutility1	PlayL
+//! 		ASYNC_DELAY	500000
+//! 		COMMAND		mdaaudiorecorderutility1	CropFromBeginningL
+//! 		COMMAND		mdaaudiorecorderutility1	Close
+//! 		COMMAND		mdaaudiorecorderutility1	~
+//! 	END_TEST_BLOCK	!PanicString=KERN-EXEC !PanicCode=3
+//! END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0113
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0114
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0114
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting negative max write length
+//!				Uses API elements: NewL(), SetMaxWriteLength() .
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Open file with tdesc 3. Set -1 length 4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNone
+//! @SYMTestType		CIT
+	START_TEST_BLOCK 20	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+	CREATE_OBJECT		CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0114-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetMaxWriteLength	MM-MMF-ACLNT-RCRDR-PublicAPI-0114-001-SetMaxWriteLength_command03
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0114
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0115
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0115
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try recording more than max write length
+//!				Uses API elements: NewL(), OpenFileL(), RecordL(), SetMaxWriteLength(), Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Open file 3. Start timer
+//!				4. Set max write length 5. Record 6. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrEof is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0115-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	SetGain			MM-MMF-ACLNT-RCRDR-PublicAPI-0115-001-SetGain_command03
+		COMMAND			mdaaudiorecorderutility1	SetMaxWriteLength	MM-MMF-ACLNT-RCRDR-PublicAPI-0115-001-SetMaxWriteLength_command04
+		COMMAND	!AsyncError=-25	mdaaudiorecorderutility1	RecordL
+		ASYNC_DELAY		900000
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0115
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0116
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0116
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad audio device mode
+//!				Uses API elements: NewL(), SetAudioDeviceMode() .
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Set bad audo device mode. 3. Destroy object.
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No Errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	SetAudioDeviceMode	MM-MMF-ACLNT-RCRDR-PublicAPI-0116-001-SetAudioDeviceMode_command02
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0116
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0117
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0117
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try get bit rate when no audio clip are open.
+//!				Uses API elements: NewL(), SourceBitRateL() .
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Get bit rate 3. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	SourceBitRateL
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0117
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0118
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0118
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting position longer than duration.
+//!				Uses API elements: NewL(), OpenFileL(), SetPosition(), Position().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Open audio clip with tmmsource 3. Start timer
+//!				4. Set position. 5. Get position 6. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0118-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetPosition	MM-MMF-ACLNT-RCRDR-PublicAPI-0118-001-SetPosition_command03
+		COMMAND		mdaaudiorecorderutility1	Position
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0118
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0119
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0119
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting position before opening audio clip.
+//!				Uses API elements: NewL(), SetPosition().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Set position. 3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Position set before opening file
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	SetPosition	MM-MMF-ACLNT-RCRDR-PublicAPI-0119-001-SetPosition_command02
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0119
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0120
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0120
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		15/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting negative number of times the audio sample is to be repeated
+//!				Uses API elements: NewL(), SetRepeats().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Set repeats 3. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No Error returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	SetRepeats	MM-MMF-ACLNT-RCRDR-PublicAPI-0120-001-SetRepeats_command02
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0120
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0121
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0121
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		15/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try removing the MetaDataEntry, when open audio clip aren't opened.
+//!				Uses API elements: NewL(), RemoveMetaDataEntry().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object. 2. Remove MetaDataEntry 3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	RemoveMetaDataEntry	MM-MMF-ACLNT-RCRDR-PublicAPI-0121-001-RemoveMetaDataEntry_command02
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0121
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0122
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0122
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		15/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting get Duration with state when audio clip arent opened.
+//!				Uses API elements: NewL(), Duration(), OpenFileL(), , Close().
+//! @SYMTestActions		1. Create CMdaAudioRecorderUtility object 2. Open audio clip with rfile 3. Set format 4. Destroy object
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Returning duration is 0
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	Duration	MM-MMF-ACLNT-RCRDR-PublicAPI-0122-001-Duration_command02
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0122
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0123
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0123
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		16/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try getting MetaDataEntry with bad index
+//!				Uses API elements: NewL(), OpenFileL(), AddMetaDataEntryL(), GetMetaDataEntryL(), Close().
+//! @SYMTestActions		Test adding the MetaDataEntry to the audio clip.
+//!				1. Create CMdaAudioRecorderUtility object. 2. Open file with rfile 3. Add MetaDataEntry
+//!				4. Get MetaDataEntry with bad index. 5. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0123-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	AddMetaDataEntryL	MM-MMF-ACLNT-RCRDR-PublicAPI-0123-001-AddMetaDataEntryL_command04
+		COMMAND	!Error=-5	mdaaudiorecorderutility1	GetMetaDataEntryL	MM-MMF-ACLNT-RCRDR-PublicAPI-0123-001-GetMetaDataEntryL_command05
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0123
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0124
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0124
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		16/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad Playback balance level
+//!				Uses API elements: NewL(), OpenFileL, SetPlaybackBalance(), Close().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Open file with rfile 3. Set bad Playback balance. 4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0124-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetPlaybackBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0124-001-SetPlaybackBalance_command03
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0124
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0125
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0125
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		16/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting bad Record balance level
+//!				Uses API elements: NewL(), SetRecordBalance(), OpenFileL(), Close().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2. Open file with rfile 3. Set bad Record balance. 4. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KErrArgument is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND			mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0125-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-6	mdaaudiorecorderutility1	SetRecordBalance	MM-MMF-ACLNT-RCRDR-PublicAPI-0125-001-SetRecordBalance_command03
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0125
+
+//! START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0126
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0126
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		18/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting invalid priority of the playback controller's sub thread
+//!				Uses API elements: NewL(), OpenFileL(), SetThreadPriorityPlayback(), Close().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2.Open file
+//!				3. Set invalid ThreadPriorityPlayback. 4. Destroy object.
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KERN-EXEC Panic is returnned
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+//! 		COMMAND		mdaaudiorecorderutility1	NewL
+//! 		COMMAND		mdaaudiorecorderutility1	OpenFileL			MM-MMF-ACLNT-RCRDR-PublicAPI-0126-001-OpenFileL_command02
+//! 		OUTSTANDING
+//! 		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityPlayback	MM-MMF-ACLNT-RCRDR-PublicAPI-0126-001-SetThreadPriorityPlayback_command03
+//! 		COMMAND		mdaaudiorecorderutility1	Close
+//! 		COMMAND		mdaaudiorecorderutility1	~
+//! 	END_TEST_BLOCK	!PanicString=KERN-EXEC !PanicCode=14
+//! END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0126
+
+//! START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0127
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0127
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		18/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Try setting invalid priority of the record controller's sub thread
+//!				Uses API elements: NewL(), OpenFileL(), SetThreadPriorityRecord(), Close().
+//! @SYMTestActions    		1. Create CMdaAudioRecorderUtility object. 2.Open file
+//!				3-13. Set different ThreadPriorityRecord levels. 14. Destroy object.
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	KERN-EXEC Panic is returnned
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	10	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+//! 		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+//! 		COMMAND		mdaaudiorecorderutility1	NewL
+//! 		COMMAND		mdaaudiorecorderutility1	OpenFileL		MM-MMF-ACLNT-RCRDR-PublicAPI-0127-001-OpenFileL_command02
+//! 		OUTSTANDING
+//! 		COMMAND		mdaaudiorecorderutility1	SetThreadPriorityRecord	MM-MMF-ACLNT-RCRDR-PublicAPI-0127-001-SetThreadPriorityRecord_command03
+//! 		COMMAND		mdaaudiorecorderutility1	Close
+//! 		COMMAND		mdaaudiorecorderutility1	~
+//! 	END_TEST_BLOCK	!PanicString=KERN-EXEC !PanicCode=14
+//! END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0127
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0128
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0128
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		29/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Clear the playback window without setting it first
+//!				Uses API elements: NewL(), OpenFileL(), ClearPlayWindow(), Close().
+//! @SYMTestActions		1. Create object 2. Clear the playback window
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	No errors are returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND			mdaaudiorecorderutility1	NewL
+		COMMAND	        mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0128-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			mdaaudiorecorderutility1	ClearPlayWindow
+		COMMAND			mdaaudiorecorderutility1	Close
+		COMMAND			mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0128
+
+START_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0129
+//! @SYMTestCaseID		MM-MMF-ACLNT-RCRDR-PublicAPI-0129
+//! @SYMAPI              	CMdaAudioRecorderUtility
+//! @SYMAuthor			Ants Madisson
+//! @SYMCreationDate		29/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Open objects in the shared heap.
+//!				Uses API elements: NewL(), OpenFileL(), RecordL(), Stop(), Close(), UseSharedHeap().
+//! @SYMTestActions    		1. Create object. 2. Set the share heap 3. Open file 4. Record 5. Stop 6. Close
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults  	Shared heap works ok
+//! @SYMTestType			CIT
+	START_TEST_BLOCK	100	T_MdaAudioRecorderUtility	\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioRecorderUtility	mdaaudiorecorderutility1
+		COMMAND		mdaaudiorecorderutility1	NewL
+		COMMAND		mdaaudiorecorderutility1	UseSharedHeap
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0129-001-OpenFileL_command03
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0129-001-SetGain_command04
+		COMMAND		mdaaudiorecorderutility1	RecordL
+		ASYNC_DELAY	50000
+		COMMAND		mdaaudiorecorderutility1	Stop
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0129-001-OpenFileL_command09
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0129-001-SetGain_command10
+		COMMAND		mdaaudiorecorderutility1	RecordL
+		ASYNC_DELAY	50000
+		COMMAND		mdaaudiorecorderutility1	Stop
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	OpenFileL	MM-MMF-ACLNT-RCRDR-PublicAPI-0129-001-OpenFileL_command15
+		OUTSTANDING
+		COMMAND		mdaaudiorecorderutility1	SetGain		MM-MMF-ACLNT-RCRDR-PublicAPI-0129-001-SetGain_command16
+		COMMAND		mdaaudiorecorderutility1	RecordL
+		ASYNC_DELAY	50000
+		COMMAND		mdaaudiorecorderutility1	Stop
+		COMMAND		mdaaudiorecorderutility1	Close
+		COMMAND		mdaaudiorecorderutility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-ACLNT-RCRDR-PublicAPI-0129
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/scripts/setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,34 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\
+RUN_UTILS MkDir 	${SYSDRIVE}\multimedia\t_mdaaudiorecorderutility\
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.script		${SYSDRIVE}\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.script
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.script
+
+RUN_UTILS CopyFile	z:\multimedia\t_multimedia.tcs			${SYSDRIVE}\multimedia\t_multimedia.tcs
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia.tcs
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini			${SYSDRIVE}\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini
+
+RUN_UTILS CopyFile	z:\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav	${SYSDRIVE}\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+RUN_UTILS CopyFile	z:\multimedia\T_MdaAudioRecorderUtility\corrupted.wav		${SYSDRIVE}\multimedia\T_MdaAudioRecorderUtility\corrupted.wav
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\T_MdaAudioRecorderUtility\corrupted.wav
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/src/T_MMDataMdaAudioRecorderUtility.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,2903 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataMdaAudioRecorderUtility.h"
+#include "T_MMUtil.h"
+#include <mm/mmcaf.h>
+
+
+/*@{*/
+_LIT(KBalance,					"balance");
+_LIT(KBitRate,					"bitrate");
+_LIT(KDestinationBitRate,		"destinationbitrate");
+_LIT(KGain,						"gain");
+_LIT(KVolume,					"volume");
+_LIT(KRFile,					"rfile");
+_LIT(KTDesC,					"tdesc");
+_LIT(KTMMSource,			    "tmmsource");
+_LIT(KTDeviceMode,				"tdevicemode");
+_LIT(KInvalidTDeviceMode,		"invalidtdevicemode");
+_LIT(KSeconds,					"seconds");
+_LIT(KStartSeconds,				"startseconds");
+_LIT(KNumberOfTimes,			"numberoftimes");
+_LIT(KEndSeconds,				"endseconds");
+_LIT(KFormat,					"format");
+_LIT(KChannels,					"channels");
+_LIT(KSampleRate,				"samplerate");
+_LIT(KFileName,					"filename");
+_LIT(KFunction,					"function");
+_LIT(KUseDataFrom,				"useDataFrom");
+_LIT(KMetaDataEntryName,		"metadataentryname");
+_LIT(KMetaDataEntryValue,		"metadataentryvalue");
+_LIT(KMetaDataEntryID,			"metadataentryid");
+_LIT(KMetaDataEntryIndex,		"metadataentryindex");
+_LIT(KUseState,					"usestate");
+_LIT(KCodec, 					"codec");
+_LIT(KAudioSettings, 			"audiosettings");
+_LIT(KInvalidAudioSettings,		"invalidaudiosettings");
+_LIT(KMimeType,					"mimetype");
+_LIT(KWriteLength,				"writelength");
+_LIT(KControllerUid,			"controlleruid");
+_LIT(KState,					"state");
+_LIT(KDataTo1,					"datato1");
+_LIT(KDataTo2,					"datato2");
+_LIT(KExcpectedNumber,			"expectednumber");
+_LIT(KNew,						"new");
+_LIT(KEventUID, 				"eventuid");
+_LIT(KDuration, 				"duration");
+_LIT(KLoadingProgress, 			"loadingprogress");
+_LIT(KExpectNull, 				"expectnull");
+_LIT(KNoOfMetaDataEntries, 		"noofmetadataentries");
+_LIT(KAccessPointID, 			"accesspointid");
+_LIT(KPosition,		 			"position");
+_LIT(KRecTime,		 			"rectime");
+_LIT(KDataNotification,			"datanotification");
+_LIT(KBufferSize,				"buffersize");
+_LIT(KConst,					"const");
+_LIT(KUniqueId,					"uniqueid");
+_LIT(KEnableUI,					"enableui");
+_LIT(KDurationState, 			"durationstate");
+_LIT(KAudioFormat,				"audioformat");
+
+
+_LIT(KCmdDestructor,											"~");
+_LIT(KCmdAddMetaDataEntryL,										"AddMetaDataEntryL");
+_LIT(KCmdAudioPlayControllerImplementationInformationL,			"AudioPlayControllerImplementationInformationL");
+_LIT(KCmdAudioRecorderControllerImplementationInformationL,		"AudioRecorderControllerImplementationInformationL");
+_LIT(KCmdCancelRegisterAudioResourceNotification,				"CancelRegisterAudioResourceNotification");
+_LIT(KCmdClearPlayWindow,										"ClearPlayWindow");
+_LIT(KCmdClose,													"Close");
+_LIT(KCmdCropFromBeginningL,									"CropFromBeginningL");
+_LIT(KCmdCropL,													"CropL");
+_LIT(KCmdDestinationBitRateL,									"DestinationBitRateL");
+_LIT(KCmdDestinationDataTypeL,									"DestinationDataTypeL");
+_LIT(KCmdDestinationFormatL,									"DestinationFormatL");
+_LIT(KCmdDestinationNumberOfChannelsL,							"DestinationNumberOfChannelsL");
+_LIT(KCmdDestinationSampleRateL,								"DestinationSampleRateL");
+_LIT(KCmdDuration,												"Duration");
+_LIT(KCmdGetAudioLoadingProgressL,								"GetAudioLoadingProgressL");
+_LIT(KCmdGetDRMCustomCommand,									"GetDRMCustomCommand");
+_LIT(KCmdGetGain,												"GetGain");
+_LIT(KCmdGetMetaDataEntryL,										"GetMetaDataEntryL");
+_LIT(KCmdGetNumberOfMetaDataEntries,							"GetNumberOfMetaDataEntries");
+_LIT(KCmdGetPlaybackBalance,									"GetPlaybackBalance");
+_LIT(KCmdGetRecordBalance,										"GetRecordBalance");
+_LIT(KCmdGetSupportedBitRatesL,									"GetSupportedBitRatesL");
+_LIT(KCmdGetSupportedDestinationDataTypesL,						"GetSupportedDestinationDataTypesL");
+_LIT(KCmdGetSupportedNumberOfChannelsL,							"GetSupportedNumberOfChannelsL");
+_LIT(KCmdGetSupportedSampleRatesL,								"GetSupportedSampleRatesL");
+_LIT(KCmdGetVolume,												"GetVolume");
+_LIT(KCmdMaxGain,												"MaxGain");
+_LIT(KCmdMaxVolume,												"MaxVolume");
+_LIT(KCmdNewL,													"NewL");
+_LIT(KCmdOpenDesL,												"OpenDesL");
+_LIT(KCmdOpenFileL,												"OpenFileL");
+_LIT(KCmdOpenL,													"OpenL");
+_LIT(KCmdOpenUrlL,												"OpenUrlL");
+_LIT(KCmdPlayControllerCustomCommandAsync,						"PlayControllerCustomCommandAsync");
+_LIT(KCmdPlayControllerCustomCommandSync,						"PlayControllerCustomCommandSync");
+_LIT(KCmdPlayL,													"PlayL");
+_LIT(KCmdPosition,												"Position");
+_LIT(KCmdRecordControllerCustomCommandAsync,					"RecordControllerCustomCommandAsync");
+_LIT(KCmdRecordControllerCustomCommandSync,						"RecordControllerCustomCommandSync");
+_LIT(KCmdRecordL,												"RecordL");
+_LIT(KCmdRecordTimeAvailable,									"RecordTimeAvailable");
+_LIT(KCmdRegisterAudioResourceNotification,						"RegisterAudioResourceNotification");
+_LIT(KCmdRegisterForAudioLoadingNotification,					"RegisterForAudioLoadingNotification");
+_LIT(KCmdRemoveMetaDataEntry,									"RemoveMetaDataEntry");
+_LIT(KCmdReplaceMetaDataEntryL,									"ReplaceMetaDataEntryL");
+_LIT(KCmdSetAudioDeviceMode,									"SetAudioDeviceMode");
+_LIT(KCmdSetDestinationBitRateL,								"SetDestinationBitRateL");
+_LIT(KCmdSetDestinationDataTypeL,								"SetDestinationDataTypeL");
+_LIT(KCmdSetDestinationFormatL,									"SetDestinationFormatL");
+_LIT(KCmdSetDestinationNumberOfChannelsL,						"SetDestinationNumberOfChannelsL");
+_LIT(KCmdSetDestinationSampleRateL,								"SetDestinationSampleRateL");
+_LIT(KCmdSetGain,												"SetGain");
+_LIT(KCmdSetMaxWriteLength,										"SetMaxWriteLength");
+_LIT(KCmdSetPlayWindow,											"SetPlayWindow");
+_LIT(KCmdSetPlaybackBalance,									"SetPlaybackBalance");
+_LIT(KCmdSetPosition,											"SetPosition");
+_LIT(KCmdSetPriority,											"SetPriority");
+_LIT(KCmdSetRecordBalance,										"SetRecordBalance");
+_LIT(KCmdSetRepeats,											"SetRepeats");
+_LIT(KCmdSetThreadPriorityPlayback,								"SetThreadPriorityPlayback");
+_LIT(KCmdSetThreadPriorityRecord,								"SetThreadPriorityRecord");
+_LIT(KCmdSetVolume,												"SetVolume");
+_LIT(KCmdSetVolumeRamp,											"SetVolumeRamp");
+_LIT(KCmdSourceBitRateL,										"SourceBitRateL");
+_LIT(KCmdState,													"State");
+_LIT(KCmdStop,													"Stop");
+_LIT(KCmdWillResumePlay,										"WillResumePlay");
+_LIT(KCmdUseSharedHeap,											"UseSharedHeap");
+
+//TDeviceMode
+_LIT(KDefault,						"Default");
+_LIT(KTelephonyOrLocal,				"TelephonyOrLocal");
+_LIT(KTelephonyMixed,				"TelephonyMixed");
+_LIT(KTelephonyNonMixed,			"TelephonyNonMixed");
+_LIT(KLocal,						"Local");
+
+
+_LIT(KENotReady,					"ENotReady");
+_LIT(KEOpen,						"EOpen");
+_LIT(KEPlaying,						"EPlaying");
+_LIT(KERecording,					"ERecording");
+_LIT(KEUnknown,						"EUnknown");
+
+_LIT(KWavClipFormat,				"WavClipFormat");
+_LIT(KAuClipFormat,					"AuClipFormat");
+_LIT(KRawAudioClipFormat,			"RawAudioClipFormat");
+_LIT(KInvalidClipFormat,			"InvalidClipFormat");
+
+_LIT(KPcmWavCodec,					"PcmWavCodec");
+_LIT(KAlawWavCodec,					"AlawWavCodec");
+_LIT(KMulawWavCodec,				"MulawWavCodec");
+_LIT(KImaAdpcmWavCodec,				"ImaAdpcmWavCodec");
+_LIT(KAuCodec,						"AuCodec");
+_LIT(KPcm8BitAuCodec,				"Pcm8BitAuCodec");
+_LIT(KPcm16BitAuCodec,				"Pcm16BitAuCodec");
+_LIT(KAlawAuCodec,					"AlawAuCodec");
+_LIT(KMulawAuCodec,					"MulawAuCodec");
+_LIT(KRawAudioCodec,				"RawAudioCodec");
+_LIT(KMulawRawAudioCodec,			"MulawRawAudioCodec");
+_LIT(KAlawRawAudioCodec,			"AlawRawAudioCodec");
+_LIT(KS8PcmRawAudioCodec,			"S8PcmRawAudioCodec");
+_LIT(KU8PcmRawAudioCodec,			"U8PcmRawAudioCodec");
+_LIT(KSL16RawAudioCodec,			"SL16RawAudioCodec");
+_LIT(KSB16RawAudioCodec,			"SB16RawAudioCodec");
+_LIT(KUL16RawAudioCodec,			"UL16RawAudioCodec");
+_LIT(KUB16RawAudioCodec,			"UB16RawAudioCodec");
+_LIT(KInvalidCodec,					"InvalidCodec");
+
+_LIT(KEMMFDurationInfoValid, 		"Valid");
+_LIT(KEMMFDurationInfoInfinite, 	"Infinite");
+_LIT(KEMMFDurationInfoUnknown, 		"Unknown");
+/*@}*/
+
+
+/**
+CT_MMDataMdaAudioRecorderUtility constructor.
+@internalComponent
+@return N/A
+@pre None
+@post CT_MMDataMdaAudioRecorderUtility 1st stage constructor
+*/
+CT_MMDataMdaAudioRecorderUtility* CT_MMDataMdaAudioRecorderUtility::NewL()
+	{
+	CT_MMDataMdaAudioRecorderUtility*	ret=new (ELeave) CT_MMDataMdaAudioRecorderUtility();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+CT_MMDataMdaAudioRecorderUtility::CT_MMDataMdaAudioRecorderUtility()
+:	iRecorderUtility(NULL)
+,	iActiveCustomCommandAsync(NULL)
+,	iAsyncErrorIndex(KErrNone)
+,	iFileOpened(EFalse)
+,	iBuffer(NULL)
+,	iBufferPtr(NULL)
+,	iBufferSize(KMdaAudioRecorderBufferSize)
+,	iCustomCommandData(EFalse)
+,	iRecording(EFalse)
+	{
+	}
+
+/**
+CT_MMDataMdaAudioRecorderUtility destructor
+@internalComponent
+@return N/A
+@pre None
+@post releases CT_MMDataMdaAudioRecorderUtility heap memory
+*/
+CT_MMDataMdaAudioRecorderUtility::~CT_MMDataMdaAudioRecorderUtility()
+	{
+	DestroyData();
+
+	if ( iFileOpened )
+		{
+		iFile.Close();
+		iFileOpened=EFalse;
+		}
+
+	delete iActiveCustomCommandAsync;
+	iActiveCustomCommandAsync = NULL;
+
+	iFs.Close();
+	}
+
+TAny* CT_MMDataMdaAudioRecorderUtility::GetObject()
+	{
+	return iRecorderUtility;
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::SetObjectL(TAny* aObject)
+	{
+	DestroyData();
+	iRecorderUtility	= static_cast<CMdaAudioRecorderUtility*> (aObject);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DisownObjectL()
+	{
+	iRecorderUtility = NULL;
+	}
+
+/**
+Releases CT_MMDataMdaAudioRecorderUtility dynamic memory.
+@internalComponent
+@return void
+@pre None
+@post All dynamic memory deallocated
+*/
+void CT_MMDataMdaAudioRecorderUtility::DestroyData()
+	{
+	delete iRecorderUtility;
+	iRecorderUtility = NULL;
+
+	delete iBuffer;
+	iBuffer	= NULL;
+
+	delete iBufferPtr;
+	iBufferPtr	= NULL;
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::ConstructL()
+/**
+ * Second phase construction
+ *
+ * @internalComponent
+ *
+ * @return	N/A
+ *
+ * @pre		None
+ * @post	None
+ *
+ * @leave	system wide error
+ */
+	{
+	User::LeaveIfError(iFs.Connect());
+	iActiveCustomCommandAsync = CActiveCallback::NewL(*this);
+	}
+
+TBool CT_MMDataMdaAudioRecorderUtility::DoCommandL(	const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex )
+/**
+ * Process a command read from the ini file
+ *
+ * @param aCommand			The command to process
+ * @param aSection			The section in the ini containing data for the command
+ * @param aAsyncErrorIndex	Command index for async calls to return errors to
+ *
+ * @return					ETrue if the command is processed
+ *
+ * @leave					System wide error
+ */
+	{
+	TBool ret=ETrue;
+
+	if ( aCommand==KCmdDestructor )
+		{
+		DoCmdDestructor();
+		}
+	else if ( aCommand==KCmdAddMetaDataEntryL )
+		{
+		DoCmdAddMetaDataEntryL(aSection);
+		}
+	else if ( aCommand==KCmdReplaceMetaDataEntryL )
+		{
+		DoCmdReplaceMetaDataEntryL(aSection );
+		}
+	else if ( aCommand==KCmdRemoveMetaDataEntry )
+		{
+		DoCmdRemoveMetaDataEntry(aSection);
+		}
+	else if ( aCommand==KCmdGetNumberOfMetaDataEntries )
+		{
+		DoCmdGetNumberOfMetaDataEntries(aSection);
+		}
+	else if ( aCommand==KCmdGetMetaDataEntryL )
+		{
+		DoCmdGetMetaDataEntryL(aSection);
+		}
+	else if ( aCommand==KCmdAudioPlayControllerImplementationInformationL )
+		{
+		DoCmdAudioPlayControllerImplementationInformationL();
+		}
+	else if ( aCommand==KCmdAudioRecorderControllerImplementationInformationL )
+		{
+		DoCmdAudioRecorderControllerImplementationInformationL();
+		}
+	else if ( aCommand==KCmdCancelRegisterAudioResourceNotification )
+		{
+		DoCmdCancelRegisterAudioResourceNotification(aSection);
+		}
+	else if ( aCommand==KCmdDuration )
+		{
+		DoCmdDuration(aSection);
+		}
+	else if ( aCommand==KCmdRegisterAudioResourceNotification )
+		{
+		DoCmdRegisterAudioResourceNotificationL(aSection);
+		}
+	else if ( aCommand==KCmdRegisterForAudioLoadingNotification )
+		{
+		DoCmdRegisterForAudioLoadingNotification();
+		}
+	else if ( aCommand==KCmdGetAudioLoadingProgressL )
+		{
+		DoCmdGetAudioLoadingProgressL(aSection);
+		}
+	else if ( aCommand==KCmdGetDRMCustomCommand )
+		{
+		DoCmdGetDRMCustomCommand(aSection);
+		}
+	else if ( aCommand==KCmdSetPlayWindow )
+		{
+		DoCmdSetPlayWindow(aSection);
+		}
+	else if ( aCommand==KCmdClearPlayWindow )
+		{
+		DoCmdClearPlayWindow();
+		}
+	else if ( aCommand==KCmdGetSupportedBitRatesL )
+		{
+		DoCmdGetSupportedBitRatesL(aSection);
+		}
+	else if ( aCommand==KCmdGetSupportedSampleRatesL )
+		{
+		DoCmdGetSupportedSampleRatesL(aSection);
+		}
+	else if ( aCommand==KCmdGetSupportedNumberOfChannelsL )
+		{
+		DoCmdGetSupportedNumberOfChannelsL(aSection);
+		}
+	else if ( aCommand==KCmdGetSupportedDestinationDataTypesL )
+		{
+		DoCmdGetSupportedDestinationDataTypesL(aSection);
+		}
+	else if ( aCommand==KCmdGetPlaybackBalance )
+		{
+		DoCmdGetPlaybackBalance(aSection);
+		}
+	else if ( aCommand==KCmdSetPlaybackBalance )
+		{
+		DoCmdSetPlaybackBalance(aSection);
+		}
+	else if ( aCommand==KCmdGetRecordBalance )
+		{
+		DoCmdGetRecordBalance(aSection);
+		}
+	else if ( aCommand==KCmdSetRecordBalance )
+		{
+		DoCmdSetRecordBalance(aSection);
+		}
+	else if ( aCommand==KCmdDestinationDataTypeL )
+		{
+		DoCmdDestinationDataTypeL(aSection);
+		}
+	else if ( aCommand==KCmdSetDestinationDataTypeL )
+		{
+		DoCmdSetDestinationDataTypeL(aSection);
+		}
+	else if ( aCommand==KCmdSetDestinationBitRateL )
+		{
+		DoCmdSetDestinationBitRateL(aSection);
+		}
+	else if ( aCommand==KCmdSetDestinationFormatL )
+		{
+		DoCmdSetDestinationFormatL(aSection);
+		}
+	else if ( aCommand==KCmdSetDestinationNumberOfChannelsL )
+		{
+		DoCmdSetDestinationNumberOfChannelsL(aSection);
+		}
+	else if ( aCommand==KCmdSetDestinationSampleRateL )
+		{
+		DoCmdSetDestinationSampleRateL(aSection);
+		}
+	else if ( aCommand==KCmdDestinationBitRateL )
+		{
+		DoCmdDestinationBitRateL(aSection);
+		}
+	else if ( aCommand==KCmdDestinationFormatL )
+		{
+		DoCmdDestinationFormatL(aSection);
+		}
+	else if ( aCommand==KCmdDestinationNumberOfChannelsL )
+		{
+		DoCmdDestinationNumberOfChannelsL(aSection);
+		}
+	else if ( aCommand==KCmdDestinationSampleRateL )
+		{
+		DoCmdDestinationSampleRateL(aSection);
+		}
+	else if ( aCommand==KCmdGetVolume )
+		{
+		DoCmdGetVolume(aSection);
+		}
+	else if ( aCommand==KCmdGetGain )
+		{
+		DoCmdGetGain(aSection);
+		}
+	else if ( aCommand==KCmdSetGain )
+		{
+		DoCmdSetGain(aSection);
+		}
+	else if ( aCommand==KCmdMaxGain )
+		{
+		DoCmdMaxGain(aSection);
+		}
+	else if ( aCommand==KCmdMaxVolume )
+		{
+		DoCmdMaxVolume(aSection);
+		}
+	else if ( aCommand==KCmdNewL )
+		{
+		DoCmdNewL(aSection);
+		}
+	else if ( aCommand==KCmdOpenDesL )
+		{
+		DoCmdOpenDesL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdOpenFileL )
+		{
+		DoCmdOpenFileL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdOpenL )
+		{
+		DoCmdOpenL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdOpenUrlL )
+		{
+		DoCmdOpenUrlL(aSection);
+		}
+	else if ( aCommand==KCmdPosition )
+		{
+		DoCmdPosition(aSection);
+		}
+	else if ( aCommand==KCmdSetPosition )
+		{
+		DoCmdSetPosition(aSection);
+		}
+	else if ( aCommand==KCmdSourceBitRateL )
+		{
+		DoCmdSourceBitRateL(aSection);
+		}
+	else if ( aCommand==KCmdSetAudioDeviceMode )
+		{
+		DoCmdSetAudioDeviceMode(aSection);
+		}
+	else if ( aCommand==KCmdRecordTimeAvailable )
+		{
+		DoCmdRecordTimeAvailable(aSection);
+		}
+	else if ( aCommand==KCmdSetPriority )
+		{
+		DoCmdSetPriority(aSection);
+		}
+	else if ( aCommand==KCmdSetVolume )
+		{
+		DoCmdSetVolume(aSection);
+		}
+	else if ( aCommand==KCmdClose )
+		{
+		DoCmdClose();
+		}
+	else if ( aCommand==KCmdCropL )
+		{
+		DoCmdCropL();
+		}
+	else if ( aCommand==KCmdCropFromBeginningL )
+		{
+		DoCmdCropFromBeginningL();
+		}
+	else if ( aCommand==KCmdPlayL )
+		{
+		DoCmdPlayL(aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdRecordL )
+		{
+		DoCmdRecordL(aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdSetMaxWriteLength )
+		{
+		DoCmdSetMaxWriteLength(aSection);
+		}
+	else if ( aCommand==KCmdSetRepeats )
+		{
+		DoCmdSetRepeats(aSection);
+		}
+	else if ( aCommand==KCmdSetThreadPriorityPlayback )
+		{
+		DoCmdSetThreadPriorityPlayback(aSection);
+		}
+	else if ( aCommand==KCmdSetThreadPriorityRecord )
+		{
+		DoCmdSetThreadPriorityRecord(aSection);
+		}
+	else if ( aCommand==KCmdState )
+		{
+		DoCmdState(aSection);
+		}
+	else if ( aCommand==KCmdSetVolumeRamp )
+		{
+		DoCmdSetVolumeRamp(aSection);
+		}
+	else if ( aCommand==KCmdStop )
+		{
+		DoCmdStop();
+		}
+	else if ( aCommand==KCmdWillResumePlay )
+		{
+		DoCmdWillResumePlay();
+		}
+	else if ( aCommand==KCmdState )
+		{
+		DoCmdState(aSection);
+		}
+	else if (aCommand == KCmdUseSharedHeap )
+		{
+		DoCmdUseSharedHeap();
+		}
+	else if ( aCommand==KCmdPlayControllerCustomCommandSync )
+		{
+		DoCmdPlayControllerCustomCommandSyncL(aSection);
+		}
+	else if ( aCommand==KCmdPlayControllerCustomCommandAsync )
+		{
+		DoCmdPlayControllerCustomCommandAsyncL(aSection,aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdRecordControllerCustomCommandSync )
+		{
+		DoCmdRecordControllerCustomCommandSyncL(aSection);
+		}
+	else if ( aCommand==KCmdRecordControllerCustomCommandAsync )
+		{
+		DoCmdRecordControllerCustomCommandAsyncL(aSection, aAsyncErrorIndex);
+		}
+	else
+		{
+		ret=EFalse;
+	}
+
+	return ret;
+	}
+
+///////////////////////////////////////////////////////////////////
+//from the MMdaObjectStateChangeObserver interface 				//
+///////////////////////////////////////////////////////////////////
+
+/**
+Callback to receive state change events from recorder.
+@internalComponent
+@return void
+@param aObject, aPreviousState, aCurrentState, aErrorCode
+This can be completion of a call to CMdaAudioRecorderUtility:OpenL(),
+CMdaAudioRecorderUtility::OpenFileL(), CMdaAudioRecorderUtility::OpenUrlL(),
+CMdaAudioRecorderUtility::OpenDesL(),CMdaAudioRecorderUtility::PlayL(),
+CMdaAudioRecorderUtility::RecordL().
+The event contains a aObject identifying the event and an accompanying error code.
+@pre N/A
+@post N/A
+*/
+void CT_MMDataMdaAudioRecorderUtility::MoscoStateChangeEvent(CBase* aObject, TInt aPreviousState, TInt aCurrentState, TInt aErrorCode)
+	{
+	if (aObject == iRecorderUtility)
+		{
+		TBool continueWaiting = EFalse;
+
+		INFO_PRINTF3(_L("Current state: %S, previous state: %S"), &GetState(aCurrentState), &GetState(aPreviousState));
+		if (aErrorCode!=KErrNone)
+			{
+			ERR_PRINTF2(_L("MoscoStateChangeEvent Error %d"), aErrorCode);
+			SetAsyncError(iAsyncErrorIndex, aErrorCode);
+			DecOutstanding();
+			}
+		// If current state is ERecording or EPlaying, we expect a second callback when finished
+		else if ( (aCurrentState == CMdaAudioClipUtility::ERecording) ||
+				  (aCurrentState == CMdaAudioClipUtility::EPlaying) )
+			{
+			continueWaiting = ETrue;
+			}
+
+		if (!continueWaiting)
+			{
+			DecOutstanding();
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("MoscoStateChangeEvent: object aren't CMdaAudioRecorderUtility"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::MarncResourceAvailable(TUid aNotificationEventId, const TDesC8& aNotificationData)
+	{
+	if ( aNotificationEventId==KMMFEventCategoryAudioResourceAvailable )
+		{
+		//	Convert TDesc8 to TInt64
+		TMMFTimeIntervalMicroSecondsPckg	timeIntvbuf;
+		timeIntvbuf.Copy(aNotificationData);
+		TTimeIntervalMicroSeconds	intPos = timeIntvbuf();
+		INFO_PRINTF2(_L("Interval %d"), intPos.Int64());
+		}
+	else
+		{
+		INFO_PRINTF1(_L("MMMFAudioResourceNotificationCallback, but NOT KMMFEventCategoryAudioResourceAvailable"));
+		}
+	DecOutstanding();
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::MaloLoadingStarted()
+	{
+	INFO_PRINTF1(_L("Loading started"));
+	IncOutstanding();
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::MaloLoadingComplete()
+	{
+	INFO_PRINTF1(_L("Loading complete"));
+	DecOutstanding();
+	}
+
+TBool CT_MMDataMdaAudioRecorderUtility::ConvertToTDeviceMode(const TDesC& aDesc, CMdaAudioRecorderUtility::TDeviceMode& aDeviceMode)
+	{
+	TBool	ret=ETrue;
+
+	if ( aDesc==KDefault )
+		{
+		aDeviceMode=CMdaAudioRecorderUtility::EDefault;
+		}
+	else if ( aDesc==KTelephonyOrLocal )
+		{
+		aDeviceMode=CMdaAudioRecorderUtility::ETelephonyOrLocal;
+		}
+	else if ( aDesc==KTelephonyMixed )
+		{
+		aDeviceMode=CMdaAudioRecorderUtility::ETelephonyMixed;
+		}
+	else if ( aDesc==KTelephonyNonMixed )
+		{
+		aDeviceMode=CMdaAudioRecorderUtility::ETelephonyNonMixed;
+		}
+	else if ( aDesc==KLocal )
+		{
+		aDeviceMode=CMdaAudioRecorderUtility::ELocal;
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+
+/**
+ Virtual RunL - Called on completion of an asynchronous command
+ @internalComponent
+ @see MTPActiveCallback
+ @param aActive Active Object that RunL has been called on
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+void CT_MMDataMdaAudioRecorderUtility::RunL(CActive* aActive, const TInt aAsyncErrorIndex)
+ 	{
+ 	if ( aActive==iActiveCustomCommandAsync )
+ 		{
+ 		RunCustomCommandAsyncL(aAsyncErrorIndex);
+ 		}
+ 	else
+ 		{
+ 		ERR_PRINTF1(_L("Stray signal"));
+ 		SetBlockResult(EFail);
+ 		}
+ 	}
+
+/**
+ Virtual DoCancel - Request to cancel the asynchronous command
+ @internalComponent
+ @see - MTPActiveCallback
+ @param aActive Active Object that DoCancel has been called on
+ @pre - N/A
+ @post - N/A
+ @leave system wide error code
+*/
+void CT_MMDataMdaAudioRecorderUtility::DoCancel(CActive* aActive)
+ 	{
+ 	if ( aActive==iActiveCustomCommandAsync )
+ 		{
+ 		DoCancelCustomCommandAsync();
+ 		}
+ 	else
+ 		{
+ 		ERR_PRINTF1(_L("Stray signal"));
+ 		SetBlockResult(EFail);
+ 		}
+ 	}
+
+/**
+  RunActiveL - Process RunL for iActiveCustomCommandAsync
+  @internalComponent
+  @pre N/A
+  @post N/A
+  @leave system wide error code
+ */
+ void CT_MMDataMdaAudioRecorderUtility::RunCustomCommandAsyncL(const TInt aAsyncErrorIndex)
+	{
+	if (iCustomCommandData)
+	 	{
+		iCustomCommandData = EFalse;
+		INFO_PRINTF2(_L("DataFrom: %S"), &iDataFromText);
+	 	}
+	TInt	err = iActiveCustomCommandAsync->iStatus.Int();
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("RunL Error %d"), err);
+		SetAsyncError(aAsyncErrorIndex, err);
+		}
+	DecOutstanding();
+	}
+
+/**
+ DoCancelActive - Process DoCancel for iActive
+ @internalComponent
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+void CT_MMDataMdaAudioRecorderUtility::DoCancelCustomCommandAsync()
+	{
+	}
+
+/**
+Get state from Id
+@internalComponent
+@return N/A
+@param aUid
+@pre N/A
+@post N/A
+*/
+const TDesC& CT_MMDataMdaAudioRecorderUtility::GetState(const TInt& aState)
+	{
+	switch (aState)
+		{
+	case CMdaAudioClipUtility::ENotReady:
+		return KENotReady;
+	case CMdaAudioClipUtility::EOpen:
+		return KEOpen;
+	case CMdaAudioClipUtility::EPlaying:
+		return KEPlaying;
+	case CMdaAudioClipUtility::ERecording:
+		return KERecording;
+	default:
+		break;
+		};
+	return KEUnknown;
+	}
+
+TBool CT_MMDataMdaAudioRecorderUtility::GetFormatL(const TDesC& aFormatStr, TMdaClipFormat* &aMdaClipFormat, const TDesC& aSection)
+	{
+	TBool	ret = ETrue;
+	delete 	aMdaClipFormat;
+	aMdaClipFormat = NULL;
+
+	if (aFormatStr == KWavClipFormat)
+		{
+		aMdaClipFormat = new(ELeave) TMdaWavClipFormat();
+		}
+	else if (aFormatStr == KAuClipFormat)
+		{
+		aMdaClipFormat = new(ELeave) TMdaAuClipFormat();
+		}
+	else if (aFormatStr == KRawAudioClipFormat)
+		{
+		aMdaClipFormat = new(ELeave) TMdaRawAudioClipFormat();
+		}
+	else if (aFormatStr == KInvalidClipFormat)
+		{
+		TInt	invalidUid = 0;
+		GetHexFromConfig(aSection, KFormat(), invalidUid);
+		aMdaClipFormat = new(ELeave) TMdaClipFormat();
+		TUid	clipUid = TUid::Uid(invalidUid);
+		aMdaClipFormat->SetUid(clipUid);
+		}
+	else
+		{
+		ret = EFalse;
+		}
+
+	return ret;
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdDestructor()
+	{
+	DestroyData();
+	}
+
+void	CT_MMDataMdaAudioRecorderUtility::DoCmdAddMetaDataEntryL(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TPtrC	metaDataEntryName;
+	TPtrC	metaDataEntryValue;
+	if ( !GetStringFromConfig(aSection, KMetaDataEntryName(), metaDataEntryName) )
+		{
+		ERR_PRINTF2(_L("No %S"), &tempStore);
+		SetBlockResult(EFail);
+		}
+	if ( !GetStringFromConfig(aSection, KMetaDataEntryValue(), metaDataEntryValue) )
+		{
+		ERR_PRINTF2(_L("No %S"), &tempStore);
+		SetBlockResult(EFail);
+		}
+	CMMFMetaDataEntry*	metaDataEntry = NULL;
+	TRAPD(err, metaDataEntry=CMMFMetaDataEntry::NewL(metaDataEntryName, metaDataEntryValue));
+	CleanupStack::PushL(metaDataEntry);
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("Cannot create CMMFMetaDataEntry - Error %d"), err);
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		TRAPD(err, iRecorderUtility->AddMetaDataEntryL(*metaDataEntry));
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("AddMetaDataEntryL Error %d"), err);
+			SetError(err);
+			}
+		}
+	CleanupStack::PopAndDestroy(metaDataEntry);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdAudioPlayControllerImplementationInformationL()
+	{
+	const CMMFControllerImplementationInformation*	controllerInfo = NULL;
+	TRAPD(err, controllerInfo = &(iRecorderUtility->AudioPlayControllerImplementationInformationL()));
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioRecorderUtility->AudioPlayControllerImplementationInformationL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		CT_MMUtil::LogL(*this, *controllerInfo);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdAudioRecorderControllerImplementationInformationL()
+	{
+	const CMMFControllerImplementationInformation* controllerInfo = NULL;
+	TRAPD(err, controllerInfo = &(iRecorderUtility->AudioRecorderControllerImplementationInformationL()));
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioRecorderUtility->AudioRecorderControllerImplementationInformationL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		CT_MMUtil::LogL(*this, *controllerInfo);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdCancelRegisterAudioResourceNotification(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+
+	TInt	inputUid;
+	if ( GetHexFromConfig(aSection, KEventUID(), inputUid) )
+		{
+		TUid	id = TUid::Uid(inputUid);
+		TInt	err = iRecorderUtility->CancelRegisterAudioResourceNotification(id);
+		if ( err != KErrNone )
+			{
+			ERR_PRINTF2(_L("CancelRegisterAudioResourceNotification Error %d"), err);
+			SetError(err);
+			}
+		else
+			{
+			INFO_PRINTF1(_L("CancelRegisterAudioResourceNotification OK."));
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("NotificationEventUid not set in file %S"), &KEventUID);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdClearPlayWindow()
+	{
+	iRecorderUtility->ClearPlayWindow();
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdClose()
+	{
+	iRecorderUtility->Close();
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdCropFromBeginningL()
+	{
+	TRAPD(err, iRecorderUtility->CropFromBeginningL());
+	if ( err==KErrNone )
+		{
+		INFO_PRINTF1(_L("File cropped form beginning"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("CropFromBeginningL error %S. Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdCropL()
+	{
+	TRAPD(err, iRecorderUtility->CropL());
+	if ( err==KErrNone )
+		{
+		INFO_PRINTF1(_L("File cropped"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("CropL error. Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdDestinationBitRateL(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt								actualBitRate = 0;
+	TRAPD(err, actualBitRate=iRecorderUtility->DestinationBitRateL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioRecorderUtility::DestinationBitRateL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Bit rate of the destination audio clip: %d."), actualBitRate);
+
+		TInt	expectedBitRate;
+		if (GetIntFromConfig(aSection, KBitRate(), expectedBitRate))
+			{
+			if (actualBitRate != expectedBitRate)
+				{
+				ERR_PRINTF3(_L("Destination bit rate actual(%d)!=expected(%d)"), actualBitRate, expectedBitRate);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdDestinationDataTypeL(const TDesC& aSection)
+	{
+	TFourCC	actualFourCC;
+	TRAPD(err, actualFourCC=iRecorderUtility->DestinationDataTypeL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioRecorderUtility::DestinationDataTypeL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		TFourCC	expectedVal;
+		if ( CT_MMUtil::ReadFourCC(*this, aSection, expectedVal) )
+			{
+			if ( expectedVal != actualFourCC )
+				{
+				ERR_PRINTF3(_L("dataType(%d) != expectedDataType(%d)"), actualFourCC.FourCC(), expectedVal.FourCC());
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdDestinationFormatL(const TDesC& aSection)
+	{
+	TUid	actualFormat;
+	TRAPD(err, actualFormat = iRecorderUtility->DestinationFormatL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioRecorderUtility::DestinationFormatL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Format of the destination audio clip: %d."), actualFormat.iUid);
+		TUid	expectedFormat	= TUid::Null();
+		TInt    mmfUidFormat 	= 0;
+		if (GetHexFromConfig(aSection, KFormat(), mmfUidFormat) )
+			{
+			expectedFormat=TUid::Uid(mmfUidFormat);
+			INFO_PRINTF2(_L("Format from ini file: %d."), expectedFormat.iUid);
+			}
+			
+		if (actualFormat != expectedFormat)
+			{
+			ERR_PRINTF3(_L("Format of the destination audio clip actual(%D)!=expected(%D)"), actualFormat.iUid, expectedFormat.iUid);
+			SetBlockResult(EFail);
+			}
+		
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdDestinationNumberOfChannelsL(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+
+	TInt	actualNrChnls = 0;
+	TRAPD(err, actualNrChnls = iRecorderUtility->DestinationNumberOfChannelsL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioRecorderUtility::DestinationNumberOfChannelsL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Number of channels of the destination audio clip: %d."), actualNrChnls);
+
+		TInt	expectedNrChnls;
+		if (GetIntFromConfig(aSection, KChannels(), expectedNrChnls))
+			{
+			if (actualNrChnls != expectedNrChnls)
+				{
+				ERR_PRINTF3(_L("Destination number of channels actual(%d)!=expected(%d)"), actualNrChnls, expectedNrChnls);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdDestinationSampleRateL(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt								actualSampleRate = 0;
+	TRAPD(err, actualSampleRate = iRecorderUtility->DestinationSampleRateL());
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioRecorderUtility::DestinationSampleRateL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Samplet rate of the destination audio clip: %d."), actualSampleRate);
+
+		TInt	expectedSampleRate=0;
+		if (GetIntFromConfig(aSection, KSampleRate(), expectedSampleRate))
+			{
+			if (actualSampleRate != expectedSampleRate)
+				{
+				ERR_PRINTF3(_L("Destination sample rate actual(%d)!=expected(%d)"), actualSampleRate, expectedSampleRate);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdDuration(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TTimeIntervalMicroSeconds  			actualDuration;
+	TInt 								expectedDuration=0;
+
+	//	Read from INI file which function of Duration we can use.
+	//	If parameter "command_usestate" is = TRUE then use Duration2
+	TBool	useState=EFalse;
+	GetBoolFromConfig(aSection, KUseState(), useState);
+
+	if( !useState )
+		{
+		actualDuration = iRecorderUtility->Duration();
+		INFO_PRINTF2(_L("Duration = %d (MicroSec)"), actualDuration.Int64());
+
+		if( GetIntFromConfig(aSection, KDuration(), expectedDuration) )
+			{
+			if( expectedDuration != actualDuration.Int64() )
+				{
+	        	ERR_PRINTF3(_L("expectedDuration (%d) != actualDuration (%d)"), expectedDuration, actualDuration.Int64());
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		TMMFDurationInfo	actualDurationInfo = iRecorderUtility->Duration(actualDuration);
+		switch (actualDurationInfo)
+			{
+		case EMMFDurationInfoValid:
+			INFO_PRINTF2(_L("Duration = %d (MicroSec)"), actualDuration.Int64());
+			break;
+		case EMMFDurationInfoUnknown:
+			INFO_PRINTF1(_L("Duration length is unknown"));
+			break;
+		case EMMFDurationInfoInfinite:
+			INFO_PRINTF1(_L("Clip is of infinite length"));
+			break;
+		default:
+			break;
+			}
+
+		TPtrC	expectedDurationState;
+		if( GetStringFromConfig(aSection, KDurationState(), expectedDurationState) )
+			{
+			TMMFDurationInfo	expectedDurationInfo = EMMFDurationInfoValid;
+
+			if( expectedDurationState == KEMMFDurationInfoValid )
+				{
+				expectedDurationInfo = EMMFDurationInfoValid;
+				}
+			else if( expectedDurationState == KEMMFDurationInfoUnknown )
+				{
+				expectedDurationInfo = EMMFDurationInfoUnknown;
+				}
+			else if( expectedDurationState == KEMMFDurationInfoInfinite )
+				{
+				expectedDurationInfo = EMMFDurationInfoInfinite;
+				}
+			else
+				{
+	        	ERR_PRINTF2(_L("Invalid expected duration state (%S)"), &expectedDurationState);
+				SetBlockResult(EFail);
+				}
+
+			if( expectedDurationInfo != actualDurationInfo )
+				{
+	        	ERR_PRINTF2(_L("expectedDurationInfo (%S) != actualDurationInfo"), &expectedDurationState);
+				SetBlockResult(EFail);
+				}
+			}
+
+		if( GetIntFromConfig(aSection, KDuration(), expectedDuration) )
+			{
+			if( expectedDuration != actualDuration.Int64() )
+				{
+	        	ERR_PRINTF3(_L("expectedDuration (%d) != actualDuration (%d)"), expectedDuration, actualDuration.Int64());
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdGetAudioLoadingProgressL(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt								loadingprogress=0;
+	TRAPD(err, iRecorderUtility->GetAudioLoadingProgressL(loadingprogress));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GetAudioLoadingProgressL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		TInt	expectedLoadingProgress=0;
+		if ( GetIntFromConfig(aSection, KLoadingProgress(), expectedLoadingProgress) )
+			{
+			if( loadingprogress !=  expectedLoadingProgress)
+				{
+				ERR_PRINTF3(_L("Current loadingprogress (%d) != expected loadingprogress (%d)"), loadingprogress, expectedLoadingProgress);
+				SetBlockResult(EFail);
+				}
+			}
+		INFO_PRINTF2(_L("AudioLoadingProgress=%d"), loadingprogress);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdGetDRMCustomCommand(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TBool				 				isNull=EFalse;
+
+	GetBoolFromConfig(aSection, KExpectNull(), isNull);
+	MMMFDRMCustomCommand*	drmcustomcommand = iRecorderUtility->GetDRMCustomCommand();
+	if( ( drmcustomcommand!=NULL && isNull ) || ( drmcustomcommand==NULL && !isNull ) )
+		{
+		ERR_PRINTF1(_L("expected DRMCustomCommand value != GetDRMCustomCommand value"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdGetGain(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt 								gain=0;
+	TInt err=iRecorderUtility->GetGain(gain);
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioRecorderUtility::GetGain Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Gain=%d"), gain);
+		TInt	expectedGain=0;
+		if(GetIntFromConfig(aSection, KGain(), expectedGain))
+			{
+			TInt	maxGain=iRecorderUtility->MaxGain();
+			if(expectedGain>maxGain)
+				{
+				expectedGain=maxGain;
+				}
+			if(expectedGain == -1)
+				{
+				// Expect to get the maximum gain
+				if(gain != maxGain)
+					{
+					SetBlockResult(EFail);
+					ERR_PRINTF3(_L("gain(%d) != maxGain(%d)"), gain, maxGain);
+					}
+				}
+			else if(gain != expectedGain)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("gain(%d) != expectedGain(%d)"), gain, expectedGain);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdGetMetaDataEntryL(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+
+	TInt	metaDataEntryIndex=0;
+	GetIntFromConfig(aSection, KMetaDataEntryIndex(), metaDataEntryIndex);
+
+	CMMFMetaDataEntry*	metaDataEntry=NULL;
+	TRAPD(err, metaDataEntry=iRecorderUtility->GetMetaDataEntryL(metaDataEntryIndex));
+	CleanupStack::PushL(metaDataEntry);
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("MetaDataEntryL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		const TDesC&	name=metaDataEntry->Name();
+		const TDesC&	value=metaDataEntry->Value();
+		INFO_PRINTF3(_L("GetMetaDataEntryL: Name = %S, value = %S"), &name, &value);
+		TPtrC	expectedName;
+		if ( GetStringFromConfig(aSection, KMetaDataEntryName(), expectedName) )
+			{
+			if(!name.Compare(expectedName))
+				{
+				ERR_PRINTF3(_L("name(%S) != expectedName(%S)"), &name, &expectedName);
+				SetBlockResult(EFail);
+				}
+			}
+		TPtrC	expectedValue;
+		if ( GetStringFromConfig(aSection, KMetaDataEntryValue(), expectedValue) )
+			{
+			if(!value.Compare(expectedValue))
+				{
+				ERR_PRINTF3(_L("value(%S) != expectedValue(%S)"), &value, &expectedValue);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	CleanupStack::PopAndDestroy(metaDataEntry);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdGetNumberOfMetaDataEntries(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt								numberOfMetaDataEntries=0;
+	TInt								err = iRecorderUtility->GetNumberOfMetaDataEntries(numberOfMetaDataEntries);
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GetNumberOfMetaDataEntries Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("GetNumberOfMetaDataEntries=%d"), numberOfMetaDataEntries);
+		TInt	expectedNumberOfMetaDataEntries=0;
+		if(GetIntFromConfig(aSection, KNoOfMetaDataEntries(), expectedNumberOfMetaDataEntries))
+			{
+			if(numberOfMetaDataEntries != expectedNumberOfMetaDataEntries)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("numberOfMetaDataEntries(%d) != expectedNumberOfMetaDataEntries(%d)"), numberOfMetaDataEntries, expectedNumberOfMetaDataEntries);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdGetPlaybackBalance(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt								balance;
+	TInt								err=iRecorderUtility->GetPlaybackBalance(balance);
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GetPlaybackBalanceL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("GetPlaybackBalanceL=%d"), balance);
+		TInt	expectedBalance=0;
+		if(GetIntFromConfig(aSection, KBalance(), expectedBalance))
+			{
+			if(balance != expectedBalance)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("Playbackbalance(%d) != expectedPlaybackBalance(%d)"), balance, expectedBalance);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdGetRecordBalance(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt								balance;
+	TRAPD(err, iRecorderUtility->GetRecordBalance(balance));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GetRecordBalance Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("GetRecordBalance=%d"), balance);
+		TInt	expectedBalance=0;
+		if(GetIntFromConfig(aSection, KBalance(), expectedBalance))
+			{
+			if(balance != expectedBalance)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("Recordbalance(%d) != expectedRecordBalance(%d)"), balance, expectedBalance);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdGetSupportedBitRatesL(const TDesC& aSection)
+	{
+	RArray<TUint>	rates;
+	CleanupClosePushL(rates);
+	TRAPD(err, iRecorderUtility->GetSupportedBitRatesL(rates));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GetSupportedBitRatesL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("List of the supported bit rates for the destination:"));
+		for ( TInt index=0; index<rates.Count(); ++index )
+			{
+			INFO_PRINTF3(_L("rates[%d]=%d"), index, rates[index]);
+			}
+		TBuf<KMaxTestExecuteCommandLength>	tempStore;
+		TInt								expectedBitRatesNr;
+		if (GetIntFromConfig(aSection, KExcpectedNumber(), expectedBitRatesNr))
+			{
+			if (rates.Count() != expectedBitRatesNr)
+				{
+				ERR_PRINTF3(_L("Number of supported bit rates actual(%d)!=expected(%d)"), rates.Count(), expectedBitRatesNr);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	CleanupStack::PopAndDestroy(&rates);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdGetSupportedDestinationDataTypesL(const TDesC& aSection)
+	{
+	RArray<TFourCC>	types;
+	CleanupClosePushL(types);
+	TRAPD(err, iRecorderUtility->GetSupportedDestinationDataTypesL(types));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GetSupportedDestinationDataTypesL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("List of the supported destination data types for recording:"));
+		for ( TInt index=0; index<types.Count(); ++index )
+			{
+			INFO_PRINTF3(_L("types[%d]=%S"), index, &CT_MMUtil::GetFourCCString(types[index].FourCC()));
+			}
+		TBuf<KMaxTestExecuteCommandLength>	tempStore;
+		TInt								expectedDatatypesNr;
+		if (GetIntFromConfig(aSection, KExcpectedNumber(), expectedDatatypesNr))
+			{
+			if (types.Count() != expectedDatatypesNr)
+				{
+				ERR_PRINTF3(_L("Number of supported datatypes actual(%d)!=expected(%d)"), types.Count(), expectedDatatypesNr);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	CleanupStack::PopAndDestroy(&types);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdGetSupportedNumberOfChannelsL(const TDesC& aSection)
+	{
+	RArray<TUint>	channels;
+	CleanupClosePushL(channels);
+	TRAPD(err, iRecorderUtility->GetSupportedNumberOfChannelsL(channels));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GetSupportedNumberOfChannelsL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("List of the supported number of channels for the destination:"));
+		for ( TInt index=0; index<channels.Count(); ++index )
+			{
+			INFO_PRINTF3(_L("channels[%d]=%d"), index, channels[index]);
+			}
+		TBuf<KMaxTestExecuteCommandLength>	tempStore;
+		TInt								expectedNrOfChnlsNr=0;
+		if (GetIntFromConfig(aSection, KExcpectedNumber(), expectedNrOfChnlsNr))
+			{
+			if (channels.Count() != expectedNrOfChnlsNr)
+				{
+				ERR_PRINTF3(_L("Number of supported number of channels actual(%d)!=expected(%d)"), channels.Count(), expectedNrOfChnlsNr);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	CleanupStack::PopAndDestroy(&channels);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdGetSupportedSampleRatesL(const TDesC& aSection)
+	{
+	RArray<TUint>	rates;
+	CleanupClosePushL(rates);
+	TRAPD(err, iRecorderUtility->GetSupportedSampleRatesL(rates));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GetSupportedSampleRatesL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF1(_L("List of the supported sample rates for the destination:"));
+		for ( TInt index=0; index<rates.Count(); ++index )
+			{
+			INFO_PRINTF3(_L("rates[%d]=%d"), index, rates[index]);
+			}
+		TBuf<KMaxTestExecuteCommandLength>	tempStore;
+		TInt								expectedSampleRatesNr=0;
+		if (GetIntFromConfig(aSection, KExcpectedNumber(), expectedSampleRatesNr))
+			{
+			if (rates.Count() != expectedSampleRatesNr)
+				{
+				ERR_PRINTF3(_L("Number of supported sample rates actual(%d)!=expected(%d)"), rates.Count(), expectedSampleRatesNr);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	CleanupStack::PopAndDestroy(&rates);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdGetVolume(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt 								actualVolume=0;
+	TInt err=iRecorderUtility->GetVolume(actualVolume);
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioRecorderUtility::GetVolume Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Volume=%d"), actualVolume);
+		}
+	TInt	expectedVolume=0;
+	if(GetIntFromConfig(aSection, KVolume(), expectedVolume))
+		{
+		TInt	maxVol=iRecorderUtility->MaxVolume();
+		if ( expectedVolume>maxVol )
+			{
+			expectedVolume=maxVol;
+			}
+		if(actualVolume != expectedVolume)
+			{
+			SetBlockResult(EFail);
+			ERR_PRINTF3(_L("actualVolume(%d) != expectedVolume(%d)"), actualVolume, expectedVolume);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdMaxGain(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt	maxGain=iRecorderUtility->MaxGain();
+	INFO_PRINTF2(_L("MaxGain=%d"), maxGain);
+	TInt	expectedGain=0;
+	if(GetIntFromConfig(aSection, KGain(), expectedGain))
+		{
+		if(maxGain != expectedGain)
+			{
+			SetBlockResult(EFail);
+			ERR_PRINTF3(_L("maxGain(%d) != expectedGain(%d)"), maxGain, expectedGain);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdMaxVolume(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt								maxVolume=iRecorderUtility->MaxVolume();
+	INFO_PRINTF2(_L("MaxVolume=%d"), maxVolume);
+
+	TInt	expectedVolume=0;
+	if(GetIntFromConfig(aSection, KVolume(), expectedVolume))
+		{
+		if(maxVolume != expectedVolume)
+			{
+			SetBlockResult(EFail);
+			ERR_PRINTF3(_L("maxVolume(%d) != expectedVolume(%d)"), maxVolume, expectedVolume);
+			}
+		}
+	}
+
+void	CT_MMDataMdaAudioRecorderUtility::DoCmdNewL(const TDesC& aSection)
+	{
+	delete iRecorderUtility;
+	iRecorderUtility=NULL;
+
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	TInt	priority;
+	if ( CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		TRAPD(err, iRecorderUtility=CMdaAudioRecorderUtility::NewL(*this, NULL, priority, priorityPreference));
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("NewL(this, priority, priorityPreference) Error %d"), err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		TRAPD(err, iRecorderUtility=CMdaAudioRecorderUtility::NewL(*this));
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("NewL(this) Error %d"), err);
+			SetError(err);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdOpenDesL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+
+	iBufferSize=KMdaAudioRecorderBufferSize;
+
+	TPtrC	filename;
+    TBool     hasFile=GetStringFromConfig(aSection, KFileName(), filename);
+    if ( hasFile )
+		{
+		if ( iFileOpened )
+			{
+    		iFile.Close();
+    		iFileOpened=EFalse;
+    		}
+    	User::LeaveIfError(iFile.Open(iFs, filename, EFileShareReadersOnly));
+    	iFileOpened=ETrue;
+    	User::LeaveIfError(iFile.Size(iBufferSize));
+    	}
+    GetIntFromConfig(aSection, KBufferSize(), iBufferSize);
+    delete iBuffer;
+    iBuffer=HBufC8::NewL(iBufferSize);
+    *iBuffer=KNullDesC8;
+    delete iBufferPtr;
+    iBufferPtr=new (ELeave) TPtr8(iBuffer->Des());
+    if ( hasFile )
+      	 {
+         INFO_PRINTF1(_L("Reading audio clip to buffer"));
+         User::LeaveIfError(iFile.Read(*iBufferPtr));
+         }
+
+	TBool	isConst=EFalse;
+	GetBoolFromConfig(aSection, KConst(), isConst);
+
+	CT_MMUtil::GetControllerAndFormatUidL(*this, filename, KUidMediaTypeAudio, ETrue, iRecorderControllerUid, iRecorderFormatUid);
+	TInt	recordControllerUid;
+	if ( GetHexFromConfig(aSection, KControllerUid(), recordControllerUid) )
+		{
+		iRecorderControllerUid=TUid::Uid(recordControllerUid);
+		}
+
+	CT_MMUtil::GetControllerAndFormatUidL(*this, filename, KUidMediaTypeAudio, EFalse, iPlayerControllerUid, iPlayerFormatUid);
+	TInt	playbackControllerUid;
+	if ( GetHexFromConfig(aSection, KControllerUid(), playbackControllerUid) )
+		{
+		iPlayerControllerUid=TUid::Uid(playbackControllerUid);
+		}
+
+	TUid	destinationFormatUid = TUid::Null();
+	TInt	formatUid 			 = 0;
+	if (GetHexFromConfig(aSection, KFormat(), formatUid))
+		{
+		destinationFormatUid=TUid::Uid(formatUid);
+		INFO_PRINTF3(_L("Format input required: %d. and the format read in from ini file: %d."),destinationFormatUid.iUid,formatUid);
+		}
+
+	TFourCC	audioTypeFourCC;
+	if ( CT_MMUtil::ReadFourCC(*this, aSection, audioTypeFourCC) )
+		{
+		iAsyncErrorIndex = aAsyncErrorIndex;
+		TRAPD(err,iRecorderUtility->OpenDesL(*iBufferPtr, iRecorderControllerUid, iPlayerControllerUid, destinationFormatUid, audioTypeFourCC));
+		if ( err==KErrNone )
+			{
+			INFO_PRINTF1(_L("Buffer opened"));
+			IncOutstanding();
+			}
+		else
+			{
+			ERR_PRINTF2(_L("OpenDesL Error %d"), err);
+			SetError(err);
+			}
+		}
+	else if(isConst)
+		{
+		iAsyncErrorIndex = aAsyncErrorIndex;
+		const TPtrC8	tempStr=*iBufferPtr;
+		TRAPD(err, iRecorderUtility->OpenDesL(tempStr));
+		if ( err==KErrNone )
+			{
+			INFO_PRINTF1(_L("Buffer opened"));
+			IncOutstanding();
+			}
+		else
+			{
+			ERR_PRINTF2(_L("OpenDesL Error %d"), err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		iAsyncErrorIndex = aAsyncErrorIndex;
+		TRAPD(err, iRecorderUtility->OpenDesL(*iBufferPtr));
+		if ( err==KErrNone )
+			{
+			INFO_PRINTF1(_L("Buffer opened"));
+			IncOutstanding();
+			}
+		else
+			{
+			ERR_PRINTF2(_L("OpenDesL Error %d"), err);
+			SetError(err);
+			}
+		}
+	}
+
+void  CT_MMDataMdaAudioRecorderUtility::DoCmdOpenFileL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+
+	TPtrC	filename;
+	if ( GetStringFromConfig(aSection, KFileName(), filename) )
+		{
+		TPtrC	fourCC;
+		TBool	useRFile = EFalse;
+		GetBoolFromConfig(aSection, KRFile(), useRFile);
+
+		TBool	useTMMSource = EFalse;
+		GetBoolFromConfig(aSection, KTMMSource(), useTMMSource);
+
+		CT_MMUtil::GetControllerAndFormatUidL(*this, _L(".wav"), KUidMediaTypeAudio, ETrue, iRecorderControllerUid, iRecorderFormatUid);
+		TInt	recordControllerUid;
+		if ( GetHexFromConfig(aSection, KControllerUid(), recordControllerUid) )
+			{
+			iRecorderControllerUid=TUid::Uid(recordControllerUid);
+			}
+
+		CT_MMUtil::GetControllerAndFormatUidL(*this, filename, KUidMediaTypeAudio, EFalse, iPlayerControllerUid, iPlayerFormatUid);
+		TInt	playbackControllerUid;
+		if ( GetHexFromConfig(aSection, KControllerUid(), playbackControllerUid) )
+			{
+			iPlayerControllerUid=TUid::Uid(playbackControllerUid);
+			}
+
+		TUid	destinationFormatUid = TUid::Null();
+		TInt	formatUid 			 = 0;
+		if (GetHexFromConfig(aSection, KFormat(), formatUid))
+			{
+			destinationFormatUid=TUid::Uid(formatUid);
+			INFO_PRINTF3(_L("Format input required: %d, and the format read in from the ini file: %d"),formatUid,destinationFormatUid.iUid);
+			}
+
+		TFourCC	dataType;
+		TBool	hasFourCC = CT_MMUtil::ReadFourCC(*this, aSection, dataType);
+
+		TBool	isNew=EFalse;
+		GetBoolFromConfig(aSection, KNew(), isNew);
+
+		if ( useRFile )
+			{
+			if( iFileOpened )
+				{
+				iFile.Close();
+				iFileOpened=EFalse;
+				}
+			if(isNew)
+				{
+				FileServer().MkDirAll(filename);
+				FileServer().Delete(filename);
+				User::LeaveIfError(iFile.Create(FileServer(), filename, EFileWrite));
+				}
+			else
+				{
+				User::LeaveIfError(iFile.Open(FileServer(), filename, EFileShareReadersOnly));
+				}
+			if (hasFourCC)
+				{
+				iAsyncErrorIndex = aAsyncErrorIndex;
+				TRAPD(err, iRecorderUtility->OpenFileL(iFile, iRecorderControllerUid, iPlayerControllerUid, destinationFormatUid, dataType ));
+				if ( err==KErrNone )
+					{
+					INFO_PRINTF1(_L("File opened"));
+					IncOutstanding();
+					}
+				else
+					{
+					ERR_PRINTF3(_L("Cannot open rfile %S. Error %d"), &filename, err);
+					SetError(err);
+					}
+				}
+			else
+				{
+				iAsyncErrorIndex = aAsyncErrorIndex;
+				TRAPD(err, iRecorderUtility->OpenFileL(iFile));
+				if ( err==KErrNone )
+					{
+					INFO_PRINTF1(_L("File created"));
+					IncOutstanding();
+					}
+				else
+					{
+					ERR_PRINTF3(_L("Cannot open rfile %S. Error %d"), &filename, err);
+					SetError(err);
+					}
+				}
+			}
+		else if ( useTMMSource )
+			{
+		    ContentAccess::TIntent	intent=ContentAccess::EPeek;
+			if ( !CT_MMUtil::ReadIntent(*this, aSection, intent) )
+				{
+				intent=ContentAccess::EPeek;
+				}
+
+		    TPtrC	uniqueId = _L("");
+		    GetStringFromConfig(aSection, KUniqueId(), uniqueId);
+
+		    TBool	enableUI = EFalse;
+		    GetBoolFromConfig(aSection, KEnableUI(), enableUI);
+
+		    TMMFileSource	fileSource(filename, uniqueId, intent, enableUI);
+			if (hasFourCC)
+				{
+				iAsyncErrorIndex = aAsyncErrorIndex;
+				TRAPD(err, iRecorderUtility->OpenFileL(fileSource, iRecorderControllerUid, iPlayerControllerUid, destinationFormatUid, dataType ));
+				if ( err==KErrNone )
+					{
+					INFO_PRINTF1(_L("File opened"));
+					IncOutstanding();
+					}
+				else
+					{
+					ERR_PRINTF3(_L("Cannot open tmmsource %S. Error %d"), &filename, err);
+					SetError(err);
+					}
+				}
+			else
+				{
+				iAsyncErrorIndex = aAsyncErrorIndex;
+				TRAPD(err, iRecorderUtility->OpenFileL(fileSource));
+				if ( err==KErrNone )
+					{
+					INFO_PRINTF1(_L("File created"));
+					IncOutstanding();
+					}
+				else
+					{
+					ERR_PRINTF3(_L("Cannot open tmmsource %S. Error %d"), &filename, err);
+					SetError(err);
+					}
+				}
+			}
+		else
+			{
+			if(isNew)
+				{
+				FileServer().MkDirAll(filename);
+				FileServer().Delete(filename);
+				}
+			if (hasFourCC)
+				{
+				iAsyncErrorIndex = aAsyncErrorIndex;
+				TRAPD(err, iRecorderUtility->OpenFileL(filename, iRecorderControllerUid, iPlayerControllerUid, destinationFormatUid, dataType));
+				if ( err==KErrNone )
+					{
+					INFO_PRINTF1(_L("File created"));
+					IncOutstanding();
+					}
+				else
+					{
+					ERR_PRINTF3(_L("Cannot open tdesc %S. Error %d"), &filename, err);
+					SetError(err);
+					}
+				}
+			else
+				{
+				iAsyncErrorIndex = aAsyncErrorIndex;
+				TRAPD(err, iRecorderUtility->OpenFileL(filename));
+				if ( err==KErrNone )
+					{
+					INFO_PRINTF1(_L("File opened"));
+					IncOutstanding();
+					}
+				else
+					{
+					ERR_PRINTF3(_L("Cannot open tdesc %S. Error %d"), &filename, err);
+					SetError(err);
+					}
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("No %S"), &tempStore);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdOpenL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+
+	// read location from INI file
+	TMdaFileClipLocation	location;
+	TPtrC					locationStr;
+	if (GetStringFromConfig(aSection, KFileName(), locationStr))
+		{
+		location.iName = locationStr;
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Can not call OpenL. Parameter %S has invalid value in INI file."), &tempStore);
+		SetBlockResult(EFail);
+		}
+
+	// read format of the audio clip from INI file
+	TMdaClipFormat*	format = NULL;
+	TPtrC			formatStr;
+	if (GetStringFromConfig(aSection, KAudioFormat(), formatStr))
+		{
+		if(GetFormatL(formatStr, format, aSection))
+			{
+			INFO_PRINTF3(_L("Format (%S) Uid = %d."), &formatStr, format->Uid());
+			}
+		else
+			{
+			ERR_PRINTF2(_L("Can not call OpenL. Parameter %S has invalid value in INI file."), &tempStore);
+			SetBlockResult(EFail);
+			}
+		}
+	CleanupDeletePushL(format);
+
+	// read codec type from INI file
+	TMdaPackage*	codec = NULL;
+	TPtrC			codecStr;
+	if (GetStringFromConfig(aSection, KCodec(), codecStr))
+		{
+		if(GetCodecL(codecStr, codec))
+			{
+			INFO_PRINTF3(_L("Codec (%S) Uid = %d."), &codecStr, codec->Uid());
+			}
+		else
+			{
+			ERR_PRINTF2(_L("Can not call OpenL. Parameter %S has invalid value in INI file."), &tempStore);
+			SetBlockResult(EFail);
+			}
+		}
+	CleanupDeletePushL(codec);
+
+	// read audio settings from INI file
+	TMdaPackage*	settings = NULL;
+	GetAudioSettingsL(KAudioSettings(), aSection, settings);
+	CleanupDeletePushL(settings);
+
+	iAsyncErrorIndex = aAsyncErrorIndex;
+
+	TRAPD(err, iRecorderUtility->OpenL(&location, format, codec, settings));
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioRecorderUtility:::OpenL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		IncOutstanding();
+		}
+
+	CleanupStack::PopAndDestroy(3, format); // @param TMdaPackage *aFormat, *aArg1, *aArg2
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdOpenUrlL(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TPtrC	url;
+
+	if ( GetStringFromConfig(aSection, KTDesC(), url) )
+		{
+		TInt	accessPointID = KUseDefaultIap;
+		GetIntFromConfig(aSection, KAccessPointID(), accessPointID);
+
+		TFourCC	destinationDataType;
+		if ( CT_MMUtil::ReadFourCC(*this, aSection, destinationDataType) )
+			{
+			CT_MMUtil::GetControllerAndFormatUidL(*this, _L(".wav"), KUidMediaTypeAudio, ETrue, iRecorderControllerUid, iRecorderFormatUid);
+			TInt	recordControllerUid;
+			if ( GetHexFromConfig(aSection, KControllerUid(), recordControllerUid) )
+				{
+				iRecorderControllerUid=TUid::Uid(recordControllerUid);
+				}
+
+			CT_MMUtil::GetControllerAndFormatUidL(*this, url, KUidMediaTypeAudio, EFalse, iPlayerControllerUid, iPlayerFormatUid);
+			TInt	playbackControllerUid;
+			if ( GetHexFromConfig(aSection, KControllerUid(), playbackControllerUid) )
+				{
+				iPlayerControllerUid=TUid::Uid(playbackControllerUid);
+				}
+
+			TUid	destinationFormatUid = TUid::Null();
+			TInt	formatUid  			 = 0;
+			if (GetHexFromConfig(aSection, KFormat(), formatUid))
+				{
+				destinationFormatUid=TUid::Uid(formatUid);
+				INFO_PRINTF3(_L("Format input required: %d, and the format read in from ini file: %d."),destinationFormatUid.iUid,formatUid);
+				}
+
+			TRAPD(err, iRecorderUtility->OpenUrlL(url, accessPointID, iRecorderControllerUid, iPlayerControllerUid, destinationFormatUid, destinationDataType));
+			if ( err==KErrNone )
+				{
+				INFO_PRINTF1(_L("File opened from url"));
+				}
+			else
+				{
+				ERR_PRINTF3(_L("Cannot open url %S. Error %d"), &url, err);
+				SetError(err);
+				}
+			}
+		else
+			{
+			TPtrC	mimeTypeStr;
+			GetStringFromConfig(aSection, KMimeType(), mimeTypeStr);
+
+			HBufC8*	buffer=HBufC8::NewLC(mimeTypeStr.Length());
+			TPtr8	bufferPtr=buffer->Des();
+			bufferPtr.Copy(mimeTypeStr);	// Create a 16 bit copy of the 8 bit original
+
+			const TDesC8&	mimeType=bufferPtr;
+			TRAPD(err, iRecorderUtility->OpenUrlL(url, accessPointID, mimeType));
+			if ( err==KErrNone )
+				{
+				INFO_PRINTF1(_L("File opened from url"));
+				}
+			else
+				{
+				ERR_PRINTF3(_L("Cannot open url %S. Error %d"), &url, err);
+				SetError(err);
+				}
+			CleanupStack::PopAndDestroy(buffer);
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Can not call OpenUrlL. Wrong parameters in INI file."));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdPlayControllerCustomCommandAsyncL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+
+	TMMFMessageDestination		handleInfo(iPlayerControllerUid);
+	TMMFMessageDestinationPckg	messageDest(handleInfo);
+
+	TInt	function = 0;
+	GetIntFromConfig(aSection, KFunction(), function);
+
+	TBool	useDataFrom = EFalse;
+	GetBoolFromConfig(aSection, KUseDataFrom(), useDataFrom);
+
+	// reference to the first chunk of data
+	HBufC8*	dataTo1 = NULL;
+	TPtrC	dataTo1Str;
+	if ( GetStringFromConfig(aSection, KDataTo1(), dataTo1Str) )
+		{
+		dataTo1 = HBufC8::NewL(dataTo1Str.Length());
+		dataTo1->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo1 = HBufC8::NewL(0);
+		dataTo1->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo1);
+
+	// reference to the second chunk of data
+	HBufC8*	dataTo2 = NULL;
+	TPtrC	dataTo2Str;
+	if ( GetStringFromConfig(aSection, KDataTo2(), dataTo2Str) )
+		{
+		dataTo2 = HBufC8::NewL(dataTo2Str.Length());
+		dataTo2->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo2 = HBufC8::NewL(0);
+		dataTo2->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo2);
+
+	if ( useDataFrom )
+		{
+		iCustomCommandData = ETrue;
+		iRecorderUtility->PlayControllerCustomCommandAsync(messageDest, function, *dataTo1, *dataTo2, iDataFromText, iActiveCustomCommandAsync->iStatus);
+		}
+	else
+		{
+		iRecorderUtility->PlayControllerCustomCommandAsync(messageDest, function, *dataTo1, *dataTo2, iActiveCustomCommandAsync->iStatus);
+		}
+
+	iActiveCustomCommandAsync->Activate(aAsyncErrorIndex);
+	IncOutstanding();
+	CleanupStack::PopAndDestroy(2, dataTo1);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdPlayControllerCustomCommandSyncL(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+
+	TMMFMessageDestination		handleInfo(iPlayerControllerUid);
+	TMMFMessageDestinationPckg	messageDest(handleInfo);
+
+	TInt	function = 0;
+	GetIntFromConfig(aSection, KFunction(), function);
+
+	TBool	useDataFrom = EFalse;
+	GetBoolFromConfig(aSection, KUseDataFrom(), useDataFrom);
+
+	// reference to the first chunk of data
+	HBufC8*	dataTo1 = NULL;
+	TPtrC	dataTo1Str;
+	if (GetStringFromConfig(aSection, KDataTo1(), dataTo1Str))
+		{
+		dataTo1 = HBufC8::NewL(dataTo1Str.Length());
+		dataTo1->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo1 = HBufC8::NewL(0);
+		dataTo1->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo1);
+
+	// reference to the second chunk of data
+	HBufC8*	dataTo2 = NULL;
+	TPtrC	dataTo2Str;
+	if (GetStringFromConfig(aSection, KDataTo2(), dataTo2Str))
+		{
+		dataTo2 = HBufC8::NewL(dataTo2Str.Length());
+		dataTo2->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo2 = HBufC8::NewL(0);
+		dataTo2->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo2);
+
+	TInt					err = KErrNone;
+	TBuf8<KMaxdataFromText>	dataFromText;
+	if (useDataFrom)
+		{
+		err = iRecorderUtility->PlayControllerCustomCommandSync(messageDest, function, *dataTo1, *dataTo2, dataFromText);
+		}
+	else
+		{
+		err = iRecorderUtility->PlayControllerCustomCommandSync(messageDest, function, *dataTo1, *dataTo2);
+		}
+	if (err!=KErrNone)
+		{
+		ERR_PRINTF2(_L("CMdaAudioRecorderUtility::PlayControllerCustomCommandSync failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		if (useDataFrom)
+			{
+			INFO_PRINTF2(_L("DataFrom: %S"), &dataFromText);
+			}
+		}
+
+	CleanupStack::PopAndDestroy(2, dataTo1);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdPlayL(const TInt aAsyncErrorIndex)
+	{
+	iAsyncErrorIndex = aAsyncErrorIndex;
+	TRAPD(err, iRecorderUtility->PlayL());
+	if ( err==KErrNone )
+		{
+		INFO_PRINTF1(_L("Started playing"));
+		IncOutstanding();
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Cannot start playing %S. Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdPosition(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TTimeIntervalMicroSeconds			actualPosition = iRecorderUtility->Position();
+	INFO_PRINTF2(_L("Current position in the audio clip: %d"), actualPosition.Int64());
+
+	TInt	expectedPosition=0;
+	if (GetIntFromConfig(aSection, KPosition(), expectedPosition))
+		{
+		if (actualPosition.Int64() != expectedPosition)
+			{
+			ERR_PRINTF3(_L("Position in the audio clip actual(%d)!=expected(%d)"),
+				actualPosition.Int64(), expectedPosition);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdRecordControllerCustomCommandAsyncL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+
+	TMMFMessageDestination		handleInfo(iRecorderControllerUid);
+	TMMFMessageDestinationPckg	messageDest(handleInfo);
+
+	TInt	function = 0;
+	GetIntFromConfig(aSection, KFunction(), function);
+
+	TBool	useDataFrom = EFalse;
+	GetBoolFromConfig(aSection, KUseDataFrom(), useDataFrom);
+
+	// reference to the first chunk of data
+	HBufC8*	dataTo1 = NULL;
+	TPtrC	dataTo1Str;
+	if ( GetStringFromConfig(aSection, KDataTo1(), dataTo1Str) )
+		{
+		dataTo1 = HBufC8::NewL(dataTo1Str.Length());
+		dataTo1->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo1 = HBufC8::NewL(0);
+		dataTo1->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo1);
+
+	// reference to the second chunk of data
+	HBufC8*	dataTo2 = NULL;
+	TPtrC	dataTo2Str;
+	if ( GetStringFromConfig(aSection, KDataTo2(), dataTo2Str) )
+		{
+		dataTo2 = HBufC8::NewL(dataTo2Str.Length());
+		dataTo2->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo2 = HBufC8::NewL(0);
+		dataTo2->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo2);
+
+	if ( useDataFrom )
+		{
+		iCustomCommandData = ETrue;
+		iRecorderUtility->RecordControllerCustomCommandAsync(messageDest, function, *dataTo1, *dataTo2, iDataFromText, iActiveCustomCommandAsync->iStatus);
+		}
+	else
+		{
+		iRecorderUtility->RecordControllerCustomCommandAsync(messageDest, function, *dataTo1, *dataTo2, iActiveCustomCommandAsync->iStatus);
+		}
+
+	iActiveCustomCommandAsync->Activate(aAsyncErrorIndex);
+	IncOutstanding();
+	CleanupStack::PopAndDestroy(2, dataTo1);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdRecordControllerCustomCommandSyncL(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+
+	TMMFMessageDestination		handleInfo(iRecorderControllerUid);
+	TMMFMessageDestinationPckg	messageDest(handleInfo);
+
+	TInt	function = 0;
+	GetIntFromConfig(aSection, KFunction(), function);
+
+	TBool	useDataFrom = EFalse;
+	GetBoolFromConfig(aSection, KUseDataFrom(), useDataFrom);
+
+	// reference to the first chunk of data
+	HBufC8*	dataTo1 = NULL;
+	TPtrC	dataTo1Str;
+	if (GetStringFromConfig(aSection, KDataTo1(), dataTo1Str))
+		{
+		dataTo1 = HBufC8::NewL(dataTo1Str.Length());
+		dataTo1->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo1 = HBufC8::NewL(0);
+		dataTo1->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo1);
+
+	// reference to the second chunk of data
+	HBufC8*	dataTo2 = NULL;
+	TPtrC	dataTo2Str;
+	if (GetStringFromConfig(aSection, KDataTo2(), dataTo2Str))
+		{
+		dataTo2 = HBufC8::NewL(dataTo2Str.Length());
+		dataTo2->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo2 = HBufC8::NewL(0);
+		dataTo2->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataTo2);
+
+	TInt					err = KErrNone;
+	TBuf8<KMaxdataFromText>	dataFromText;
+	if (useDataFrom)
+		{
+		err = iRecorderUtility->RecordControllerCustomCommandSync(messageDest, function, *dataTo1, *dataTo2, dataFromText);
+		}
+	else
+		{
+		err = iRecorderUtility->RecordControllerCustomCommandSync(messageDest, function, *dataTo1, *dataTo2);
+		}
+	if (err!=KErrNone)
+		{
+		ERR_PRINTF2(_L("CMdaAudioRecorderUtility::RecordControllerCustomCommandSync failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		if (useDataFrom)
+			{
+			INFO_PRINTF2(_L("DataFrom: %S"), &dataFromText);
+			}
+		}
+
+	CleanupStack::PopAndDestroy(2, dataTo1);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdRecordL(const TInt aAsyncErrorIndex)
+	{
+	iAsyncErrorIndex = aAsyncErrorIndex;
+	TRAPD(err, iRecorderUtility->RecordL());
+	if ( err==KErrNone )
+		{
+		INFO_PRINTF1(_L("Started recording"));
+		iRecording=ETrue;
+		IncOutstanding();
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Cannot start recording %S. Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdRecordTimeAvailable(const TDesC& aSection)
+	{
+	TTimeIntervalMicroSeconds			recTime = iRecorderUtility->RecordTimeAvailable();
+	INFO_PRINTF2(_L("Amount of recording time available to the current clip: %d"), recTime.Int64());
+
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+
+	TInt	expectedRecTime=0;
+	if (GetIntFromConfig(aSection, KRecTime(), expectedRecTime))
+		{
+		if (recTime.Int64() != expectedRecTime)
+			{
+			ERR_PRINTF3(_L("Record time available actual(%d)!=expected(%d)"),
+				recTime.Int64(), expectedRecTime);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdRegisterAudioResourceNotificationL(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+
+	// Notification registration specific data
+	HBufC8*	dataNotificationRegistration = NULL;
+	TPtrC	dataNotificationRegistrationStr;
+	if (GetStringFromConfig(aSection, KDataNotification(), dataNotificationRegistrationStr))
+		{
+		dataNotificationRegistration = HBufC8::NewL(dataNotificationRegistrationStr.Length());
+		dataNotificationRegistration->Des().Copy(dataNotificationRegistrationStr);
+		}
+	else
+		{
+		dataNotificationRegistration = HBufC8::NewL(0);
+		dataNotificationRegistration->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(dataNotificationRegistration);
+
+	TInt	inputUid;
+	if(GetHexFromConfig(aSection, KEventUID(), inputUid))
+		{
+		ERR_PRINTF2(_L("Read input id %d"), inputUid);
+
+		TUid	id = TUid::Uid(inputUid);
+
+		TInt	err = iRecorderUtility->RegisterAudioResourceNotification(*this, id, *dataNotificationRegistration);
+		if ( err != KErrNone )
+			{
+			ERR_PRINTF2(_L("RegisterAudioResourceNotification Error %d"), err);
+			SetError(err);
+			}
+		else
+			{
+			INFO_PRINTF2(_L("RegisterAudioResourceNotification OK, dataNotification = %s"), &dataNotificationRegistration);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("NotificationEventUid not set in ini file %S"), &KEventUID);
+		SetBlockResult(EFail);
+		}
+	CleanupStack::PopAndDestroy(1, dataNotificationRegistration);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdRegisterForAudioLoadingNotification()
+	{
+	iRecorderUtility->RegisterForAudioLoadingNotification(*this);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdRemoveMetaDataEntry(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt	metaDataEntryID=0;
+	GetIntFromConfig(aSection, KMetaDataEntryID(), metaDataEntryID);
+	TInt	err=iRecorderUtility->RemoveMetaDataEntry(metaDataEntryID);
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("RemoveMetaDataEntryL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdReplaceMetaDataEntryL(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+
+	TPtrC	metaDataEntryName;
+	if ( !GetStringFromConfig(aSection, KMetaDataEntryName(), metaDataEntryName) )
+		{
+		ERR_PRINTF2(_L("No %S"), &tempStore);
+		SetBlockResult(EFail);
+		}
+
+	TPtrC	metaDataEntryValue;
+	if ( !GetStringFromConfig(aSection, KMetaDataEntryValue(), metaDataEntryValue) )
+		{
+		ERR_PRINTF2(_L("No %S"), &tempStore);
+		SetBlockResult(EFail);
+		}
+
+	CMMFMetaDataEntry*	metaDataEntry = NULL;
+	TRAPD(err, metaDataEntry=CMMFMetaDataEntry::NewL(metaDataEntryName, metaDataEntryValue));
+	CleanupStack::PushL(metaDataEntry);
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("Cannot create CMMFMetaDataEntry - Error %d"), err);
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		TInt	metaDataEntryIndex=0;
+		GetIntFromConfig(aSection, KMetaDataEntryIndex(), metaDataEntryIndex);
+		TRAPD(err, iRecorderUtility->ReplaceMetaDataEntryL(metaDataEntryIndex, *metaDataEntry));
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("ReplaceMetaDataEntryL Error %d"), err);
+			SetError(err);
+			}
+		}
+	CleanupStack::PopAndDestroy(metaDataEntry);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetAudioDeviceMode(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	CMdaAudioRecorderUtility::TDeviceMode deviceMode = CMdaAudioRecorderUtility::EDefault;
+	TPtrC	deviceModeStr;
+	if ( GetStringFromConfig(aSection, KTDeviceMode(), deviceModeStr) )
+		{
+		if ( !ConvertToTDeviceMode(deviceModeStr, deviceMode) )
+			{
+			TInt	invalidDeviceMode;
+			if(!GetIntFromConfig(aSection, KInvalidTDeviceMode(), invalidDeviceMode))
+				{
+				ERR_PRINTF1(_L("Invalid Device Mode not in ini file"));
+				SetBlockResult(EFail);
+				}
+
+			deviceMode=CMdaAudioRecorderUtility::TDeviceMode(invalidDeviceMode);
+			}
+		iRecorderUtility->SetAudioDeviceMode(deviceMode);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetDestinationBitRateL(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt	destinationBitRate=0;
+	GetIntFromConfig(aSection, KDestinationBitRate(), destinationBitRate);
+	TRAPD(err, iRecorderUtility->SetDestinationBitRateL(destinationBitRate));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetDestinationBitRateL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetDestinationDataTypeL(const TDesC& aSection)
+	{
+	TFourCC	val;
+	if ( CT_MMUtil::ReadFourCC(*this, aSection, val) )
+		{
+		TRAPD(err, iRecorderUtility->SetDestinationDataTypeL(val));
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("SetDestinationDataTypeL Error %d"), err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Value to set not in ini file"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetDestinationFormatL(const TDesC& aSection)
+	{
+	TUid	formatUid = TUid::Null();
+	TInt	destinationFormat = 0;
+	if(GetHexFromConfig(aSection, KFormat(), destinationFormat))
+		{
+		formatUid=TUid::Uid(destinationFormat);
+		INFO_PRINTF3(_L("Format input from ini file is : %d. and destination format %d"), formatUid.iUid,destinationFormat);
+		}
+
+	
+	TRAPD(err, iRecorderUtility->SetDestinationFormatL(formatUid));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetDestinationFormatL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetDestinationNumberOfChannelsL(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt	destinationChannels=0;
+	GetIntFromConfig(aSection, KChannels(), destinationChannels);
+	TRAPD(err, iRecorderUtility->SetDestinationNumberOfChannelsL(destinationChannels));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetDestinationNumberOfChannelsL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetDestinationSampleRateL(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt	destinationSampleRate=0;
+	GetIntFromConfig(aSection, KSampleRate(), destinationSampleRate);
+	TRAPD(err, iRecorderUtility->SetDestinationSampleRateL(destinationSampleRate));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetDestinationSampleRateL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetGain(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt	gain=0;
+	GetIntFromConfig(aSection, KGain(), gain);
+	iRecorderUtility->SetGain(gain);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetMaxWriteLength(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt	length=KMdaClipLocationMaxWriteLengthNone;
+	GetIntFromConfig(aSection, KWriteLength(), length);
+	iRecorderUtility->SetMaxWriteLength(length);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetPlayWindow(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt startseconds=0;
+	TInt endseconds=0;
+	GetIntFromConfig(aSection, KStartSeconds(), startseconds);
+	const TTimeIntervalMicroSeconds &start=TTimeIntervalMicroSeconds((TInt64)startseconds);
+	GetIntFromConfig(aSection, KEndSeconds(), endseconds);
+	const TTimeIntervalMicroSeconds &end=TTimeIntervalMicroSeconds((TInt64)startseconds);
+	iRecorderUtility->SetPlayWindow(start,end);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetPlaybackBalance(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt	balance=KMMFBalanceCenter;
+	GetIntFromConfig(aSection, KBalance(), balance);
+	TInt err = iRecorderUtility->SetPlaybackBalance(balance);
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF3(_L("SetPlaybackBalance(%d) Error %d"), balance, err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetPosition(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt	seconds=0;
+	GetIntFromConfig(aSection, KSeconds(), seconds);
+	INFO_PRINTF2(_L("Position(%d)"), seconds);
+	const TTimeIntervalMicroSeconds &position=TTimeIntervalMicroSeconds((TInt64)seconds);
+	iRecorderUtility->SetPosition(position);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetPriority(const TDesC& aSection)
+	{
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	TInt	priority;
+	if ( !CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		priority=EMdaPriorityMin;
+    	}
+
+	iRecorderUtility->SetPriority(priority, priorityPreference);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetRecordBalance(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt	balance=KMMFBalanceCenter;
+	GetIntFromConfig(aSection, KBalance(), balance);
+	TInt err = iRecorderUtility->SetRecordBalance(balance);
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF3(_L("SetRecordBalance(%d) Error %d"), balance, err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetRepeats(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt	seconds=0;
+	GetIntFromConfig(aSection, KSeconds(), seconds);
+	const TTimeIntervalMicroSeconds &trailingSilence=TTimeIntervalMicroSeconds((TInt64)seconds);
+	TInt repeatNumberOfTimes=0;
+	GetIntFromConfig(aSection, KNumberOfTimes(), repeatNumberOfTimes);
+	iRecorderUtility->SetRepeats(repeatNumberOfTimes, trailingSilence);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetThreadPriorityPlayback(const TDesC& aSection)
+	{
+	TThreadPriority	threadPriority;
+	if ( !CT_MMUtil::ReadThreadPriority(*this, aSection, threadPriority) )
+		{
+		threadPriority=EPriorityNormal;
+		}
+
+	TInt	err = iRecorderUtility->SetThreadPriorityPlayback(threadPriority);
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioRecorderUtility::SetThreadPriorityPlayback failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetThreadPriorityRecord(const TDesC& aSection)
+	{
+	TThreadPriority	threadPriority;
+	if ( !CT_MMUtil::ReadThreadPriority(*this, aSection, threadPriority) )
+		{
+		threadPriority=EPriorityNormal;
+		}
+
+	TInt	err = iRecorderUtility->SetThreadPriorityRecord(threadPriority);
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMdaAudioRecorderUtility::SetThreadPriorityRecord failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetVolume(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt	volume=0;
+	GetIntFromConfig(aSection, KVolume(), volume);
+	INFO_PRINTF2(_L("SetVolume(%d)"), volume);
+	iRecorderUtility->SetVolume(volume);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSetVolumeRamp(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt	seconds=0;
+	GetIntFromConfig(aSection, KSeconds(), seconds);
+	INFO_PRINTF2(_L("SetVolumeRamp(%d)"), seconds);
+	const TTimeIntervalMicroSeconds &rampDuration=TTimeIntervalMicroSeconds((TInt64)seconds);
+ 	iRecorderUtility->SetVolumeRamp(rampDuration);
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdSourceBitRateL(const TDesC& aSection)
+	{
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TInt	sourcebitRate=0;
+	TRAPD(err, sourcebitRate=iRecorderUtility->SourceBitRateL());
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SourceBitRateL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("SourceBitRateL=%d"), sourcebitRate);
+		TInt	expectedSourceBitRate=0;
+		if(GetIntFromConfig(aSection, KBitRate(), expectedSourceBitRate))
+			{
+			if(sourcebitRate != expectedSourceBitRate)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("SourcebitRate(%d) != expectedSourceBitRate(%d)"), sourcebitRate, expectedSourceBitRate);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdState(const TDesC& aSection)
+	{
+	TInt	state = iRecorderUtility->State();
+	INFO_PRINTF2(_L("Current utility state: %S."), &GetState(state));
+
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	TPtrC	expectedStateStr;
+	if (GetStringFromConfig(aSection, KState(), expectedStateStr))
+		{
+		if (GetState(state) != expectedStateStr)
+			{
+			ERR_PRINTF3(_L("State actual(%S)!=expected(%S)"),	&GetState(state), &expectedStateStr);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdStop()
+	{
+	iRecorderUtility->Stop();
+	if ( iRecording )
+		{
+		iRecording=EFalse;
+		DecOutstanding();
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdWillResumePlay()
+	{
+	TInt	err=iRecorderUtility->WillResumePlay();
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("WillResumePlay Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::DoCmdUseSharedHeap()
+	{
+	// Only if UseSharedHeap() is supported
+	#if (defined CMDA_AUDIO_RECORDER_UTILITY_USED_SHARED_HEAP)
+		iRecorderUtility->UseSharedHeap();
+	#else
+		INFO_PRINTF1(_L("CMdaAudioRecorderUtility::UseSharedHeap is not supported in this build."));
+	#endif
+	}
+
+/**
+Get Codec by String
+@internalComponent
+@return N/A
+@param aFormatStr, &aMdaPackage
+@pre N/A
+@post N/A
+*/
+TBool CT_MMDataMdaAudioRecorderUtility::GetCodecL(const TDesC& aCodecStr, TMdaPackage* &aMdaPackage)
+	{
+	TBool	ret = ETrue;
+
+	if (aCodecStr == KPcmWavCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaPcmWavCodec();
+		}
+	else if (aCodecStr == KAlawWavCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaAlawWavCodec();
+		}
+	else if (aCodecStr == KMulawWavCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaMulawWavCodec();
+		}
+	else if (aCodecStr == KImaAdpcmWavCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaImaAdpcmWavCodec();
+		}
+	else if (aCodecStr == KAuCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaAuCodec();
+		}
+	else if (aCodecStr == KPcm8BitAuCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaPcm8BitAuCodec();
+		}
+	else if (aCodecStr == KPcm16BitAuCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaPcm16BitAuCodec();
+		}
+	else if (aCodecStr == KAlawAuCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaAlawAuCodec();
+		}
+	else if (aCodecStr == KMulawAuCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaMulawAuCodec();
+		}
+	else if (aCodecStr == KRawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaRawAudioCodec();
+		}
+	else if (aCodecStr == KMulawRawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaMulawRawAudioCodec();
+		}
+	else if (aCodecStr == KAlawRawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaAlawRawAudioCodec();
+		}
+	else if (aCodecStr == KS8PcmRawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaS8PcmRawAudioCodec();
+		}
+	else if (aCodecStr == KU8PcmRawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaU8PcmRawAudioCodec();
+		}
+	else if (aCodecStr == KSL16RawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaSL16RawAudioCodec();
+		}
+	else if (aCodecStr == KSB16RawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaSB16RawAudioCodec();
+		}
+	else if (aCodecStr == KUL16RawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaUL16RawAudioCodec();
+		}
+	else if (aCodecStr == KUB16RawAudioCodec)
+		{
+		aMdaPackage = new(ELeave) TMdaUB16RawAudioCodec();
+		}
+	else if (aCodecStr == KInvalidCodec)
+		{
+		// Invalid codec package
+		aMdaPackage = new(ELeave) TMdaAudioDataSettings();
+		}
+	else
+		{
+		ret = EFalse;
+		}
+
+	return ret;
+	}
+
+void CT_MMDataMdaAudioRecorderUtility::GetAudioSettingsL(const TDesC& aAudioSettingsStr, const TDesC& aSection, TMdaPackage* &aMdaPackage)
+	{
+	TPtrC	audioSettingsStr;
+	if (GetStringFromConfig(aSection, aAudioSettingsStr, audioSettingsStr))
+		{
+		if (GetStringFromConfig(aSection, KInvalidAudioSettings(), audioSettingsStr))
+			{
+			// Invalid audiosettings package
+			aMdaPackage = new(ELeave) TMdaPcmWavCodec();
+			}
+		else
+			{
+			aMdaPackage = new(ELeave) TMdaAudioDataSettings();
+			CT_MMUtil::ReadAudioDataSettings(*this, *((TMdaAudioDataSettings*)aMdaPackage), aSection);
+			}
+		}
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/src/T_MdaAudioRecorderUtilityServer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MdaAudioRecorderUtilityServer.h"
+
+CT_MdaAudioRecorderUtilityServer* CT_MdaAudioRecorderUtilityServer::NewL()
+	{
+	CT_MdaAudioRecorderUtilityServer* server = new (ELeave) CT_MdaAudioRecorderUtilityServer();
+	CleanupStack::PushL(server);
+	server->ConstructL();
+	CleanupStack::Pop(server);
+	return server;
+	}
+	
+ LOCAL_C void MainL()
+/**
+ * Secure variant
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+	{
+#if (defined __DATA_CAGING__)
+	RProcess().DataCaging(RProcess::EDataCagingOn);
+	RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+	CActiveScheduler*				sched=NULL;
+	sched=new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(sched);
+	CT_MdaAudioRecorderUtilityServer*	server = NULL;
+	// Create the CTestServer derived server
+	TRAPD(err,server = CT_MdaAudioRecorderUtilityServer::NewL());
+	if(!err)
+		{
+		// Sync with the client and enter the active scheduler
+		RProcess::Rendezvous(KErrNone);
+		sched->Start();
+		}
+	delete server;
+	delete sched;
+	}
+	
+ GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on process exit
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ */
+	{
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup = CTrapCleanup::New();
+	if(cleanup == NULL)
+		{
+		return KErrNoMemory;
+		}
+#if (defined TRAP_IGNORE)
+	TRAP_IGNORE(MainL());
+#else
+	TRAPD(err,MainL());
+#endif
+	delete cleanup;
+	__UHEAP_MARKEND;
+	return KErrNone;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioRecorderUtility/testdata/MM-MMF-ACLNT-RCRDR-PublicAPI.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1288 @@
+[include]
+file1=\multimedia\t_multimedia.ini
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0001-001-NewL_command01]
+priority=EMdaPriorityMax
+prioritypreference=Quality
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0002-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0003-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0004-001-OpenFileL_command02]
+tmmsource=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0005-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0006-001-GetVolume_command04]
+volume=1
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0006-001-GetVolume_command06]
+volume=16000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0006-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0006-001-SetVolume_command03]
+volume=1
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0006-001-SetVolume_command05]
+volume=16000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0007-001-SetPriority_command02]
+priority=EMdaPriorityMin
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0007-001-SetPriority_command03]
+priority=EMdaPriorityMax
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0008-001-AddMetaDataEntryL_command04]
+metadataentryvalue=<Symbian (c) 2002>
+metadataentryname=<Copyright>
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0008-001-GetMetaDataEntryL_command05]
+metadataentryindex=0
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0008-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0009-001-OpenDesL_command02]
+const=TRUE
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0011-001-OpenDesL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0012-001-GetGain_command05]
+gain=1
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0012-001-GetGain_command07]
+gain=-1
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0012-001-GetGain_command09]
+gain=0
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0012-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0012-001-SetGain_command04]
+gain=1
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0012-001-SetGain_command06]
+gain=1000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0012-001-SetGain_command08]
+gain=0
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0013-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0014-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0015-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+tmmsource=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0016-001-NewL_command01]
+priority=EMdaPriorityMax
+prioritypreference=Quality
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0016-001-OpenUrlL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+tdesc=file://\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0017-001-OpenUrlL_command02]
+tdesc=file://\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-GetRecordBalance_command04]
+balance=50
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-GetRecordBalance_command06]
+balance=-50
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-GetRecordBalance_command08]
+balance=100
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-GetRecordBalance_command10]
+balance=-100
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-GetRecordBalance_command12]
+balance=0
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-SetRecordBalance_command03]
+balance=50
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-SetRecordBalance_command05]
+balance=-50
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-SetRecordBalance_command07]
+balance=100
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-SetRecordBalance_command09]
+balance=-100
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0018-001-SetRecordBalance_command11]
+balance=0
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0019-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+tmmsource=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0020-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0021-001-AddMetaDataEntryL_command03]
+metadataentryvalue=<Symbian (c) 2005>
+metadataentryname=<Copyright>
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0021-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0021-001-ReplaceMetaDataEntryL_command04]
+metadataentryvalue=<Symbian (c) 2006>
+metadataentryindex=0
+metadataentryname=<Copyright>
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0022-001-AddMetaDataEntryL_command03]
+metadataentryvalue=<Symbian (c) 2005>
+metadataentryname=<Copyright>
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0022-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0022-001-RemoveMetaDataEntry_command04]
+metadataentryid=0
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0023-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+new=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\record3.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0023-001-SetGain_command03]
+gain=10
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0024-001-Duration_command03]
+duration=5569000
+usestate=TRUE
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0024-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0025-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0025-001-SetPosition_command03]
+seconds=2
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0026-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0026-001-SetPlayWindow_command04]
+endseconds=4
+startseconds=2
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0027-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0027-001-SetRepeats_command03]
+numberoftimes=5
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0028-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0029-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0029-001-SetVolumeRamp_command05]
+seconds=2
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0030-001-SetPriority_command02]
+priority=EMdaPriorityMin
+prioritypreference=Quality
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0030-001-SetPriority_command03]
+priority=EMdaPriorityMax
+prioritypreference=Time
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0030-001-SetPriority_command04]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0030-001-SetPriority_command05]
+priority=EMdaPriorityNormal
+prioritypreference=None
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-GetPlaybackBalance_command04]
+balance=50
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-GetPlaybackBalance_command06]
+balance=-50
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-GetPlaybackBalance_command08]
+balance=100
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-GetPlaybackBalance_command10]
+balance=-100
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-GetPlaybackBalance_command12]
+balance=0
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-SetPlaybackBalance_command03]
+balance=50
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-SetPlaybackBalance_command05]
+balance=-50
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-SetPlaybackBalance_command07]
+balance=100
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-SetPlaybackBalance_command09]
+balance=-100
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0031-001-SetPlaybackBalance_command11]
+balance=0
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command03]
+threadpriority=EPriorityMuchLess
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command04]
+threadpriority=EPriorityLess
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command05]
+threadpriority=EPriorityNormal
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command06]
+threadpriority=EPriorityMore
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command07]
+threadpriority=EPriorityMuchMore
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command08]
+threadpriority=EPriorityRealTime
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command09]
+threadpriority=EPriorityAbsoluteVeryLow
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command10]
+threadpriority=EPriorityAbsoluteLow
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command11]
+threadpriority=EPriorityAbsoluteBackground
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command12]
+threadpriority=EPriorityAbsoluteForeground
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0032-001-SetThreadPriorityPlayback_command13]
+threadpriority=EPriorityAbsoluteHigh
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command03]
+threadpriority=EPriorityMuchLess
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command04]
+threadpriority=EPriorityLess
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command05]
+threadpriority=EPriorityNormal
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command06]
+threadpriority=EPriorityMore
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command07]
+threadpriority=EPriorityMuchMore
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command08]
+threadpriority=EPriorityRealTime
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command09]
+threadpriority=EPriorityAbsoluteVeryLow
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command10]
+threadpriority=EPriorityAbsoluteLow
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command11]
+threadpriority=EPriorityAbsoluteBackground
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command12]
+threadpriority=EPriorityAbsoluteForeground
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0033-001-SetThreadPriorityRecord_command13]
+threadpriority=EPriorityAbsoluteHigh
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0034-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0034-001-State_command03]
+state=EOpen
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0034-001-State_command06]
+state=EPlaying
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0034-001-State_command08]
+state=EOpen
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0035-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0036-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+new=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\record.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0037-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0038-001-SetAudioDeviceMode_command02]
+devicemode=KTelephonyOrLocal
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0038-001-SetAudioDeviceMode_command03]
+devicemode=KTelephonyMixed
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0038-001-SetAudioDeviceMode_command04]
+devicemode=KTelephonyNonMixed
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0038-001-SetAudioDeviceMode_command05]
+devicemode=KLocal
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0038-001-SetAudioDeviceMode_command06]
+devicemode=KTelephonyOrLocal
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-DestinationDataTypeL_command06]
+fourcc=KMMFFourCCCodePCMU8
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-DestinationDataTypeL_command08]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-DestinationDataTypeL_command10]
+fourcc=KMMFFourCCCodeIMAD
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-DestinationDataTypeL_command12]
+fourcc=KMMFFourCCCodeALAW
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-DestinationDataTypeL_command14]
+fourcc=KMMFFourCCCodeMuLAW
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-DestinationDataTypeL_command16]
+fourcc=KMMFFourCCCodeGSM610
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\nonexist.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-SetDestinationDataTypeL_command05]
+fourcc=KMMFFourCCCodePCMU8
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-SetDestinationDataTypeL_command07]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-SetDestinationDataTypeL_command09]
+fourcc=KMMFFourCCCodeIMAD
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-SetDestinationDataTypeL_command11]
+fourcc=KMMFFourCCCodeALAW
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-SetDestinationDataTypeL_command13]
+fourcc=KMMFFourCCCodeMuLAW
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0039-001-SetDestinationDataTypeL_command15]
+fourcc=KMMFFourCCCodeGSM610
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0040-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\nonexist.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command05]
+samplerate=96000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command07]
+samplerate=88200
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command09]
+samplerate=64000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command11]
+samplerate=48000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command13]
+samplerate=44100
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command15]
+samplerate=32000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command17]
+samplerate=24000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command19]
+samplerate=22050
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command21]
+samplerate=16000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command23]
+samplerate=12000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command25]
+samplerate=11025
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-DestinationSampleRateL_command27]
+samplerate=8000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\nonexist.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command04]
+samplerate=96000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command06]
+samplerate=88200
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command08]
+samplerate=64000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command10]
+samplerate=48000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command12]
+samplerate=44100
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command14]
+samplerate=32000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command16]
+samplerate=24000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command18]
+samplerate=22050
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command20]
+samplerate=16000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command22]
+samplerate=12000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command24]
+samplerate=11025
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0041-001-SetDestinationSampleRateL_command26]
+samplerate=8000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0042-001-DestinationNumberOfChannelsL_command05]
+channels=2
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0042-001-DestinationNumberOfChannelsL_command07]
+channels=1
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0042-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\nonexist.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0042-001-SetDestinationNumberOfChannelsL_command04]
+channels=2
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0042-001-SetDestinationNumberOfChannelsL_command06]
+channels=1
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0043-001-DestinationFormatL_command05]
+format          ={default_uids, kmmfuidformatwavwrite}
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0043-001-DestinationFormatL_command07]
+format          ={default_uids, kmmfuidformatrawwrite}
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0043-001-OpenFileL_command02]
+filename                =\multimedia\T_MdaAudioRecorderUtility\nonexist.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0043-001-SetDestinationFormatL_command04]
+format          ={default_uids, kmmfuidformatwavwrite}
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0043-001-SetDestinationFormatL_command06]
+format          ={default_uids, kmmfuidformatrawwrite}
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0044-001-Duration_command05]
+usestate=FALSE
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0044-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\temp_pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0044-001-SetPosition_command03]
+seconds=2
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0045-001-Duration_command08]
+usestate=FALSE
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0045-001-OpenFileL_command02]
+new=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\record.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0045-001-SetGain_command03]
+gain=10
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0046-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\record.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0047-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\record.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0047-001-SetPlayWindow_command03]
+endseconds=4
+startseconds=2
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0049-001-CancelRegisterAudioResourceNotification_command03]
+eventuid=101FD9F2
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0049-001-RegisterAudioResourceNotification_command02]
+eventuid=101FD9F2
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0050-001-GetDRMCustomCommand_command02]
+expectnull=TRUE
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0051-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0051-001-PlayControllerCustomCommandAsync_command03]
+function=7
+useDataFrom=TRUE
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0052-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0052-001-PlayControllerCustomCommandAsync_command03]
+function=7
+useDataFrom=FALSE
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0053-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0053-001-PlayControllerCustomCommandSync_command03]
+function=7
+useDataFrom=TRUE
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0054-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0054-001-PlayControllerCustomCommandSync_command03]
+function=7
+useDataFrom=FALSE
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0055-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0055-001-RecordControllerCustomCommandAsync_command03]
+function=7
+useDataFrom=TRUE
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0056-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0056-001-RecordControllerCustomCommandAsync_command03]
+function=7
+useDataFrom=FALSE
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0057-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0057-001-RecordControllerCustomCommandSync_command03]
+function=7
+useDataFrom=TRUE
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0058-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0058-001-RecordControllerCustomCommandSync_command03]
+function=7
+useDataFrom=FALSE
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0059-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\record2.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0059-001-SetGain_command03]
+gain=1000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0060-001-OpenL_command02]
+audioformat     =       WavClipFormat
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0061-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0062-001-OpenFileL_command02]
+rfile=TRUE
+new=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\nonexist.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0062-001-SetDestinationDataTypeL_command03]
+fourcc=-9999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0063-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\nonexist.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0063-001-SetDestinationBitRateL_command03]
+fourcc=-100
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0064-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\nonexist.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0064-001-SetDestinationNumberOfChannelsL_command03]
+channels=100
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0065-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0065-001-SetDestinationFormatL_command04]
+audioformat	=	InvalidClipFormat
+format            =     {default_uids, kinvaliduid}
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0066-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0066-001-SetDestinationDataTypeL_command03]
+fourcc=KMMFFourCCCodePCMU8
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0067-001-OpenFileL_command02]
+filename=\wrongfolder\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0068-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\bad?file*.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0069-001-OpenFileL_command02]
+tmmsource=TRUE
+filename=\wrongfolder\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0070-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\wrongfolder\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0071-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\bad?file*.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0072-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+tmmsource=TRUE
+filename=\wrongfolder\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0073-001-OpenFileL_command02]
+fourcc=-9999
+new=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\nonexist.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0074-001-OpenFileL_command02]
+fourcc=-9999
+rfile=TRUE
+new=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\nonexist.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0075-001-OpenFileL_command02]
+fourcc=-9999
+tmmsource=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\nonexist.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0076-001-SetPriority_command02]
+priority=-9999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0076-001-SetPriority_command03]
+prioritypreference=-9999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0077-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0077-001-SetPlayWindow_command03]
+endseconds=-9999
+startseconds=2000
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0078-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0078-001-SetPlayWindow_command03]
+endseconds=4000
+startseconds=-9999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0079-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\nonexist.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0079-001-SetDestinationSampleRateL_command03]
+samplerate=9999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0080-001-OpenL_command02]
+audioformat     =       WavClipFormat
+filename=\wrongfolder\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0081-001-OpenL_command02]
+audioformat            =     InvalidClipFormat
+format		=	{default_uids, kinvaliduid}
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0082-001-OpenL_command02]
+audioformat     =       WavClipFormat
+codec=InvalidCodec
+filename=\multimedia\T_MdaAudioRecorderUtility\nonexist.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0083-001-OpenL_command02]
+audiosettings=-9999
+invalidaudiosettings=-9999
+audioformat     =       WavClipFormat
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0084-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0084-001-SetVolume_command03]
+volume=-9999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0084-001-SetVolume_command05]
+volume=999999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0085-001-GetGain_command04]
+gain=0
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0085-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0085-001-SetGain_command03]
+gain=-9999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0085-001-SetGain_command05]
+gain=99999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0086-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0086-001-SetVolumeRamp_command03]
+delay=500000
+seconds=9999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0087-001-OpenUrlL_command02]
+fourcc=-9999
+tdesc=file://\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0088-001-OpenUrlL_command02]
+mimetype=-9999
+tdesc=file://\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0089-001-OpenUrlL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+tdesc=file://\wrongfolder\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0090-001-OpenUrlL_command02]
+tdesc=file://\wrongfolder\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0091-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0091-001-RemoveMetaDataEntry_command03]
+metadataentryid=1
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0092-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0092-001-ReplaceMetaDataEntryL_command03]
+metadataentryvalue=<Symbian (c) 2006>
+metadataentryindex=0
+metadataentryname=<Copyright>
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0098-001-AddMetaDataEntryL_command02]
+metadataentryvalue=<Symbian (c) 2006>
+metadataentryname=<Copyright>
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0100-001-Duration_command02]
+duration=0
+usestate=FALSE
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0101-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\corrupted.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0102-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\corrupted.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0103-001-OpenFileL_command02]
+tmmsource=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\corrupted.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0104-001-OpenL_command02]
+audioformat     =       WavClipFormat
+filename=\multimedia\T_MdaAudioRecorderUtility\corrupted.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0105-001-OpenUrlL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+tdesc=file://\multimedia\T_MdaAudioRecorderUtility\corrupted.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0106-001-OpenUrlL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+tdesc=file://\multimedia\T_MdaAudioRecorderUtility\corrupted.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0107-001-OpenDesL_command02]
+const=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\corrupted.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0108-001-OpenDesL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\corrupted.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0109-001-OpenDesL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\corrupted.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0110-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0110-001-SetGain_command03]
+gain=10
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0111-001-OpenFileL_command02]
+rfile=TRUE
+new=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\record2.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0111-001-SetGain_command03]
+gain=10
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0112-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0113-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0114-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\nonexist.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0114-001-SetMaxWriteLength_command03]
+writelength=-1
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0115-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+new=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\record4.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0115-001-SetGain_command03]
+gain=10
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0115-001-SetMaxWriteLength_command04]
+writelength=1
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0116-001-SetAudioDeviceMode_command02]
+tdevicemode=-9999
+invalidtdevicemode=-9999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0118-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0118-001-SetPosition_command03]
+seconds=9999999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0119-001-SetPosition_command02]
+seconds=2
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0120-001-SetRepeats_command02]
+numberoftimes=-9999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0121-001-RemoveMetaDataEntry_command02]
+metadataentryid=1
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0122-001-Duration_command02]
+duration=0
+usestate=TRUE
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0123-001-AddMetaDataEntryL_command04]
+metadataentryvalue=<Symbian (c) 2006>
+metadataentryname=<Copyright>
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0123-001-GetMetaDataEntryL_command05]
+metadataentryindex=-9999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0123-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0124-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0124-001-SetPlaybackBalance_command03]
+balance=-9999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0125-001-OpenFileL_command02]
+rfile=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0125-001-SetRecordBalance_command03]
+balance=-9999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0126-001-OpenFileL_command02]
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0126-001-SetThreadPriorityPlayback_command03]
+threadpriority=-9999999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0127-001-OpenFileL_command02]
+rfile=TRUE
+new=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\nonexist.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0127-001-SetThreadPriorityRecord_command03]
+threadpriority=-999999
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0128-001-OpenFileL_command02]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+filename=\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0129-001-OpenFileL_command03]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+new=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\record3.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0129-001-OpenFileL_command09]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+new=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\record3.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0129-001-OpenFileL_command15]
+fourcc={default_mmf, fourcc_rcrdrdatatype}
+new=TRUE
+filename=\multimedia\T_MdaAudioRecorderUtility\record3.wav
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0129-001-SetGain_command04]
+gain=10
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0129-001-SetGain_command10]
+gain=10
+
+
+[MM-MMF-ACLNT-RCRDR-PublicAPI-0129-001-SetGain_command16]
+gain=10
+
+
+[mdaaudiorecorderutility1]
+name=mdaaudiorecorderutility1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/group/T_MdaAudioToneUtility.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+TARGET			t_mdaaudiotoneutility.exe
+TARGETTYPE		exe
+UID				0x1000007A 0x20000F79
+VENDORID		0x70000001
+
+CAPABILITY		WriteUserData ReadUserData UserEnvironment MultimediaDD
+
+SOURCEPATH		../src
+
+SOURCE			../../../common/src/T_MMUtil.cpp
+SOURCE			../../../common/src/DataWrapperBase.cpp
+
+SOURCE			T_MdaAudioToneUtilityServer.cpp
+SOURCE			T_MMDataAudioToneUtility.cpp
+
+USERINCLUDE		../inc
+USERINCLUDE		../../../common/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE	/epoc32/include/test
+
+LIBRARY			euser.lib
+LIBRARY			efsrv.lib
+LIBRARY			mediaclient.lib
+LIBRARY			testexecuteutils.lib
+LIBRARY			testexecutelogclient.lib
+LIBRARY			bafl.lib
+LIBRARY         mediaclientaudio.lib
+LIBRARY			imageconversion.lib
+LIBRARY			mmfcontrollerframework.lib
+LIBRARY			iniparser.lib
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,42 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTEXPORTS
+t_mdaaudiotoneutility.iby                           /epoc32/rom/include/t_mdaaudiotoneutility.iby
+t_mdaaudiotoneutility_binaries.iby                  /epoc32/rom/include/t_mdaaudiotoneutility_binaries.iby
+t_mdaaudiotoneutility_testdata.iby                  /epoc32/rom/include/t_mdaaudiotoneutility_testdata.iby
+
+../pkg/T_MdaAudioToneUtility.pkg                    /epoc32/pkg/t_mdaaudiotoneutility.pkg
+../pkg/tmdaaudiotoneutility.bat                     /epoc32/pkg/tmdaaudiotoneutility.bat
+../scripts/MM-MMF-ACLNT-TONE-PublicAPI.script       /epoc32/pkg/mm-mmf-aclnt-tone-publicapi.script
+
+../testdata/MM-MMF-ACLNT-TONE-PublicAPI.ini         /epoc32/pkg/mm-mmf-aclnt-tone-publicapi.ini
+../../../../testdata/mmf/T_MdaAudioToneUtility/sequence1.sqn                           /epoc32/pkg/t_audiotoneutility/sequence1.sqn
+../../../../testdata/mmf/T_MdaAudioToneUtility/sequence2.sqn                           /epoc32/pkg/t_audiotoneutility/sequence2.sqn
+../../../../testdata/mmf/T_MdaAudioToneUtility/badsequence.sqn                         /epoc32/pkg/t_audiotoneutility/badsequence.sqn
+
+
+../scripts/setup-MM-MMF-ACLNT-TONE-PublicAPI.script z:/multimedia/setup-mm-mmf-aclnt-tone-publicapi.script
+../scripts/MM-MMF-ACLNT-TONE-PublicAPI.script       z:/multimedia/mm-mmf-aclnt-tone-publicapi.script
+
+../testdata/MM-MMF-ACLNT-TONE-PublicAPI.ini         z:/multimedia/mm-mmf-aclnt-tone-publicapi.ini
+../../../../testdata/mmf/T_MdaAudioToneUtility/sequence1.sqn                           z:/multimedia/t_audiotoneutility/sequence1.sqn
+../../../../testdata/mmf/T_MdaAudioToneUtility/sequence2.sqn                           z:/multimedia/t_audiotoneutility/sequence2.sqn
+../../../../testdata/mmf/T_MdaAudioToneUtility/badsequence.sqn                         z:/multimedia/t_audiotoneutility/badsequence.sqn
+
+PRJ_TESTMMPFILES
+T_MdaAudioToneUtility.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/group/t_mdaaudiotoneutility.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,24 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIOTONEUTILITY_IBY__)
+#define __T_MDAAUDIOTONEUTILITY_IBY__
+
+#include <t_mdaaudiotoneutility_binaries.iby>
+#include <t_mdaaudiotoneutility_testdata.iby>
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/group/t_mdaaudiotoneutility_binaries.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIOTONEUTILITY_BINARIES_IBY__)
+#define __T_MDAAUDIOTONEUTILITY_BINARIES_IBY__
+
+#include <testexecute.iby>
+
+#if (!defined EKA2)
+file=ABI_DIR\BUILD_DIR\t_mdaaudiotoneutility.exe 	system\libs\t_mdaaudiotoneutility.exe
+#else
+file=ABI_DIR\BUILD_DIR\t_mdaaudiotoneutility.exe 	system\bin\t_mdaaudiotoneutility.exe
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/group/t_mdaaudiotoneutility_testdata.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MDAAUDIOTONEUTILITY_TESTDATA_IBY__)
+#define __T_MDAAUDIOTONEUTILITY_TESTDATA_IBY__
+
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.script			multimedia\MM-MMF-ACLNT-TONE-PublicAPI.script
+
+data=EPOCROOT##Epoc32\data\z\multimedia\setup-MM-MMF-ACLNT-TONE-PublicAPI.script	multimedia\setup-MM-MMF-ACLNT-TONE-PublicAPI.script
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini				multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+data=EPOCROOT##Epoc32\data\z\multimedia\t_audiotoneutility\sequence1.sqn			multimedia\t_audiotoneutility\sequence1.sqn
+data=EPOCROOT##Epoc32\data\z\multimedia\t_audiotoneutility\sequence2.sqn			multimedia\t_audiotoneutility\sequence2.sqn
+data=EPOCROOT##Epoc32\data\z\multimedia\t_audiotoneutility\badsequence.sqn			multimedia\t_audiotoneutility\badsequence.sqn
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/inc/T_MMDataAudioToneUtility.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MM_DATA_AUDIO_TONE_UTILITY_H__)
+#define __T_MM_DATA_AUDIO_TONE_UTILITY_H__
+
+//	User Includes
+#include "DataWrapperBase.h"
+
+//	EPOC includes
+#include <mdaaudiotoneplayer.h>
+#include <imageconversion.h>
+
+/**
+CMdaAudioToneUtility API test commands
+@internalComponent
+*/
+class CT_MMDataAudioToneUtility : public CDataWrapperBase, private MMdaAudioToneObserver
+	{
+public:
+	~CT_MMDataAudioToneUtility();
+
+	static	CT_MMDataAudioToneUtility*	NewL();
+
+	virtual TAny*	GetObject();
+	virtual TBool	DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+
+protected:
+	CT_MMDataAudioToneUtility();
+
+	void	ConstructL();
+
+private:
+	// Class commands
+    inline void			DoCmdNewL(const TDesC& aSection);
+    inline void			DoCmdState(const TDesC& aSection);
+    inline void			DoCmdFixedSequenceCount(const TDesC& aSection);
+    inline void			DoCmdFixedSequenceName(const TDesC& aSection);
+    inline void			DoCmdSetDTMFLengths(const TDesC& aSection);
+    inline void			DoCmdCancelPrepare();
+    inline void			DoCmdPlay(const TInt aAsyncErrorIndex);
+    inline void			DoCmdCancelPlay();
+    inline void			DoCmdPrepareToPlayTone(const TDesC& aSection, const TInt aAsyncErrorIndex);
+    inline void			DoCmdPrepareToPlayDualTone(const TDesC& aSection, const TInt aAsyncErrorIndex);
+    inline void			DoCmdPrepareToPlayDTMFString(const TDesC& aSection, const TInt aAsyncErrorIndex);
+    inline void			DoCmdPrepareToPlayDesSequenceL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+    inline void			DoCmdPrepareToPlayFileSequenceL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+    inline void			DoCmdPrepareToPlayFixedSequence(const TDesC& aSection, const TInt aAsyncErrorIndex);
+    inline void			DoCmdSetPriority(const TDesC& aSection);
+    inline void			DoCmdMaxVolume(const TDesC& aSection);
+    inline void			DoCmdSetVolume(const TDesC& aSection);
+    inline void			DoCmdVolume(const TDesC& aSection);
+    inline void			DoCmdSetBalanceL(const TDesC& aSection);
+    inline void			DoCmdGetBalanceL(const TDesC& aSection);
+    inline void			DoCmdSetRepeats(const TDesC& aSection);
+    inline void			DoCmdSetVolumeRamp(const TDesC& aSection);
+    inline void			DoCmdCustomInterface(const TDesC& aSection);
+
+    // helper commands
+    inline void			DoCmdDestructor();
+
+    //  Helper methods
+	void				DestroyData();
+	static TBool		ConvertToState(const TDesC& aDesc, TMdaAudioToneUtilityState& aMdaAudioToneUtilityState);
+	static const TDesC&	GetStateString(TMdaAudioToneUtilityState& aMdaAudioToneUtilityState);
+	static TBool		ConvertToBalance(const TDesC& aDesc, TInt &aBalance);
+	static TBool		ConvertToRepeat(const TDesC& aDesc, TInt &aRepeat);
+
+	// from the MMdaAudioToneObserver interface
+    inline void			MatoPrepareComplete(TInt aError);
+    inline void			MatoPlayComplete(TInt aError);
+
+private:
+    CMdaAudioToneUtility*   iToneUtility;
+    RFs                     iFs;
+
+    TBool					iFileOpened;
+    RFile					iFile;
+   	TInt					iAsyncErrorIndex;
+	TBool					iPlaying;
+    };
+
+#endif /* __T_MM_DATA_AUDIO_TONE_UTILITY_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/inc/T_MdaAudioToneUtilityServer.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MDA_AUDIO_TONE_UTILITY_SERVER_H__)
+#define __T_MDA_AUDIO_TONE_UTILITY_SERVER_H__
+
+//	EPOC Includes
+#include <testblockcontroller.h>
+#include <testserver2.h>
+
+class CT_MdaAudioToneUtilityServer : public CTestServer2
+	{
+private:
+	class CT_MdaAudioToneUtilityBlock : public CTestBlockController
+		{
+	public:
+		inline CT_MdaAudioToneUtilityBlock();
+		inline ~CT_MdaAudioToneUtilityBlock();
+
+		inline CDataWrapper*	CreateDataL(const TDesC& aData);
+		};
+
+public:
+	inline ~CT_MdaAudioToneUtilityServer();
+
+	inline void	DeleteActiveSchedulerL();
+
+	static CT_MdaAudioToneUtilityServer*	NewL();
+
+	inline CTestBlockController*	CreateTestBlock();
+
+protected:
+	inline CT_MdaAudioToneUtilityServer();
+	};
+
+#include "T_MdaAudioToneUtilityServer.inl"
+
+#endif /* __T_MDA_AUDIO_TONE_UTILITY_SERVER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/inc/T_MdaAudioToneUtilityServer.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataAudioToneUtility.h"
+
+_LIT(KT_MdaAudioToneUtilityWrapper,           "CMdaAudioToneUtility");
+
+CT_MdaAudioToneUtilityServer::CT_MdaAudioToneUtilityBlock::CT_MdaAudioToneUtilityBlock()
+:	CTestBlockController()
+	{
+	}
+
+CT_MdaAudioToneUtilityServer::CT_MdaAudioToneUtilityBlock::~CT_MdaAudioToneUtilityBlock()
+	{
+	}
+
+CDataWrapper* CT_MdaAudioToneUtilityServer::CT_MdaAudioToneUtilityBlock::CreateDataL(const TDesC& aData)
+	{
+	CDataWrapper* wrapper = NULL;
+
+	if( KT_MdaAudioToneUtilityWrapper() == aData )
+		{
+		wrapper = CT_MMDataAudioToneUtility::NewL();
+		}
+
+	return wrapper;
+	}
+
+CT_MdaAudioToneUtilityServer::CT_MdaAudioToneUtilityServer()
+	{
+	}
+
+CT_MdaAudioToneUtilityServer::~CT_MdaAudioToneUtilityServer()
+	{
+	}
+
+void CT_MdaAudioToneUtilityServer::DeleteActiveSchedulerL()
+	{
+	}
+
+CTestBlockController* CT_MdaAudioToneUtilityServer::CreateTestBlock()
+	{
+	return new CT_MdaAudioToneUtilityBlock();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/pkg/T_MdaAudioToneUtility.pkg	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,53 @@
+;
+; Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+;
+;
+; Install file for T_MdaAudioToneUtility.exe
+;
+
+; Languages - 
+&EN
+
+; Installation header
+; UID is the app's UID
+#{"T_MdaAudioToneUtility"},(0x20000F79),1,0,0
+
+;%{"Vendor-EN"}
+;:"Symbian"
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+
+"T_MdaAudioToneUtility.exe"-"!:\sys\bin\T_MdaAudioToneUtility.exe"
+"tmdaaudiotoneutility.bat"-"!:\multimedia\tmdaaudiotoneutility.bat"
+"MM-MMF-ACLNT-TONE-PublicAPI.script"-"!:\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.script"
+"t_multimedia.tcs"-"!:\multimedia\t_multimedia.tcs"
+"MM-MMF-ACLNT-TONE-PublicAPI.ini"-"!:\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini"
+"t_audiotoneutility\sequence1.sqn"-"!:\multimedia\t_audiotoneutility\sequence1.sqn"
+"t_audiotoneutility\sequence2.sqn"-"!:\multimedia\t_audiotoneutility\sequence2.sqn"
+"t_audiotoneutility\badsequence.sqn"-"!:\multimedia\t_audiotoneutility\badsequence.sqn"
+"t_multimedia.ini"-"!:\multimedia\t_multimedia.ini"
+
+
+; Required files
+; None
+
+; Component .sis files
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/pkg/tmdaaudiotoneutility.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testexecute \multimedia\MM-MMF-ACLNT-TONE-PublicAPI
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/scripts/MM-MMF-ACLNT-TONE-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,2987 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName		MM-MMF-ACLNT-TONE-PublicApi
+//! @SYMScriptTestEnvironment	This test script requires a basic ROM.
+/////////////////////////////////////////////////////////////////////
+// MM-MMF-ACLNT-TONE-PublicAPI.script
+//
+// Tests all public elements of the CMdaAudioToneUtility class
+// as a means of confidence that the APIs work as expected.
+//
+// The purpose is to provide a regression test suite of PublishedAll APIs for CMdaAudioToneUtility.
+// Negative testing is performed to confirm that correct errors are returned when incorrect parameters are given.
+// The tests are fully automated.
+/////////////////////////////////////////////////////////////////////
+
+LOAD_SUITE	T_MdaAudioToneUtility
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0001
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0001
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Create a tone player object, with MMdaAudioToneObserver, no error is expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref).
+//! @SYMTestActions		1. Create tone player object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	NewL creates an object ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL		MM-MMF-ACLNT-TONE-PublicApi-0001-001-NewL_command01
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0001
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0002
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0002
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Create a tone player object, with invalid priority preference, no error is expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref).
+//! @SYMTestActions		1. Create tone player object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	NewL creates an object ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL		MM-MMF-ACLNT-TONE-PublicApi-0002-001-NewL_command01
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0002
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0003
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0003
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Create a tone player object, with invalid priority, no error is expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref).
+//! @SYMTestActions		1. Create tone player object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	NewL creates an object ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL		MM-MMF-ACLNT-TONE-PublicApi-0003-001-NewL_command01
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0003
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0004
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0004
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Create a tone player object, with invalid priority and priority preference, no error is expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref).
+//! @SYMTestActions		1. Create tone player object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	NewL creates an object ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL		MM-MMF-ACLNT-TONE-PublicApi-0004-001-NewL_command01
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0004
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0005
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0005
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player state, no error is expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), State().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Object created and got state ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	State		MM-MMF-ACLNT-TONE-PublicApi-0005-001-State_command02
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0005
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0006
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0006
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player maximum volume, no error is expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), MaxVolume().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get maximum volume.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Object created and got max volume ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL		MM-MMF-ACLNT-TONE-PublicApi-0006-001-NewL_command01
+		COMMAND		toneutility1	MaxVolume
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0006
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0007
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0007
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player volume bounds, no error is expected
+//!				Uses API elements: NewL(&aObserver, *aServer), SetVolume(), Volume().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set volume higher than maximum value (MaxVolume + 20).
+//!				3. Get volume (volume is set to maximum : maxvolume).
+//!				4. Set volume lower than minimum value (-20).
+//!				5. Get volume (volume is set to minimum : 1).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Volume bounds tested ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	SetVolume	MM-MMF-ACLNT-TONE-PublicApi-0007-001-SetVolume_command02
+		COMMAND		toneutility1	Volume		MM-MMF-ACLNT-TONE-PublicApi-0007-001-Volume_command03
+		COMMAND		toneutility1	SetVolume	MM-MMF-ACLNT-TONE-PublicApi-0007-001-SetVolume_command04
+		COMMAND		toneutility1	Volume		MM-MMF-ACLNT-TONE-PublicApi-0007-001-Volume_command05
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0007
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0008
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0008
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player balance bounds, Panic 0 expected
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), SetBalanceL(), GetBalanceL().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set balance lower than maximum left value (-200).
+//!				3. Get balance (balance is set to maximum left : -100).
+//!				4. Set balance higher than maximum right value (200).
+//!				5. Get balance (balance is set to maximum right : 100).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Panic 0.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL		MM-MMF-ACLNT-TONE-PublicApi-0008-001-NewL_command01
+		COMMAND		toneutility1	SetBalanceL	MM-MMF-ACLNT-TONE-PublicApi-0008-001-SetBalanceL_command02
+		COMMAND		toneutility1	GetBalanceL	MM-MMF-ACLNT-TONE-PublicApi-0008-001-GetBalanceL_command03
+		COMMAND		toneutility1	SetBalanceL	MM-MMF-ACLNT-TONE-PublicApi-0008-001-SetBalanceL_command04
+		COMMAND		toneutility1	GetBalanceL	MM-MMF-ACLNT-TONE-PublicApi-0008-001-GetBalanceL_command05
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK	!Panicstring=MMFAudioClient !PanicCode=0
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0008
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0009
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0009
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player volume/balance, no error is expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), SetVolume(), Volume(), SetBalanceL(), GetBalanceL().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set volume (65).
+//!				3. Get volume (65).
+//!				4. Set balance (56).
+//!				5. Get balance (56).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Volume/balance tested ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	SetVolume	MM-MMF-ACLNT-TONE-PublicApi-0009-001-SetVolume_command02
+		COMMAND		toneutility1	Volume		MM-MMF-ACLNT-TONE-PublicApi-0009-001-Volume_command03
+		COMMAND		toneutility1	SetBalanceL	MM-MMF-ACLNT-TONE-PublicApi-0009-001-SetBalanceL_command04
+		COMMAND		toneutility1	GetBalanceL	MM-MMF-ACLNT-TONE-PublicApi-0009-001-GetBalanceL_command05
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0009
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0010
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0010
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player priority, no error is expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), SetPriority().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set priority (50, TimeAndQuality).
+//!				3. Set priority (100, None).
+//!				2. Set priority (-100, Time).
+//!				2. Set priority (-50, Quality).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Tone player priority tested ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL		MM-MMF-ACLNT-TONE-PublicApi-0010-001-NewL_command01
+		COMMAND		toneutility1	SetPriority	MM-MMF-ACLNT-TONE-PublicApi-0010-001-SetPriority_command02
+		COMMAND		toneutility1	SetPriority	MM-MMF-ACLNT-TONE-PublicApi-0010-001-SetPriority_command03
+		COMMAND		toneutility1	SetPriority	MM-MMF-ACLNT-TONE-PublicApi-0010-001-SetPriority_command04
+		COMMAND		toneutility1	SetPriority	MM-MMF-ACLNT-TONE-PublicApi-0010-001-SetPriority_command05
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0010
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0011
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0011
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player priority bounds with invalid priority, no error is expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), SetPriority().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set priority (-800, TimeAndQuality).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Priority bounds tested ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	SetPriority	MM-MMF-ACLNT-TONE-PublicApi-0011-001-SetPriority_command02
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0011
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0012
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0012
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player priority bounds with invalid preference, no error is expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), SetPriority().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set priority (50, 5).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Tone player prioriry bounds tested ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL		MM-MMF-ACLNT-TONE-PublicApi-0012-001-NewL_command01
+		COMMAND		toneutility1	SetPriority	MM-MMF-ACLNT-TONE-PublicApi-0012-001-SetPriority_command02
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0012
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0013
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0013
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player priority bounds with invalid priority and preference, no error is expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), SetPriority().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set priority (500, 40).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Tone player priority bounds tested ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	SetPriority	MM-MMF-ACLNT-TONE-PublicApi-0013-001-SetPriority_command02
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0013
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0014
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0014
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player DTMF lengths.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), SetDTMFLengths().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set DTMF lengths (5000000, 3000000, 2000000).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	DTMF lengths tested ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL		MM-MMF-ACLNT-TONE-PublicApi-0014-001-NewL_command01
+		COMMAND		toneutility1	SetDTMFLengths	MM-MMF-ACLNT-TONE-PublicApi-0014-001-SetDTMFLengths_command02
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0014
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0015
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0015
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player DTMF lengths with bad arguments, no error is expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), SetDTMFLengths().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set DTMF lengths (-5000000, 3000000, 2000000).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	DTMF lengths tested ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	SetDTMFLengths	MM-MMF-ACLNT-TONE-PublicApi-0015-001-SetDTMFLengths_command02
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0015
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0016
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0016
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player DTMF lengths with bad arguments, no error is expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), SetDTMFLengths().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set DTMF lengths (5000000, -3000000, 2000000).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	DTMF lengths tested ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL		MM-MMF-ACLNT-TONE-PublicApi-0016-001-NewL_command01
+		COMMAND		toneutility1	SetDTMFLengths	MM-MMF-ACLNT-TONE-PublicApi-0016-001-SetDTMFLengths_command02
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0016
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0017
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0017
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player DTMF lengths with bad arguments, no error is expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), SetDTMFLengths().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set DTMF lengths (5000000, 3000000, -2000000).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	DTMF lengths tested ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	SetDTMFLengths	MM-MMF-ACLNT-TONE-PublicApi-0017-001-SetDTMFLengths_command02
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0017
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0018
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0018
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player DTMF lengths with bad arguments, no error is expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), SetDTMFLengths().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set DTMF lengths (-5000000, -3000000, -2000000).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	DTMF lengths tested ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL		MM-MMF-ACLNT-TONE-PublicApi-0018-001-NewL_command01
+		COMMAND		toneutility1	SetDTMFLengths	MM-MMF-ACLNT-TONE-PublicApi-0018-001-SetDTMFLengths_command02
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0018
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0019
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0019
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player repeats.
+//!				Uses API elements: NewL(&aObserver, *aServer), SetRepeats().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set repeats (10, 100).
+//!				3. Set repeats (0,0).
+//!				4. Set repeats (1,50).
+//!				5. Set repeats (RepeatForever,5000).
+//!				6. Cancel play.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Repeats tested ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	SetRepeats	MM-MMF-ACLNT-TONE-PublicApi-0019-001-SetRepeats_command02
+		COMMAND		toneutility1	SetRepeats	MM-MMF-ACLNT-TONE-PublicApi-0019-001-SetRepeats_command03
+		COMMAND		toneutility1	SetRepeats	MM-MMF-ACLNT-TONE-PublicApi-0019-001-SetRepeats_command04
+		COMMAND		toneutility1	SetRepeats	MM-MMF-ACLNT-TONE-PublicApi-0019-001-SetRepeats_command05
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0019
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0023
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0023
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test tone player repeats.
+//!				Uses API elements: NewL(&aObserver, *aServer), SetRepeats(), PrepareToPlayTone(), timer, Play(), State(), delay, CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set repeats (RepeatForever, 1000000).
+//!				3. Prepare to play tone.
+//!				4. Play (asynchronous).
+//!				6. Get state (Playing).
+//!				7. Delay.
+//!				8. Cancel play.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Tone player repeats tested ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	SetRepeats		MM-MMF-ACLNT-TONE-PublicApi-0023-001-SetRepeats_command02
+		COMMAND		toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0023-001-PrepareToPlayTone_command03
+		OUTSTANDING
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	100000
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0023-001-State_command06
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0023
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0024
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0024
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test volume ramp.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), SetVolumeRamp().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set volume ramp to -5000000.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Volume ramp tested ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL		MM-MMF-ACLNT-TONE-PublicApi-0024-001-NewL_command01
+		COMMAND		toneutility1	SetVolumeRamp	MM-MMF-ACLNT-TONE-PublicApi-0024-001-SetVolumeRamp_command02
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0024
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0025
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0025
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test volume ramp.
+//!				Uses API elements: NewL(&aObserver, *aServer), SetRepeats(), PrepareToPlayTone(), SetVolumeRamp(), timer, Play(), state(), delay, CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set repeats.
+//!				3. Prepare to play tone.
+//!				4. Set volume ramp.
+//!				5. Play (asynchronous).
+//!				7. Get state.
+//!				8. Cancel play.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Volume ramp tested ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	SetRepeats		MM-MMF-ACLNT-TONE-PublicApi-0025-001-SetRepeats_command02
+		COMMAND		toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0025-001-PrepareToPlayTone_command03
+		OUTSTANDING
+		COMMAND		toneutility1	SetVolumeRamp		MM-MMF-ACLNT-TONE-PublicApi-0025-001-SetVolumeRamp_command04
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	100000
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0025-001-State_command07
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0025
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0026
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0026
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test fixed sequence count.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), FixedSequenceCount().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get fixed sequence count.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Got fixed sequence count ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0026-001-NewL_command01
+		COMMAND		toneutility1	FixedSequenceCount
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0026
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0027
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0027
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test fixed sequence name.
+//!				Uses API elements: NewL(&aObserver, *aServer), FixedSequenceName().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get fixed sequence name.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Got fixed sequence name ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	FixedSequenceName	MM-MMF-ACLNT-TONE-PublicApi-0027-001-FixedSequenceName_command02
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0027
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0029
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0029
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone.
+//!				Uses API elements: NewL(&aObserver, *aServer), State(), PrepareToPlayTone().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				2. Prepare to play tone.
+//!				4. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play tone ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0029-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0029-001-PrepareToPlayTone_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0029
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0030
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0030
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone with invalid duration, error expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayTone(), Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play tone (duration=-5000000).
+//!				3. Play tone.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND			toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0030-001-NewL_command01
+		COMMAND			toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0030-001-PrepareToPlayTone_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-6	toneutility1	Play
+		OUTSTANDING
+		COMMAND			toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0030
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0031
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0031
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone with invalid frequency, error expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayTone(), Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play tone (frequency=-500).
+//!				3. Play tone.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND			toneutility1	NewL
+		COMMAND			toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0031-001-PrepareToPlayTone_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-6	toneutility1	Play
+		OUTSTANDING
+		COMMAND			toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0031
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0032
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0032
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone with invalid frequency and duration, error expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayTone(), Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play tone (frequency=-500, duration=-5000000).
+//!				3. Play tone.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND			toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0032-001-NewL_command01
+		COMMAND			toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0032-001-PrepareToPlayTone_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-6	toneutility1	Play
+		OUTSTANDING
+		COMMAND			toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0032
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0033
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0033
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone.
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayTone(), State().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play tone (frequency=500, duration=5000000).
+//!				3. Get state.
+//!				4. Prepare to play tone (frequency=600, duration=6000000).
+//!				5. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play tone ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0033-001-PrepareToPlayTone_command02
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0033-001-State_command03
+		COMMAND		toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0033-001-PrepareToPlayTone_command04
+		OUTSTANDING
+		COMMAND		toneutility1	State
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0033
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0034
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0034
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone with play operation in progress.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayTone(), Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play tone (frequency=500, duration=5000000).
+//!				3. Play.
+//!				4. Prepare to play tone (frequency=500, duration=5000000).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play tone ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0034-001-NewL_command01
+		COMMAND		toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0034-001-PrepareToPlayTone_command02
+		OUTSTANDING
+		COMMAND		toneutility1	Play
+		COMMAND		toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0034-001-PrepareToPlayTone_command04
+		OUTSTANDING
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0034
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0035
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0035
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone with play operation in progress, error -14 expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), SetRepeats(), PrepareToPlayTone(), timer, Play(), CancelPlay()
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set repeats (RepeatForever, 1000000).
+//!				3. Prepare to play tone (frequency=500, duration=5000000).
+//!				4. Play (asynchronous).
+//!				5. Play (asynchronous).
+//!				6. Cancel play.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrInUse (-14).
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND			toneutility1	NewL
+		COMMAND			toneutility1	SetRepeats		MM-MMF-ACLNT-TONE-PublicApi-0035-001-SetRepeats_command02
+		COMMAND			toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0035-001-PrepareToPlayTone_command03
+		OUTSTANDING
+		COMMAND			toneutility1	Play
+		ASYNC_DELAY		100000
+		COMMAND	!AsyncError=-14	toneutility1	Play
+		COMMAND			toneutility1	CancelPlay
+		COMMAND			toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0035
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0036
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0036
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone with CancelPrepare().
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), State(), PrepareToPlayTone(), CancelPrepare(), Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play tone (frequency=500, duration=5000000).
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play tone (frequency=500, duration=5000000).
+//!				8. Get state.
+//!				9. Play.
+//!				10. Get state.
+//!				11. Cancel prepare.
+//!				12. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play tone ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0036-001-NewL_command01
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0036-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0036-001-PrepareToPlayTone_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0036-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0036-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0036-001-PrepareToPlayTone_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0036-001-State_command08
+		COMMAND		toneutility1	Play
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0036-001-State_command10
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0036-001-State_command12
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0036
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0037
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0037
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone with CancelPrepare() and CancelPlay().
+//!				Uses API elements: NewL(&aObserver, *aServer), SetRepeats(), State(), PrepareToPlayTone(), CancelPrepare(), timer, Play(), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set repeats (RepeatForever, 1000000).
+//!				3. Get state.
+//!				4. Prepare to play tone (frequency=500, duration=5000000).
+//!				5. Get state.
+//!				6. Cancel prepare.
+//!				7. Get state.
+//!				8. Prepare to play tone (frequency=500, duration=5000000).
+//!				9. Get state.
+//!				10. Play (asynchronous).
+//!				11. Get state.
+//!				12. Cancel play.
+//!				13. Get state.
+//!				14. Cancel prepare.
+//!				15. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play tone ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	SetRepeats		MM-MMF-ACLNT-TONE-PublicApi-0037-001-SetRepeats_command02
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0037-001-State_command03
+		COMMAND		toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0037-001-PrepareToPlayTone_command04
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0037-001-State_command05
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0037-001-State_command07
+		COMMAND		toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0037-001-PrepareToPlayTone_command08
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0037-001-State_command09
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	100000
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0037-001-State_command12
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0037-001-State_command14
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0037-001-State_command16
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0037
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0038
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0038
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), State(), PrepareToPlayTone(), CancelPrepare(), timer, Play(), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play tone (frequency=500, duration=5000000).
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play tone (frequency=500, duration=5000000).
+//!				8. Get state.
+//!				9. Play (asynchronous).
+//!				10. Get state.
+//!				11. Get state.
+//!				12. Cancel prepare.
+//!				13. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play tone ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0038-001-NewL_command01
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0038-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0038-001-PrepareToPlayTone_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0038-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0038-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayTone	MM-MMF-ACLNT-TONE-PublicApi-0038-001-PrepareToPlayTone_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0038-001-State_command08
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0038-001-State_command11
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0038-001-State_command13
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0038-001-State_command15
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0038
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0039
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0039
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play DTMF string.
+//!				Uses API elements: NewL(&aObserver, *aServer), State(), PrepareToPlayDTMFString().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play DTMF string.
+//!				4. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play DTMF string ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0039-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayDTMFString	MM-MMF-ACLNT-TONE-PublicApi-0039-001-PrepareToPlayDTMFString_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0039
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0040
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0040
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play DTMF string with invalid parameter, error -6 expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayDTMFString().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play DTMF string.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument (-6).
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND			toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0040-001-NewL_command01
+		COMMAND	!AsyncError=-6	toneutility1	PrepareToPlayDTMFString	MM-MMF-ACLNT-TONE-PublicApi-0040-001-PrepareToPlayDTMFString_command02
+		OUTSTANDING
+		OUTSTANDING
+		COMMAND			toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0040
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0041
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0041
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play DTMF string with invalid parameter, error -6 expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayDTMFString().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play DTMF string.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument (-6).
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND			toneutility1	NewL
+		COMMAND	!AsyncError=-6	toneutility1	PrepareToPlayDTMFString	MM-MMF-ACLNT-TONE-PublicApi-0041-001-PrepareToPlayDTMFString_command02
+		OUTSTANDING
+		COMMAND			toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0041
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0042
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0042
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play DTMF string.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayDTMFString(), Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play DTMF string.
+//!				3. Play (asynchronous).
+//!				4. Prepare to play DTMF string.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play DTMF string ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0042-001-NewL_command01
+		COMMAND		toneutility1	PrepareToPlayDTMFString	MM-MMF-ACLNT-TONE-PublicApi-0042-001-PrepareToPlayDTMFString_command02
+		OUTSTANDING
+		COMMAND		toneutility1	Play
+		COMMAND		toneutility1	PrepareToPlayDTMFString	MM-MMF-ACLNT-TONE-PublicApi-0042-001-PrepareToPlayDTMFString_command04
+		OUTSTANDING
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0042
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0043
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0043
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play multiple DTMF string.
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayDTMFString().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play DTMF string.
+//!				3. Prepare to play DTMF string.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play DTMF string ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	PrepareToPlayDTMFString	MM-MMF-ACLNT-TONE-PublicApi-0043-001-PrepareToPlayDTMFString_command02
+		OUTSTANDING
+		COMMAND		toneutility1	PrepareToPlayDTMFString	MM-MMF-ACLNT-TONE-PublicApi-0043-001-PrepareToPlayDTMFString_command03
+		OUTSTANDING
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0043
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0044
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0044
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play DTMF string with play operation in progress, error -4 expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), SetRepeats(), PrepareToPlayDTMFString(), timer, Play(). CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Set repeats (RepeatForever, 1000000).
+//!				3. Prepare to play DTMF string.
+//!				4. Play (asynchronous).
+//!				5. Play (asynchronous).
+//!				6. Cancel Play.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrInUse (-14).
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND			toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0044-001-NewL_command01
+		COMMAND			toneutility1	SetRepeats		MM-MMF-ACLNT-TONE-PublicApi-0044-001-SetRepeats_command02
+		COMMAND			toneutility1	PrepareToPlayDTMFString	MM-MMF-ACLNT-TONE-PublicApi-0044-001-PrepareToPlayDTMFString_command03
+		OUTSTANDING
+		COMMAND			toneutility1	Play
+		ASYNC_DELAY		100000
+		COMMAND	!AsyncError=-14	toneutility1	Play
+		COMMAND			toneutility1	CancelPlay
+		COMMAND			toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0044
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0045
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0045
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play DTMF string, using State() and CancelPrepare().
+//!				Uses API elements: NewL(&aObserver, *aServer), State(), PrepareToPlayDTMFString(), CancelPrepare(), Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play DTMF string.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play DTMF string.
+//!				8. Get state.
+//!				9. Play.
+//!				10. Get state.
+//!				11. Cancel prepare.
+//!				12. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play DTMF string ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0045-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayDTMFString	MM-MMF-ACLNT-TONE-PublicApi-0045-001-PrepareToPlayDTMFString_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0045-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0045-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayDTMFString	MM-MMF-ACLNT-TONE-PublicApi-0045-001-PrepareToPlayDTMFString_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0045-001-State_command08
+		COMMAND		toneutility1	Play
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0045-001-State_command10
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0045-001-State_command12
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0045
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0046
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0046
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play DTMF string, using CancelPlay() and CancelPrepare().
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), State(), PrepareToPlayDTMFString(), CancelPrepare(), timer, Play(), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play DTMF string.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play DTMF string.
+//!				8. Get state.
+//!				9. Play (asynchronous).
+//!				10. Get state.
+//!				11. Cancel play.
+//!				12. Get state.
+//!				13. Cancel prepare.
+//!				14. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play DTMF string ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0046-001-NewL_command01
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0046-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayDTMFString	MM-MMF-ACLNT-TONE-PublicApi-0046-001-PrepareToPlayDTMFString_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0046-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0046-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayDTMFString	MM-MMF-ACLNT-TONE-PublicApi-0046-001-PrepareToPlayDTMFString_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0046-001-State_command08
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0046-001-State_command11
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0046-001-State_command13
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0046-001-State_command15
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0046
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0047
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0047
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play DTMF string using outstanding.
+//!				Uses API elements: NewL(&aObserver, *aServer), State(), PrepareToPlayDTMFString(), CancelPrepare(), timer, Play(), CancelPrepare().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play DTMF string.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play DTMF string.
+//!				8. Get state.
+//!				9. Play (asynchronous).
+//!				10. Get state.
+//!				11. Call outstanding.
+//!				12. Get state.
+//!				13. Cancel prepare.
+//!				14. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play DTMF string ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0047-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayDTMFString	MM-MMF-ACLNT-TONE-PublicApi-0047-001-PrepareToPlayDTMFString_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0047-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0047-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayDTMFString	MM-MMF-ACLNT-TONE-PublicApi-0047-001-PrepareToPlayDTMFString_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0047-001-State_command08
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0047-001-State_command11
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0047-001-State_command13
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0047
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0048
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0048
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone sequence.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), State(), PrepareToPlayDesSequence().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play tone sequence.
+//!				4. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play tone sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL				MM-MMF-ACLNT-TONE-PublicApi-0048-001-NewL_command01
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0048-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayDesSequence	MM-MMF-ACLNT-TONE-PublicApi-0048-001-PrepareToPlayDesSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State		MM-MMF-ACLNT-TONE-PublicApi-0048-001-State_command04
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0048
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0049
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0049
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone sequence with invalid parameter, error -20 expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayDesSequence().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play tone sequence.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrCorrupt (-20) is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND			toneutility1	NewL
+		COMMAND			toneutility1	PrepareToPlayDesSequence	MM-MMF-ACLNT-TONE-PublicApi-0049-001-PrepareToPlayDesSequence_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-20	toneutility1	Play
+		OUTSTANDING
+		COMMAND			toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0049
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0050
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0050
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone sequence, with Play().
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayDesSequence(), Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play tone sequence.
+//!				3. Play (asynchronous).
+//!				4. Prepare to play tone sequence.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play ton sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL				MM-MMF-ACLNT-TONE-PublicApi-0050-001-NewL_command01
+		COMMAND		toneutility1	PrepareToPlayDesSequence	MM-MMF-ACLNT-TONE-PublicApi-0050-001-PrepareToPlayDesSequence_command02
+		OUTSTANDING
+		COMMAND		toneutility1	Play
+		COMMAND		toneutility1	PrepareToPlayDesSequence	MM-MMF-ACLNT-TONE-PublicApi-0050-001-PrepareToPlayDesSequence_command04
+		OUTSTANDING
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0050
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0051
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0051
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone sequence, without Play().
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayDesSequence().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play tone sequence.
+//!				3. Prepare to play tone sequence.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play tone sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	PrepareToPlayDesSequence	MM-MMF-ACLNT-TONE-PublicApi-0051-001-PrepareToPlayDesSequence_command02
+		OUTSTANDING
+		COMMAND		toneutility1	PrepareToPlayDesSequence	MM-MMF-ACLNT-TONE-PublicApi-0051-001-PrepareToPlayDesSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0051
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0052
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0052
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone sequence with play operation in progress, error -14 expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayDesSequence(), timer, Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play tone sequence.
+//!				3. Play (asynchronous).
+//!				4. Play (asynchronous).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrInUse (-14).
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND			toneutility1	NewL				MM-MMF-ACLNT-TONE-PublicApi-0052-001-NewL_command01
+		COMMAND			toneutility1	PrepareToPlayDesSequence	MM-MMF-ACLNT-TONE-PublicApi-0052-001-PrepareToPlayDesSequence_command02
+		OUTSTANDING
+		COMMAND			toneutility1	Play
+		ASYNC_DELAY		1000
+		COMMAND	!AsyncError=-14	toneutility1	Play
+		COMMAND			toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0052
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0053
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0053
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone sequence, using CancelPrepare().
+//!				Uses API elements: NewL(&aObserver, *aServer), State(), PrepareToPlayDesSequence(), CancelPrepare(), Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play tone sequence.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play tone sequence.
+//!				8. Get state.
+//!				9. Play.
+//!				10. Get state.
+//!				11. Cancel prepare.
+//!				12. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play tone sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0053-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayDesSequence	MM-MMF-ACLNT-TONE-PublicApi-0053-001-PrepareToPlayDesSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0053-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0053-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayDesSequence	MM-MMF-ACLNT-TONE-PublicApi-0053-001-PrepareToPlayDesSequence_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0053-001-State_command08
+		COMMAND		toneutility1	Play
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0053-001-State_command12
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0053-001-State_command14
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0053
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0054
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0054
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone sequence, using CancelPrepare() and CancelPlay().
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), State(), PrepareToPlayDesSequence(), CancelPrepare(), timer, Play(), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play tone sequence.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play tone sequence.
+//!				8. Get state.
+//!				9. Play (asynchronous).
+//!				10. Get state.
+//!				11. Cancel play.
+//!				12. Get state.
+//!				13. Cancel prepare.
+//!				14. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play tone sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL				MM-MMF-ACLNT-TONE-PublicApi-0054-001-NewL_command01
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0054-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayDesSequence	MM-MMF-ACLNT-TONE-PublicApi-0054-001-PrepareToPlayDesSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0054-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0054-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayDesSequence	MM-MMF-ACLNT-TONE-PublicApi-0054-001-PrepareToPlayDesSequence_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0054-001-State_command08
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0054-001-State_command11
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0054-001-State_command13
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0054-001-State_command15
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0054
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0055
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0055
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play tone sequence, using outstanding.
+//!				Uses API elements: NewL(&aObserver, *aServer), State(), PrepareToPlayDesSequence(), CancelPrepare(), timer, Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play tone sequence.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play tone sequence.
+//!				8. Get state.
+//!				9. Play (asynchronous).
+//!				10. Get state.
+//!				11. Call outstanding.
+//!				12. Get state.
+//!				13. Cancel prepare.
+//!				14. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play tone sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0055-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayDesSequence	MM-MMF-ACLNT-TONE-PublicApi-0055-001-PrepareToPlayDesSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0055-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0055-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayDesSequence	MM-MMF-ACLNT-TONE-PublicApi-0055-001-PrepareToPlayDesSequence_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0055-001-State_command08
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0055-001-State_command11
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0055-001-State_command13
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0055-001-State_command15
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0055
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0056
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0056
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play file sequence.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), State(), PrepareToPlayFileSequence(&aFileName).
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play file sequence.
+//!				4. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play file sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL				MM-MMF-ACLNT-TONE-PublicApi-0056-001-NewL_command01
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0056-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0056-001-PrepareToPlayFileSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0056
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0057
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0057
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play file sequence with invalid parameter, error -12 expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayFileSequence(&aFileName).
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play file sequence.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrPathNotFound (-12).
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND			toneutility1	NewL
+		COMMAND	!AsyncError=-12	toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0057-001-PrepareToPlayFileSequence_command02
+		OUTSTANDING
+		COMMAND			toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0057
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0058
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0058
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play multiple file sequence, using Play().
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayFileSequence(&aFileName), timer, Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play file sequence.
+//!				3. Play (asynchronous).
+//!				4. Prepare to play file sequence.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play file sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL				MM-MMF-ACLNT-TONE-PublicApi-0058-001-NewL_command01
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0058-001-PrepareToPlayFileSequence_command02
+		OUTSTANDING
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0058-001-PrepareToPlayFileSequence_command05
+		OUTSTANDING
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0058
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0059
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0059
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play file sequence, without Play().
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayFileSequence(&aFileName).
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play file sequence.
+//!				3. Prepare to play file sequence.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play file sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0059-001-PrepareToPlayFileSequence_command02
+		OUTSTANDING
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0059-001-PrepareToPlayFileSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0059
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0060
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0060
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play file sequence with play operation in progress, error -14 expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayFileSequence(&aFileName), timer, Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play file sequence.
+//!				3. Play (asynchronous).
+//!				4. Play (asynchronous).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrInUse (-14).
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND			toneutility1	NewL				MM-MMF-ACLNT-TONE-PublicApi-0060-001-NewL_command01
+		COMMAND			toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0060-001-PrepareToPlayFileSequence_command02
+		OUTSTANDING
+		COMMAND			toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND	!AsyncError=-14	toneutility1	Play
+		COMMAND			toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0060
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0061
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0061
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play file sequence, using CancelPrepare().
+//!				Uses API elements: NewL(&aObserver, *aServer), State(), PrepareToPlayFileSequence(&aFileName), CancelPrepare(), timer, Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play file sequence.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play file sequence.
+//!				8. Get state.
+//!				9. Play.
+//!				10. Get state.
+//!				11. Cancel prepare.
+//!				12. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play file sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0061-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0061-001-PrepareToPlayFileSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0061-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0061-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0061-001-PrepareToPlayFileSequence_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0061-001-State_command08
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	100000
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0061-001-State_command11
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0061-001-State_command13
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0061-001-State_command15
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0061
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0062
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0062
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play file sequence, using CancelPrepare() and CancelPlay().
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), State(), PrepareToPlayFileSequence(&aFileName), CancelPrepare(), timer, Play(), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play file sequence.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play file sequence.
+//!				8. Get state.
+//!				9. Play (asynchronous).
+//!				10. Get state.
+//!				11. Cancel play.
+//!				12. Get state.
+//!				13. Cancel prepare.
+//!				14. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play file sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL				MM-MMF-ACLNT-TONE-PublicApi-0062-001-NewL_command01
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0062-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0062-001-PrepareToPlayFileSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0062-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0062-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0062-001-PrepareToPlayFileSequence_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0062-001-State_command08
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0062-001-State_command11
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0062-001-State_command13
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0062-001-State_command15
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0062
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0063
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0063
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play file sequence, using outstanding.
+//!				Uses API elements: NewL(&aObserver, *aServer), state(), PrepareToPlayFileSequence(&aFileName), CancelPrepare(), timer, Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play file sequence.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play file sequence.
+//!				8. Get state.
+//!				9. Play (asynchronous).
+//!				10. Get state.
+//!				11. Call outstanding.
+//!				12. Get state.
+//!				13. Cancel prepare.
+//!				14. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play file sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0063-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0063-001-PrepareToPlayFileSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0063-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0063-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0063-001-PrepareToPlayFileSequence_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0063-001-State_command08
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	100000
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0063-001-State_command11
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0063-001-State_command13
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0063-001-State_command15
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0063
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0064
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0064
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play fixed sequence.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), State(), PrepareToPlayFixedSequence().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				2. Prepare to play fixed sequence.
+//!				2. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Prepare to play fixed sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL				MM-MMF-ACLNT-TONE-PublicApi-0064-001-NewL_command01
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0064-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayFixedSequence	MM-MMF-ACLNT-TONE-PublicApi-0064-001-PrepareToPlayFixedSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0064
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0066
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0066
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play multiple fixed sequence, using Play().
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayFixedSequence(), Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play fixed sequence.
+//!				3. Play (asynchronous).
+//!				4. Prepare to play fixed sequence.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play fixed sequence ok.(Not supported code returned on some platform)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL				MM-MMF-ACLNT-TONE-PublicApi-0066-001-NewL_command01
+		COMMAND		toneutility1	PrepareToPlayFixedSequence	MM-MMF-ACLNT-TONE-PublicApi-0066-001-PrepareToPlayFixedSequence_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	toneutility1	Play
+		ASYNC_DELAY	10000
+		COMMAND		toneutility1	PrepareToPlayFixedSequence	MM-MMF-ACLNT-TONE-PublicApi-0066-001-PrepareToPlayFixedSequence_command04
+		OUTSTANDING
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0066
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0067
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0067
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play multiple fixed sequence, without Play().
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayFixedSequence().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play fixed sequence.
+//!				3. Prepare to play fixed sequence.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play fixed sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	PrepareToPlayFixedSequence	MM-MMF-ACLNT-TONE-PublicApi-0067-001-PrepareToPlayFixedSequence_command02
+		OUTSTANDING
+		COMMAND		toneutility1	PrepareToPlayFixedSequence	MM-MMF-ACLNT-TONE-PublicApi-0067-001-PrepareToPlayFixedSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0067
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0069
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0069
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play fixed sequence, using CancelPrepare().
+//!				Uses API elements: NewL(&aObserver, *aServer), State(), PrepareToPlayFixedSequence(), CancelPrepare(), Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play fixed sequence.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play fixed sequence.
+//!				8. Get state.
+//!				9. Play.
+//!				10. Get state.
+//!				11. Cancel prepare.
+//!				12. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play fixed sequence ok.(Not supported code returned on some platform)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0069-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayFixedSequence	MM-MMF-ACLNT-TONE-PublicApi-0069-001-PrepareToPlayFixedSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0069-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0069-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayFixedSequence	MM-MMF-ACLNT-TONE-PublicApi-0069-001-PrepareToPlayFixedSequence_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0069-001-State_command08
+		COMMAND	!AsyncError=-5	toneutility1	Play
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0069-001-State_command10
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0069-001-State_command12
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0069
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0070
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0070
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play fixed sequence, using CancelPrepare() and CancelPlay().
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), State(), PrepareToPlayFixedSequence(), CancelPrepare(), timer, Play(), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play fixed sequence.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play fixed sequence.
+//!				8. Get state.
+//!				9. Play (asynchronous).
+//!				10. Get state.
+//!				11. Cancel play.
+//!				12. Get state.
+//!				13. Cancel prepare.
+//!				14. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	ok. (Not supported code returned on some platform)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL				MM-MMF-ACLNT-TONE-PublicApi-0070-001-NewL_command01
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0070-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayFixedSequence	MM-MMF-ACLNT-TONE-PublicApi-0070-001-PrepareToPlayFixedSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0070-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0070-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayFixedSequence	MM-MMF-ACLNT-TONE-PublicApi-0070-001-PrepareToPlayFixedSequence_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0070-001-State_command08
+		COMMAND	!AsyncError=-5	toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0070-001-State_command11
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0070-001-State_command13
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0070-001-State_command15
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0070
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0071
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0071
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play fixed sequence, using outstanding.
+//!				Uses API elements: NewL(&aObserver, *aServer), State(), PrepareToPlayFixedSequence(), CancelPrepare(), timer, Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play fixed sequence.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play fixed sequence.
+//!				8. Get state.
+//!				9. Play (asynchronous).
+//!				10. Get state.
+//!				11. Call outstanding.
+//!				12. Get state.
+//!				13. Cancel prepare.
+//!				14. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play fixed sequence ok. (Not supported code returned on some platform)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0071-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayFixedSequence	MM-MMF-ACLNT-TONE-PublicApi-0071-001-PrepareToPlayFixedSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0071-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0071-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayFixedSequence	MM-MMF-ACLNT-TONE-PublicApi-0071-001-PrepareToPlayFixedSequence_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0071-001-State_command08
+		COMMAND	!AsyncError=-5	toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0071-001-State_command11
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0071-001-State_command13
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0071-001-State_command15
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0071
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0072
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0072
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play dual tone.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), State(), PrepareToPlayDualTone().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play dual tone.
+//!				4. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play dual tone ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0072-001-NewL_command01
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0072-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0072-001-PrepareToPlayDualTone_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0072
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0073
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0073
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play dual tone, using invalid frequency, KErrArgument expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayDualTone(), Play(), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play dual tone.
+//!				3. Play tone.
+//!				4. Cancel Play.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Tone is played with KErrArgument code return.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0073-001-PrepareToPlayDualTone_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-6	toneutility1	Play
+		OUTSTANDING
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0073
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0074
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0074
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play dual tone, using invalid frequencies, KErrArgument expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayDualTone(), Play(), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play dual tone.
+//!				3. Play tone.
+//!				4. Cancel Play.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Tone is played with KErrArgument code return .
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0074-001-NewL_command01
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0074-001-PrepareToPlayDualTone_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-6	toneutility1	Play
+		OUTSTANDING
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0074
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0075
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0075
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play dual tone, using invalid frequencies and duration, KErrArgument expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayDualTone(), Play(), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play dual tone.
+//!				3. Play tone.
+//!				4. Cancel Play.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Tone is played with KErrArgument code return.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0075-001-PrepareToPlayDualTone_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-6	toneutility1	Play
+		OUTSTANDING
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0075
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0076
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0076
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play dual tone, using invalid frequencytwo and duration, KErrArgument expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayDualTone(), Play(), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play dual tone.
+//!				3. Play tone.
+//!				4. Cancel Play.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Tone is played with KErrArgument code return.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0076-001-NewL_command01
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0076-001-PrepareToPlayDualTone_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-6	toneutility1	Play
+		OUTSTANDING
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0076
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0077
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0077
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play dual tone, using invalid duration, KErrArgument expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayDualTone(), Play(), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play dual tone.
+//!				3. Play tone.
+//!				4. Cancel Play.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Tone is played with KErrArgument code return.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0077-001-PrepareToPlayDualTone_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-6	toneutility1	Play
+		OUTSTANDING
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0077
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0078
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0078
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play dual tone, using invalid frequency and duration, KErrArgument expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayDualTone(), Play(), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play dual tone.
+//!				3. Play tone.
+//!				4. Cancel Play.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Tone is played with KErrArgument code return.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0078-001-NewL_command01
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0078-001-PrepareToPlayDualTone_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-6	toneutility1	Play
+		OUTSTANDING
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0078
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0079
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0079
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play multiple dual tone, using Play().
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayDualTone(), Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play dual tone.
+//!				3. Play (asynchronous).
+//!				4. Prepare to play dual tone.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play dual tone ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0079-001-PrepareToPlayDualTone_command02
+		OUTSTANDING
+		COMMAND		toneutility1	Play
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0079-001-PrepareToPlayDualTone_command04
+		OUTSTANDING
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0079
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0080
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0080
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play multiple dual tone, without Play().
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayDualTone().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play dual tone.
+//!				3. Prepare to play dual tone.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play dual tone ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0080-001-NewL_command01
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0080-001-PrepareToPlayDualTone_command02
+		OUTSTANDING
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0080-001-PrepareToPlayDualTone_command03
+		OUTSTANDING
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0080
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0081
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0081
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play dual tone with play operation in progress, error -14 expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayDualTone(), timer, Play(), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play dual tone.
+//!				3. Play (asynchronous).
+//!				4. Play (asynchronous).
+//!				5. Cancel play.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrInUse (-14).
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND			toneutility1	NewL
+		COMMAND			toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0081-001-PrepareToPlayDualTone_command02
+		OUTSTANDING
+		COMMAND			toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND	!AsyncError=-14	toneutility1	Play
+		COMMAND			toneutility1	CancelPlay
+		COMMAND			toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0081
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0082
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0082
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play dual tone, using CancelPrepare().
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), State(), PrepareToPlayDualTone(), CancelPrepare(), Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play dual tone.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play dual tone.
+//!				8. Get state.
+//!				9. Play.
+//!				10. Get state.
+//!				11. Cancel prepare.
+//!				12. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play dual tone ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0082-001-NewL_command01
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0082-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0082-001-PrepareToPlayDualTone_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0082-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0082-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0082-001-PrepareToPlayDualTone_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0082-001-State_command08
+		COMMAND		toneutility1	Play
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0082-001-State_command10
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0082-001-State_command12
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0082
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0083
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0083
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play dual tone, using CancelPrepare() and CancelPlay().
+//!				Uses API elements: NewL(&aObserver, *aServer), State(), PrepareToPlayDualTone(), CancelPrepare(), timer, Play(), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play dual tone.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play dual tone.
+//!				8. Get state.
+//!				9. Play (asynchronous).
+//!				10. Get state.
+//!				11. Cancel play.
+//!				12. Get state.
+//!				13. Cancel prepare.
+//!				14. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play dual tone ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0083-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0083-001-PrepareToPlayDualTone_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0083-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0083-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0083-001-PrepareToPlayDualTone_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0083-001-State_command08
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0083-001-State_command11
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0083-001-State_command13
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0083-001-State_command15
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0083
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0084
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0084
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play dual tone, using outstanding.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), State(), PrepareToPlayDualTone(), CancelPrepare(), timer, Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play dual tone.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play dual tone.
+//!				8. Get state.
+//!				9. Play (asynchronous).
+//!				10. Get state.
+//!				11. Call outstanding.
+//!				12. Get state.
+//!				13. Cancel prepare.
+//!				14. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play dual tone ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0084-001-NewL_command01
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0084-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0084-001-PrepareToPlayDualTone_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0084-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0084-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0084-001-PrepareToPlayDualTone_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0084-001-State_command08
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0084-001-State_command11
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0084-001-State_command13
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0084-001-State_command15
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0084
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0085
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0085
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play file sequence.
+//!				Uses API elements: NewL(&aObserver, *aServer), State(), PrepareToPlayFileSequence(&aFile).
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play file sequence (input file '\multimedia\sequence1.sqn').
+//!				4. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play file sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0085-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0085-001-PrepareToPlayFileSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0085
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0086
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0086
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play file sequence with invalid parameter, error -20 expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayFileSequence(&aFile), Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play file sequence (input file '0').
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrCorrupt (-20) is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND			toneutility1	NewL				MM-MMF-ACLNT-TONE-PublicApi-0086-001-NewL_command01
+		COMMAND			toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0086-001-PrepareToPlayFileSequence_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-20	toneutility1	Play
+		OUTSTANDING
+		COMMAND			toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0086
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0087
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0087
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play multiple file sequence.
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayFileSequence(&aFile).
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play file sequence (input file '\multimedia\sequence1.sqn').
+//!				3. Prepare to play file sequence (input file '\multimedia\sequence2.sqn').
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play file sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	PrepareToPlayFileSequence		MM-MMF-ACLNT-TONE-PublicApi-0087-001-PrepareToPlayFileSequence_command02
+		OUTSTANDING
+		COMMAND		toneutility1	PrepareToPlayFileSequence		MM-MMF-ACLNT-TONE-PublicApi-0087-001-PrepareToPlayFileSequence_command04
+		OUTSTANDING
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0087
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0088
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0088
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play file sequence with play operation in progress.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayFileSequence(&aFile), timer, Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play file sequence (input file '\multimedia\sequence1.sqn').
+//!				3. Play (asynchronous).
+//!				4. Prepare to play file sequence (input file '\multimedia\sequence1.sqn').
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play file sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL				MM-MMF-ACLNT-TONE-PublicApi-0088-001-NewL_command01
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0088-001-PrepareToPlayFileSequence_command02
+		OUTSTANDING
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0088-001-PrepareToPlayFileSequence_command05
+		OUTSTANDING
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0088
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0089
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0089
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Play file sequence with play operation in progress, error -14 expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), PrepareToPlayFileSequence(&aFile), timer, Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play file sequence (input file '\multimedia\sequence1.sqn').
+//!				3. Play (asynchronous).
+//!				4. Play (asynchronous).
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrInUse (-14).
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND			toneutility1	NewL
+		COMMAND			toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0089-001-PrepareToPlayFileSequence_command02
+		OUTSTANDING
+		COMMAND			toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND	!AsyncError=-14	toneutility1	Play
+		COMMAND			toneutility1	CancelPlay
+		COMMAND			toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0089
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0090
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0090
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play file sequence, using CancelPrepare() and outstanding.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), State(), PrepareToPlayFileSequence(&aFile), CancelPrepare(), timer, Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play file sequence.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play file sequence.
+//!				8. Get state.
+//!				9. Play (asynchronous).
+//!				10. Call outstanding.
+//!				11. Get state.
+//!				12. Cancel prepare.
+//!				13. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play file sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL				MM-MMF-ACLNT-TONE-PublicApi-0090-001-NewL_command01
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0090-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0090-001-PrepareToPlayFileSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0090-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0090-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0090-001-PrepareToPlayFileSequence_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0090-001-State_command08
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	1000
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0090-001-State_command12
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0090-001-State_command14
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0090
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0091
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0091
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play file sequence, using CancelPrepare() and CancelPlay().
+//!				Uses API elements: NewL(&aObserver, *aServer), State(), PrepareToPlayFileSequence(&aFile), CancelPrepare(), timer, Play(), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play file sequence.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play file sequence.
+//!				8. Get state.
+//!				9. Play (asynchronous).
+//!				10. Get state.
+//!				11. Cancel play.
+//!				12. Get state.
+//!				13. Cancel prepare.
+//!				14. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play file sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0091-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0091-001-PrepareToPlayFileSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0091-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0091-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0091-001-PrepareToPlayFileSequence_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0091-001-State_command08
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0091-001-State_command11
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0091-001-State_command13
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0091-001-State_command15
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0091
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0092
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0092
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test prepare to play file sequence, using outstanding.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), State(), PrepareToPlayFileSequence(&aFile), CancelPrepare(), timer, Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get state.
+//!				3. Prepare to play file sequence.
+//!				4. Get state.
+//!				5. Cancel prepare.
+//!				6. Get state.
+//!				7. Prepare to play file sequence.
+//!				8. Get state.
+//!				9. Play (asynchronous).
+//!				10. Get state.
+//!				11. Call outstanding.
+//!				12. Get state.
+//!				13. Cancel prepare.
+//!				14. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Preparing to play file sequence ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL				MM-MMF-ACLNT-TONE-PublicApi-0092-001-NewL_command01
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0092-001-State_command02
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0092-001-PrepareToPlayFileSequence_command03
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0092-001-State_command04
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0092-001-State_command06
+		COMMAND		toneutility1	PrepareToPlayFileSequence	MM-MMF-ACLNT-TONE-PublicApi-0092-001-PrepareToPlayFileSequence_command07
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0092-001-State_command08
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0092-001-State_command11
+		OUTSTANDING
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0092-001-State_command13
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	State				MM-MMF-ACLNT-TONE-PublicApi-0092-001-State_command15
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0092
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0093
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0093
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test play without initialization
+//!				Uses API elements: NewL(&aObserver, *aServer), Play().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Start play.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Playing ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	Play
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0093
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0094
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0094
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test cancel play without initialization.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), CancelPlay().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Cancel play.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Cancel play ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL		MM-MMF-ACLNT-TONE-PublicApi-0094-001-NewL_command01
+		COMMAND		toneutility1	CancelPlay
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0094
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0095
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0095
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test cancel prepare without initialization.
+//!				Uses API elements: NewL(&aObserver, *aServer), CancelPrepare().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Cancel prepare.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Cancel prepare ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0095
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0096
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0096
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test cancel prepare while playing.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), PrepareToPlayDualTone(), State(), Play(), CancelPrepare().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Prepare to play dual tone.
+//!				3. Get state.
+//!				4. Play (asynchronous).
+//!				5. Get state.
+//!				6. Cancel prepare.
+//!				7. Get state.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Cancel prepare ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL			MM-MMF-ACLNT-TONE-PublicApi-0096-001-NewL_command01
+		COMMAND		toneutility1	PrepareToPlayDualTone	MM-MMF-ACLNT-TONE-PublicApi-0096-001-PrepareToPlayDualTone_command02
+		OUTSTANDING
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0096-001-State_command03
+		COMMAND		toneutility1	Play
+		ASYNC_DELAY	1000
+		COMMAND		toneutility1	State			MM-MMF-ACLNT-TONE-PublicApi-0096-001-State_command06
+		COMMAND		toneutility1	CancelPrepare
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0096
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0097
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0097
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test custom inerface with correct parameter.
+//!				Uses API elements: NewL(&aObserver, *aServer), CustomInterface().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get custom interface.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Custom interface ok.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	CustomInterface	MM-MMF-ACLNT-TONE-PublicApi-0097-001-CustomInterface_command02
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0097
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0098
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0098
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test custom interface with invalid parameter, NULL expected.
+//!				Uses API elements: NewL(&aObserver, *aServer, aPriority, aPref), CustomInterface().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get custom interface.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	NULL CustomInterface is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL		MM-MMF-ACLNT-TONE-PublicApi-0098-001-NewL_command01
+		COMMAND		toneutility1	CustomInterface	MM-MMF-ACLNT-TONE-PublicApi-0098-001-CustomInterface_command02
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0098
+
+
+START_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0099
+//! @SYMTestCaseID		MM-MMF-ACLNT-TONE-PublicApi-0099
+//! @SYMAPI			CMdaAudioToneUtility
+//! @SYMAuthor			Tarmo Kalda
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-ACLNT-TONE-PublicApi.script
+//! @SYMTestCaseDesc		Test custom interface with invalid parameter, NULL expected.
+//!				Uses API elements: NewL(&aObserver, *aServer), CustomInterface().
+//! @SYMTestActions		1. Create tone player object.
+//!				2. Get custom interface.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	NULL CustomInterface is returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MdaAudioToneUtility	\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+		CREATE_OBJECT	CMdaAudioToneUtility	toneutility1
+		COMMAND		toneutility1	NewL
+		COMMAND		toneutility1	CustomInterface	MM-MMF-ACLNT-TONE-PublicApi-0099-001-CustomInterface_command02
+		COMMAND		toneutility1	~
+	END_TEST_BLOCK
+END_TESTCASE			MM-MMF-ACLNT-TONE-PublicApi-0099
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/scripts/setup-MM-MMF-ACLNT-TONE-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,37 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+RUN_UTILS MkDir        	${SYSDRIVE}\multimedia\
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\t_audiotoneutility\
+
+RUN_UTILS CopyFile      z:\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.script	${SYSDRIVE}\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.script
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.script
+
+RUN_UTILS CopyFile      z:\multimedia\t_multimedia.tcs		${SYSDRIVE}\multimedia\t_multimedia.tcs
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia.tcs
+
+RUN_UTILS CopyFile      z:\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini		${SYSDRIVE}\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini
+
+RUN_UTILS CopyFile      z:\multimedia\t_audiotoneutility\sequence1.sqn		${SYSDRIVE}\multimedia\t_audiotoneutility\sequence1.sqn
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_audiotoneutility\sequence1.sqn
+
+RUN_UTILS CopyFile      z:\multimedia\t_audiotoneutility\sequence2.sqn		${SYSDRIVE}\multimedia\t_audiotoneutility\sequence2.sqn
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_audiotoneutility\sequence2.sqn
+
+RUN_UTILS CopyFile      z:\multimedia\t_audiotoneutility\badsequence.sqn	${SYSDRIVE}\multimedia\t_audiotoneutility\badsequence.sqn
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_audiotoneutility\badsequence.sqn
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/src/T_MMDataAudioToneUtility.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,985 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataAudioToneUtility.h"
+#include "T_MMUtil.h"
+
+/*@{*/
+_LIT(KState,							"state");
+_LIT(KSequenceNumber,					"sequencenumber");
+_LIT(KToneLength,						"tonelength");
+_LIT(KToneOffLength,					"toneofflength");
+_LIT(KPauseLength,						"pauselength");
+_LIT(KDtmf,								"dtmf");
+_LIT(KSequence,							"sequence");
+_LIT(KFileName,							"filename");
+_LIT(KFileHandle,						"filehandle");
+_LIT(KFrequency,						"frequency");
+_LIT(KFrequencyTwo,						"frequencytwo");
+_LIT(KDuration,							"duration");
+_LIT(KVolume,							"volume");
+_LIT(KVolumeAdd,						"volumeAdd");
+_LIT(KBalance,							"balance");
+_LIT(KRepeat,							"repeat");
+_LIT(KSilence,							"silence");
+_LIT(KCustomUid,						"customUid");
+_LIT(KSequenceCount,					"sequencecount");
+_LIT(KSequenceName,						"sequencename");
+_LIT(KCustomInterfaceExpected,			"customintexpected");
+
+_LIT(KCmdNewL,							"NewL");
+_LIT(KCmdState,							"State");
+_LIT(KCmdFixedSequenceCount,			"FixedSequenceCount");
+_LIT(KCmdFixedSequenceName,				"FixedSequenceName");
+_LIT(KCmdSetDTMFLengths,				"SetDTMFLengths");
+_LIT(KCmdCancelPrepare,					"CancelPrepare");
+_LIT(KCmdPlay,							"Play");
+_LIT(KCmdCancelPlay,					"CancelPlay");
+_LIT(KCmdPrepareToPlayTone,				"PrepareToPlayTone");
+_LIT(KCmdPrepareToPlayDualTone,			"PrepareToPlayDualTone");
+_LIT(KCmdPrepareToPlayDTMFString,		"PrepareToPlayDTMFString");
+_LIT(KCmdPrepareToPlayDesSequence,		"PrepareToPlayDesSequence");
+_LIT(KCmdPrepareToPlayFileSequence,		"PrepareToPlayFileSequence");
+_LIT(KCmdPrepareToPlayFixedSequence,	"PrepareToPlayFixedSequence");
+_LIT(KCmdSetPriority,					"SetPriority");
+_LIT(KCmdMaxVolume,						"MaxVolume");
+_LIT(KCmdSetVolume,						"SetVolume");
+_LIT(KCmdVolume,						"Volume");
+_LIT(KCmdSetBalanceL,					"SetBalanceL");
+_LIT(KCmdGetBalanceL,					"GetBalanceL");
+_LIT(KCmdSetRepeats,					"SetRepeats");
+_LIT(KCmdSetVolumeRamp,					"SetVolumeRamp");
+_LIT(KCmdCustomInterface,				"CustomInterface");
+_LIT(KCmdDestructor,					"~");
+
+_LIT(KMdaAudioToneMaxVolume,			"MaxVolume");
+
+
+_LIT(KMdaAudioToneUtilityNotReady,		"NotReady");
+_LIT(KMdaAudioToneUtilityPrepared,		"Prepared");
+_LIT(KMdaAudioToneUtilityPlaying,		"Playing");
+_LIT(KMdaAudioToneUtilityUnknown,		"AudioToneUtilityUnknown");
+
+
+_LIT(KMdaAudioToneUtilityMaxLeft,		"MaxLeft");
+_LIT(KMdaAudioToneUtilityMaxRight,		"MaxRight");
+
+_LIT(LMdaRepeatForever,					"RepeatForever");
+/*@}*/
+
+CT_MMDataAudioToneUtility* CT_MMDataAudioToneUtility::NewL()
+/**
+ * Two phase constructor
+ *
+ * @leave	system wide error
+ */
+	{
+	CT_MMDataAudioToneUtility*  ret=new (ELeave) CT_MMDataAudioToneUtility();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+/**
+CT_MMDataAudioToneUtility constructor.
+@internalComponent
+@return N/A
+@pre None
+@post CT_MMDataAudioToneUtility 1st stage constructor
+*/
+CT_MMDataAudioToneUtility::CT_MMDataAudioToneUtility()
+:	iToneUtility(NULL)
+,	iFileOpened(EFalse)
+,	iAsyncErrorIndex(0)
+,	iPlaying(EFalse)
+	{
+	}
+
+void CT_MMDataAudioToneUtility::ConstructL()
+/**
+ * Second phase construction
+ *
+ * @internalComponent
+ *
+ * @return	N/A
+ *
+ * @pre		None
+ * @post	None
+ *
+ * @leave	system wide error
+ */
+	{
+	User::LeaveIfError(iFs.Connect());
+	}
+
+
+/**
+CT_MMDataAudioToneUtility destructor
+@internalComponent
+@return N/A
+@pre None
+@post releases CT_MMDataAudioToneUtility heap memory
+*/
+CT_MMDataAudioToneUtility::~CT_MMDataAudioToneUtility()
+	{
+	DestroyData();
+
+	iFs.Close();
+	}
+
+TAny* CT_MMDataAudioToneUtility::GetObject()
+/**
+ * Return a pointer to the object that the data wraps
+ *
+ * @return	pointer to the object that the data wraps
+ */
+	{
+	return iToneUtility;
+	}
+
+/**
+Releases CT_MMDataAudioToneUtility dynamic memory.
+@internalComponent
+@return void
+@pre None
+@post All dynamic memory deallocated
+*/
+void CT_MMDataAudioToneUtility::DestroyData()
+	{
+	delete iToneUtility;
+	iToneUtility = NULL;
+	if (iFileOpened)
+		{
+		iFile.Close();
+		iFileOpened = EFalse;
+		}
+	iAsyncErrorIndex = 0;
+	}
+
+TBool CT_MMDataAudioToneUtility::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+/**
+ * Process a command read from the ini file
+ *
+ * @param aCommand			The command to process
+ * @param aSection			The section in the ini containing data for the command
+ * @param aAsyncErrorIndex	Command index for async calls to return errors to
+ *
+ * @return					ETrue if the command is processed
+ *
+ * @leave					System wide error
+ */
+    {
+    TBool	ret=ETrue;
+
+    if (aCommand == KCmdNewL)
+        {
+        DoCmdNewL(aSection);
+        }
+    else if(aCommand == KCmdState)
+        {
+        DoCmdState(aSection);
+        }
+    else if(aCommand == KCmdFixedSequenceCount)
+        {
+        DoCmdFixedSequenceCount(aSection);
+        }
+    else if(aCommand == KCmdFixedSequenceName)
+        {
+        DoCmdFixedSequenceName(aSection);
+        }
+    else if(aCommand == KCmdSetDTMFLengths)
+        {
+        DoCmdSetDTMFLengths(aSection);
+        }
+    else if(aCommand == KCmdPlay)
+        {
+        DoCmdPlay(aAsyncErrorIndex);
+        }
+    else if(aCommand == KCmdCancelPlay)
+        {
+        DoCmdCancelPlay();
+        }
+    else if(aCommand == KCmdCancelPrepare)
+        {
+        DoCmdCancelPrepare();
+        }
+    else if(aCommand == KCmdPrepareToPlayTone)
+        {
+        DoCmdPrepareToPlayTone(aSection, aAsyncErrorIndex);
+        }
+    else if(aCommand == KCmdPrepareToPlayDualTone)
+        {
+        DoCmdPrepareToPlayDualTone(aSection, aAsyncErrorIndex);
+        }
+    else if(aCommand == KCmdPrepareToPlayFixedSequence)
+        {
+        DoCmdPrepareToPlayFixedSequence(aSection, aAsyncErrorIndex);
+        }
+    else if(aCommand == KCmdPrepareToPlayDesSequence)
+        {
+        DoCmdPrepareToPlayDesSequenceL(aSection, aAsyncErrorIndex);
+        }
+    else if(aCommand == KCmdPrepareToPlayDTMFString)
+        {
+        DoCmdPrepareToPlayDTMFString(aSection, aAsyncErrorIndex);
+        }
+    else if(aCommand == KCmdPrepareToPlayFileSequence)
+        {
+        DoCmdPrepareToPlayFileSequenceL(aSection, aAsyncErrorIndex);
+        }
+    else if(aCommand == KCmdSetPriority)
+        {
+        DoCmdSetPriority(aSection);
+        }
+    else if(aCommand == KCmdMaxVolume)
+        {
+        DoCmdMaxVolume(aSection);
+        }
+    else if(aCommand == KCmdSetVolume)
+        {
+        DoCmdSetVolume(aSection);
+        }
+    else if(aCommand == KCmdVolume)
+        {
+        DoCmdVolume(aSection);
+        }
+    else if(aCommand == KCmdSetBalanceL)
+        {
+        DoCmdSetBalanceL(aSection);
+        }
+    else if(aCommand == KCmdGetBalanceL)
+        {
+        DoCmdGetBalanceL(aSection);
+        }
+    else if(aCommand == KCmdSetRepeats)
+        {
+        DoCmdSetRepeats(aSection);
+        }
+    else if(aCommand == KCmdSetVolumeRamp)
+        {
+        DoCmdSetVolumeRamp(aSection);
+        }
+	else if(aCommand == KCmdCustomInterface)
+        {
+        DoCmdCustomInterface(aSection);
+		}
+    else if(aCommand == KCmdDestructor)
+        {
+        DoCmdDestructor();
+        }
+    else
+        {
+        ret=EFalse;
+        }
+    return 	ret;
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdNewL(const TDesC& aSection)
+    {
+	DestroyData();
+
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	TInt	err=KErrNone;
+	TInt	priority;
+    if ( CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		TRAP(err, iToneUtility = CMdaAudioToneUtility::NewL(*this, 0, priority, priorityPreference));
+		}
+	else // no priority specified use other overload
+	    {
+        TRAP(err, iToneUtility=CMdaAudioToneUtility::NewL(*this));
+        }
+	if(err!=KErrNone)
+		{
+	    ERR_PRINTF2(_L("CMdaAudioToneUtility::NewL failed with error %d"), err);
+		SetError(err);
+		}
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdState(const TDesC& aSection)
+    {
+    TMdaAudioToneUtilityState   mdaState = iToneUtility->State();
+
+    INFO_PRINTF2(_L("State. state=%S"), &GetStateString(mdaState));
+
+    TMdaAudioToneUtilityState   expectedState;
+    TPtrC                       state;
+
+    if(GetStringFromConfig(aSection, KState(), state))
+        {
+        if ( !ConvertToState(state, expectedState) )
+            {
+            ERR_PRINTF2(_L("Illegal expected state: %S"), &state);
+            SetBlockResult(EFail);
+            }
+        else if ( mdaState != expectedState )
+            {
+            SetBlockResult(EFail);
+            ERR_PRINTF3(_L("state(%S) != expectedState(%S)"), &GetStateString(mdaState), &state);
+            }
+        }
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdFixedSequenceCount(const TDesC& aSection)
+    {
+    TInt    fixedSequenceCount = iToneUtility->FixedSequenceCount();
+
+    INFO_PRINTF2(_L("FixedSequenceCount. count=%d"), fixedSequenceCount);
+
+    TInt	expectedValue;
+    if (GetIntFromConfig(aSection, KSequenceCount(), expectedValue) )
+	    {
+	    if ( expectedValue != fixedSequenceCount )
+		    {
+			SetBlockResult(EFail);
+	        ERR_PRINTF3(_L("FixedSequenceCount(%d) != ExpectedFixedSequenceCount(%d)"), fixedSequenceCount, expectedValue);
+		    }
+		}
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdFixedSequenceName(const TDesC& aSection)
+    {
+	TPtrC	sequence;
+	TInt	sequenceNumber = 0;
+
+	GetIntFromConfig(aSection, KSequenceNumber(), sequenceNumber);
+	INFO_PRINTF2(_L("sequenceNumber. =%d"), sequenceNumber);
+
+	const TDesC&	fixedSequenceName = iToneUtility->FixedSequenceName(sequenceNumber);
+	INFO_PRINTF2(_L("FixedSequenceName. name=%S"), &fixedSequenceName);
+
+	TPtrC	expectedValue;
+	if (GetStringFromConfig(aSection, KSequenceName(), expectedValue) )
+		{
+		if ( expectedValue != fixedSequenceName )
+			{
+			SetBlockResult(EFail);
+			ERR_PRINTF3(_L("FixedSequenceName(%S) != ExpectedFixedSequenceName(%S)"), &fixedSequenceName, &expectedValue);
+			}
+		}
+	}
+
+
+void CT_MMDataAudioToneUtility::DoCmdSetDTMFLengths(const TDesC& aSection)
+    {
+    TInt    toneLength		= 0;
+    TInt    toneOffLength	= 0;
+    TInt    pauseLength		= 0;
+
+    if (!GetIntFromConfig(aSection, KToneLength(), toneLength) )
+        {
+        ERR_PRINTF1(_L("ToneLength param not found"));
+        SetBlockResult(EFail);
+        }
+
+    if (!GetIntFromConfig(aSection, KToneOffLength(), toneOffLength) )
+        {
+        ERR_PRINTF1(_L("ToneOffLength param not found"));
+        SetBlockResult(EFail);
+        }
+
+    if (!GetIntFromConfig(aSection, KPauseLength(), pauseLength) )
+        {
+        ERR_PRINTF1(_L("PauseLength param not found"));
+        SetBlockResult(EFail);
+        }
+
+    iToneUtility->SetDTMFLengths(
+                    TTimeIntervalMicroSeconds32(toneLength),
+                    TTimeIntervalMicroSeconds32(toneOffLength),
+                    TTimeIntervalMicroSeconds32(pauseLength));
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdPlay(const TInt aAsyncErrorIndex)
+    {
+	iAsyncErrorIndex = aAsyncErrorIndex;
+    iToneUtility->Play();
+	iPlaying=ETrue;
+    IncOutstanding();
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdCancelPlay()
+    {
+    iToneUtility->CancelPlay();
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdCancelPrepare()
+    {
+    iToneUtility->CancelPrepare();
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdPrepareToPlayTone(const TDesC& aSection, const TInt aAsyncErrorIndex)
+    {
+    TInt    frequency	= 0;
+    TInt    duration	= 0;
+    iAsyncErrorIndex = aAsyncErrorIndex;
+
+    if (!GetIntFromConfig(aSection, KFrequency(), frequency) )
+        {
+        ERR_PRINTF1(_L("Frequency param not found"));
+        SetBlockResult(EFail);
+        }
+
+    if (!GetIntFromConfig(aSection, KDuration(), duration) )
+        {
+        ERR_PRINTF1(_L("Duration param not found"));
+        SetBlockResult(EFail);
+        }
+
+    iToneUtility->PrepareToPlayTone(
+                    frequency,
+                    TTimeIntervalMicroSeconds(duration));
+	if ( !iPlaying )
+		{
+		IncOutstanding();
+		}
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdPrepareToPlayDualTone(const TDesC& aSection, const TInt aAsyncErrorIndex)
+    {
+    TInt    frequencyOne	= 0;
+    TInt    frequencyTwo	= 0;
+    TInt    duration		= 0;
+    iAsyncErrorIndex = aAsyncErrorIndex;
+
+    if (!GetIntFromConfig(aSection, KFrequency(), frequencyOne) )
+        {
+        ERR_PRINTF1(_L("FrequencyOne param not found"));
+        SetBlockResult(EFail);
+        }
+
+    if (!GetIntFromConfig(aSection, KFrequencyTwo(), frequencyTwo) )
+        {
+        ERR_PRINTF1(_L("FrequencyTwo param not found"));
+        SetBlockResult(EFail);
+        }
+
+    if (!GetIntFromConfig(aSection, KDuration(), duration) )
+        {
+        ERR_PRINTF1(_L("Duration param not found"));
+        SetBlockResult(EFail);
+        }
+
+    iToneUtility->PrepareToPlayDualTone(
+                    frequencyOne,
+                    frequencyTwo,
+                    TTimeIntervalMicroSeconds(duration));
+	if ( !iPlaying )
+		{
+		IncOutstanding();
+		}
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdPrepareToPlayFixedSequence(const TDesC& aSection, const TInt aAsyncErrorIndex)
+    {
+    TPtrC   sequence;
+    TInt    sequenceNumber = 0;
+    iAsyncErrorIndex = aAsyncErrorIndex;
+
+    GetIntFromConfig(aSection, KSequenceNumber(), sequenceNumber);
+    INFO_PRINTF2(_L("sequenceNumber. =%d"), sequenceNumber);
+
+    iToneUtility->PrepareToPlayFixedSequence(sequenceNumber);
+	if ( !iPlaying )
+		{
+		IncOutstanding();
+		}
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdPrepareToPlayDesSequenceL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+    {
+	iAsyncErrorIndex = aAsyncErrorIndex;
+
+    TPtrC   seqfile;
+    if (!GetStringFromConfig(aSection, KSequence(), seqfile) )
+        {
+        ERR_PRINTF1(_L("PrepareToPlayDesSequence: sequence param not found"));
+        SetBlockResult(EFail);
+        }
+	else
+        {
+		RFile	file;
+		User::LeaveIfError(file.Open(iFs, seqfile, EFileRead | EFileShareAny));
+		CleanupClosePushL(file);
+
+		TInt	size = 0;
+		User::LeaveIfError(file.Size(size));
+
+        HBufC8  *sequenceData = HBufC8::NewLC(size);
+        TPtr8   sequence = sequenceData->Des();
+
+		User::LeaveIfError(file.Read(sequence));
+        iToneUtility->PrepareToPlayDesSequence(sequence);
+
+        CleanupStack::PopAndDestroy(2, &file);  // sequenceData, file
+		if ( !iPlaying )
+			{
+			IncOutstanding();
+			}
+	    }
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdPrepareToPlayDTMFString(const TDesC& aSection, const TInt aAsyncErrorIndex)
+    {
+    TPtrC   dtmf;
+	iAsyncErrorIndex = aAsyncErrorIndex;
+
+    if (!GetStringFromConfig(aSection, KDtmf(), dtmf) )
+        {
+        ERR_PRINTF1(_L("PrepareToPlayDTMFString: dtmf param not found"));
+        SetBlockResult(EFail);
+        }
+    else
+        {
+ 	    iToneUtility->PrepareToPlayDTMFString(dtmf);
+		if ( !iPlaying )
+			{
+			IncOutstanding();
+			}
+        }
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdPrepareToPlayFileSequenceL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+    {
+    TPtrC   filename;
+	iAsyncErrorIndex = aAsyncErrorIndex;
+
+    if ( GetStringFromConfig(aSection, KFileName(), filename) )
+        {
+        iToneUtility->PrepareToPlayFileSequence(filename);
+		if ( !iPlaying )
+			{
+			IncOutstanding();
+			}
+        }
+    else
+        {
+        if ( GetStringFromConfig(aSection, KFileHandle(), filename) )
+            {
+
+			if (iFileOpened)
+				{
+				iFile.Close();
+				iFileOpened = EFalse;
+				}
+
+            User::LeaveIfError(iFile.Open(iFs, filename, EFileRead | EFileShareAny));
+            iFileOpened = ETrue;
+
+            iToneUtility->PrepareToPlayFileSequence(iFile);
+			if ( !iPlaying )
+				{
+				IncOutstanding();
+				}
+            }
+        else
+            {
+            ERR_PRINTF1(_L("PrepareToPlayFileSequence: param not found"));
+            SetBlockResult(EFail);
+            }
+        }
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdSetPriority(const TDesC& aSection)
+    {
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	TInt	priority;
+    if ( !CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+	    {
+		priority=EMdaPriorityMin;
+		}
+
+    iToneUtility->SetPriority(priority, priorityPreference);
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdMaxVolume(const TDesC& aSection)
+    {
+    TInt maxVolume = iToneUtility->MaxVolume();
+
+    INFO_PRINTF2(_L("MaxVolume. volume=%d"), maxVolume);
+
+    TInt    expectedVolume;
+
+    if(GetIntFromConfig(aSection, KVolume(), expectedVolume))
+		{
+        if (maxVolume != expectedVolume )
+			{
+			SetBlockResult(EFail);
+			ERR_PRINTF3(_L("maxVolume(%d) != expectedVolume(%d)"), maxVolume, expectedVolume);
+			}
+		}
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdSetVolume(const TDesC& aSection)
+    {
+    TPtrC   volume;
+    TInt    newVolume = 0;
+
+	if ( GetStringFromConfig(aSection, KVolume(), volume) )
+		{
+        if (volume == KMdaAudioToneMaxVolume)
+		    {
+            newVolume = iToneUtility->MaxVolume();
+            }
+        else
+            {
+			if (!GetIntFromConfig(aSection, KVolume(), newVolume) )
+				{
+                ERR_PRINTF1(_L("volume param not found"));
+				SetBlockResult(EFail);
+			    }
+			}
+		}
+
+    TInt    volumeAdd = 0;
+
+    if (GetIntFromConfig(aSection, KVolumeAdd(), volumeAdd))
+		{
+        newVolume += volumeAdd;
+        }
+
+    iToneUtility->SetVolume(newVolume);
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdVolume(const TDesC& aSection)
+    {
+    TInt    actualVolume = iToneUtility->Volume();
+
+    INFO_PRINTF2(_L("Volume. volume=%d"), actualVolume);
+
+    TInt    expectedVolume;
+	TPtrC   volume;
+	TBool	expectedVolumeGiven = ETrue;
+
+    if(GetStringFromConfig(aSection, KVolume(), volume))
+	    {
+        if (volume == KMdaAudioToneMaxVolume)
+		    {
+            expectedVolume = iToneUtility->MaxVolume();
+            }
+        else
+            {
+			expectedVolumeGiven = GetIntFromConfig(aSection, KVolume(), expectedVolume);
+			}
+        if (expectedVolumeGiven && actualVolume != expectedVolume )
+			{
+			SetBlockResult(EFail);
+			ERR_PRINTF3(_L("volume(%d) != expectedVolume(%d)"), actualVolume, expectedVolume);
+			}
+		}
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdSetBalanceL(const TDesC& aSection)
+    {
+	TPtrC   balance;
+    TInt    newBalance = 0;
+
+	if ( GetStringFromConfig(aSection, KBalance(), balance) )
+		{
+		if ( !ConvertToBalance(balance, newBalance) )
+		    {
+			if (!GetIntFromConfig(aSection, KBalance(), newBalance) )
+				{
+				ERR_PRINTF2(_L("Illegal balance %S"), &newBalance);
+				SetBlockResult(EFail);
+			    }
+			}
+		}
+    TRAPD(err, iToneUtility->SetBalanceL(newBalance));
+    if(err != KErrNone)
+		{
+		ERR_PRINTF2(_L("SetBalanceL failed with error %d"), err);
+		SetError(err);
+	    }
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdGetBalanceL(const TDesC& aSection)
+    {
+    TInt    actualBalance = 0;
+
+    TRAPD(err, actualBalance = iToneUtility->GetBalanceL())
+    if(err != KErrNone)
+		{
+		ERR_PRINTF2(_L("GetBalanceL failed with error %d"), err);
+		SetError(err);
+		}
+    else
+        {
+        INFO_PRINTF2(_L("Balance. balance=%d"), actualBalance);
+
+        TInt    expectedBalance;
+		TPtrC   balance;
+		TBool	expectedBalanceGiven = ETrue;
+
+		if(GetStringFromConfig(aSection, KBalance(), balance))
+			{
+            if ( !ConvertToBalance(balance, expectedBalance) )
+                {
+                expectedBalanceGiven = GetIntFromConfig(aSection, KBalance(), expectedBalance);
+                }
+			if (expectedBalanceGiven && actualBalance != expectedBalance )
+			    {
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("balance(%d) != expectedBalance(%d)"), actualBalance, expectedBalance);
+				}
+			}
+        }
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdSetRepeats(const TDesC& aSection)
+    {
+	TPtrC   repeat;
+    TInt    newRepeat = 0;
+
+	if (GetStringFromConfig(aSection, KRepeat(), repeat) )
+		{
+		if ( !ConvertToRepeat(repeat, newRepeat) )
+		    {
+			if (!GetIntFromConfig(aSection, KRepeat(), newRepeat) )
+			    {
+				ERR_PRINTF2(_L("Illegal repeat parameter %S"), &newRepeat);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+    else
+		{
+        ERR_PRINTF1(_L("repeat parameter not found"));
+		SetBlockResult(EFail);
+		}
+
+    TInt    silence = 0;
+
+    if (!GetIntFromConfig(aSection, KSilence(), silence))
+		{
+        ERR_PRINTF1(_L("Silence parameter not found"));
+		SetBlockResult(EFail);
+	    }
+
+    iToneUtility->SetRepeats(newRepeat, TTimeIntervalMicroSeconds(silence));
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdSetVolumeRamp(const TDesC& aSection)
+    {
+    TInt    newVolumeRamp = 0;
+
+	if (!GetIntFromConfig(aSection, KDuration(), newVolumeRamp) )
+		{
+        ERR_PRINTF1(_L("Volume ramp param not found"));
+		SetBlockResult(EFail);
+	    }
+
+    iToneUtility->SetVolumeRamp(TTimeIntervalMicroSeconds(newVolumeRamp));
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdCustomInterface(const TDesC& aSection)
+    {
+    TInt    uidParam = 0;
+
+    if (GetHexFromConfig(aSection, KCustomUid(), uidParam))
+        {
+        TUid	customUid = TUid::Uid(uidParam);
+        TAny*	customInterface = iToneUtility->CustomInterface(customUid);
+        TBool	customInterfaceFound = EFalse;
+        if ( customInterface )
+            {
+            // cast the interface pointer to the desired type
+            customInterfaceFound = ETrue;
+            }
+
+        TBool	customInterfaceExpected = ETrue;
+        GetBoolFromConfig(aSection, KCustomInterfaceExpected(), customInterfaceExpected);
+
+        if ( customInterfaceExpected && !customInterfaceFound )
+            {
+            ERR_PRINTF2(_L("CMdaAudioToneUtility::CustomInterface(0x%X) returned NULL"), customUid.iUid);
+            SetBlockResult(EFail);
+            }
+        else if ( !customInterfaceExpected && customInterfaceFound )
+            {
+            ERR_PRINTF2(_L("CMdaAudioToneUtility::CustomInterface(0x%X) is not NULL"), customUid.iUid);
+            SetBlockResult(EFail);
+            }
+        }
+    else
+        {
+        ERR_PRINTF1(_L("CMdaAudioToneUtility::CustomInterface param not found"));
+        SetBlockResult(EFail);
+        }
+    }
+
+
+void CT_MMDataAudioToneUtility::DoCmdDestructor()
+    {
+    DestroyData();
+    }
+
+
+void CT_MMDataAudioToneUtility::MatoPrepareComplete(TInt aError)
+    {
+    if(aError == KErrNone )
+        {
+        INFO_PRINTF1(_L("MatoPrepareComplete OK"));
+        }
+    else
+        {
+        ERR_PRINTF2(_L("MatoPrepareComplete Error %d"), aError);
+        SetAsyncError(iAsyncErrorIndex, aError);
+        }
+    INFO_PRINTF1(_L("MatoPrepareComplete (end)"));
+    DecOutstanding();
+    }
+
+
+void CT_MMDataAudioToneUtility::MatoPlayComplete(TInt aError)
+    {
+    if(aError == KErrNone )
+        {
+        INFO_PRINTF1(_L("MatoPlayComplete OK"));
+        }
+    else
+        {
+        ERR_PRINTF2(_L("MatoPlayComplete Error %d"), aError);
+        SetAsyncError(iAsyncErrorIndex, aError);
+        }
+
+    INFO_PRINTF1(_L("MatoPlayComplete"));
+
+	if (iFileOpened)
+		{
+		iFile.Close();
+		iFileOpened = EFalse;
+		}
+	iPlaying=EFalse;
+	DecOutstanding();
+    }
+
+
+TBool CT_MMDataAudioToneUtility::ConvertToState(const TDesC& aDesc, TMdaAudioToneUtilityState& aMdaAudioToneUtilityState)
+	{
+	TBool	ret=ETrue;
+
+	if ( aDesc==KMdaAudioToneUtilityNotReady )
+		{
+		aMdaAudioToneUtilityState=EMdaAudioToneUtilityNotReady;
+		}
+	else if ( aDesc==KMdaAudioToneUtilityPrepared )
+		{
+		aMdaAudioToneUtilityState=EMdaAudioToneUtilityPrepared;
+		}
+	else if ( aDesc==KMdaAudioToneUtilityPlaying )
+		{
+		aMdaAudioToneUtilityState=EMdaAudioToneUtilityPlaying;
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+
+const TDesC& CT_MMDataAudioToneUtility::GetStateString(TMdaAudioToneUtilityState& aMdaAudioToneUtilityState)
+	{
+	switch(aMdaAudioToneUtilityState)
+		{
+	case EMdaAudioToneUtilityNotReady:
+		return KMdaAudioToneUtilityNotReady;
+	case EMdaAudioToneUtilityPrepared:
+		return KMdaAudioToneUtilityPrepared;
+	case EMdaAudioToneUtilityPlaying:
+		return KMdaAudioToneUtilityPlaying;
+	default:
+		break;
+		};
+
+	return KMdaAudioToneUtilityUnknown;
+	}
+
+
+TBool CT_MMDataAudioToneUtility::ConvertToBalance(const TDesC& aDesc, TInt &aBalance)
+	{
+	TBool	ret=ETrue;
+
+	if ( aDesc==KMdaAudioToneUtilityMaxLeft )
+		{
+		aBalance=KMMFBalanceMaxLeft;
+		}
+	else if ( aDesc==KMdaAudioToneUtilityMaxRight )
+		{
+		aBalance=KMMFBalanceMaxRight;
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+
+TBool CT_MMDataAudioToneUtility::ConvertToRepeat(const TDesC& aDesc, TInt &aRepeat)
+	{
+	TBool	ret=ETrue;
+
+	if ( aDesc==LMdaRepeatForever )
+		{
+		aRepeat=KMdaRepeatForever;
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/src/T_MdaAudioToneUtilityServer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MdaAudioToneUtilityServer.h"
+ 
+
+CT_MdaAudioToneUtilityServer* CT_MdaAudioToneUtilityServer::NewL()
+/**
+ * @return - Instance of the test server
+ * Same code for Secure and non-secure variants
+ * Called inside the MainL() function to create and start the
+ * CTestServer derived server.
+ */
+	{
+    CT_MdaAudioToneUtilityServer* server = new (ELeave) CT_MdaAudioToneUtilityServer();
+    CleanupStack::PushL(server);
+    server->ConstructL();
+    CleanupStack::Pop(server);
+    return server;
+    }
+
+
+LOCAL_C void MainL()
+/**
+ * Secure variant
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+	{
+#if (defined __DATA_CAGING__)
+    RProcess().DataCaging(RProcess::EDataCagingOn);
+    RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+    CActiveScheduler*	sched=NULL;
+    sched=new(ELeave) CActiveScheduler;
+    CActiveScheduler::Install(sched);
+    CT_MdaAudioToneUtilityServer* server = NULL;
+    
+    // Create the CTestServer derived server
+    TRAPD(err,server = CT_MdaAudioToneUtilityServer::NewL());
+    if(!err)
+	    {
+        // Sync with the client and enter the active scheduler
+        RProcess::Rendezvous(KErrNone);
+        sched->Start();
+        }
+
+    delete server;
+    delete sched;
+    }
+
+
+GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on process exit
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ */
+	{
+    __UHEAP_MARK;
+    CTrapCleanup* cleanup = CTrapCleanup::New();
+    if(cleanup == NULL)
+	    {
+        return KErrNoMemory;
+        }
+
+#if (defined TRAP_IGNORE)
+	TRAP_IGNORE(MainL());
+#else
+    TRAPD(err,MainL());
+#endif
+
+    delete cleanup;
+    __UHEAP_MARKEND;
+    return KErrNone;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MdaAudioToneUtility/testdata/MM-MMF-ACLNT-TONE-PublicAPI.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1493 @@
+[include]
+file1=\multimedia\t_multimedia.ini
+
+[MM-MMF-ACLNT-TONE-PublicApi-0001-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0002-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypref=8
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0003-001-NewL_command01]
+priority=250
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0004-001-NewL_command01]
+priority=250
+prioritypreference=8
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0005-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0006-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0007-001-SetVolume_command02]
+volume=MaxVolume
+volumeAdd=20
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0007-001-Volume_command03]
+volume=MaxVolume
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0007-001-SetVolume_command04]
+volume=-20
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0007-001-Volume_command05]
+volume=0
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0008-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0008-001-SetBalanceL_command02]
+balance=-200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0008-001-GetBalanceL_command03]
+balance=MaxLeft
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0008-001-SetBalanceL_command04]
+balance=200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0008-001-GetBalanceL_command05]
+balance=MaxRight
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0009-001-SetVolume_command02]
+volume=65
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0009-001-Volume_command03]
+volume=65
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0009-001-SetBalanceL_command04]
+balance=56
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0009-001-GetBalanceL_command05]
+balance=56
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0010-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0010-001-SetPriority_command02]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0010-001-SetPriority_command03]
+priority=100
+prioritypreference=None
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0010-001-SetPriority_command04]
+priority=-100
+prioritypreference=Time
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0010-001-SetPriority_command05]
+priority=-50
+prioritypreference=Quality
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0011-001-SetPriority_command02]
+priority=-800
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0012-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0012-001-SetPriority_command02]
+priority={default_mmf, tone_priority}
+prioritypreference=5
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0013-001-SetPriority_command02]
+priority=500
+prioritypreference=40
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0014-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0014-001-SetDTMFLengths_command02]
+toneofflength=3000000
+tonelength=5000000
+pauselength=2000000
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0015-001-SetDTMFLengths_command02]
+toneofflength=3000000
+tonelength=-5000000
+pauselength=2000000
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0016-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0016-001-SetDTMFLengths_command02]
+toneofflength=-3000000
+tonelength=5000000
+pauselength=2000000
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0017-001-SetDTMFLengths_command02]
+toneofflength=3000000
+tonelength=5000000
+pauselength=-2000000
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0018-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0018-001-SetDTMFLengths_command02]
+toneofflength=-3000000
+tonelength=-5000000
+pauselength=-2000000
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0019-001-SetRepeats_command02]
+repeat=10
+silence=100
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0019-001-SetRepeats_command03]
+repeat=0
+silence=0
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0019-001-SetRepeats_command04]
+repeat=1
+silence={default_mmf, tone_priority}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0019-001-SetRepeats_command05]
+repeat=RepeatForever
+silence=5000
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0023-001-SetRepeats_command02]
+repeat=RepeatForever
+silence=1000000
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0023-001-PrepareToPlayTone_command03]
+duration=10000000
+frequency=500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0023-001-State_command06]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0024-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0024-001-SetVolumeRamp_command02]
+duration=-5000000
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0025-001-SetRepeats_command02]
+repeat=RepeatForever
+silence=1000000
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0025-001-PrepareToPlayTone_command03]
+duration=10000000
+frequency=500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0025-001-SetVolumeRamp_command04]
+duration=5000000
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0025-001-State_command07]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0026-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0027-001-FixedSequenceName_command02]
+sequencenumber=0
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0029-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0029-001-PrepareToPlayTone_command03]
+duration=5000000
+frequency=500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0030-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0030-001-PrepareToPlayTone_command02]
+duration=-5000000
+frequency=500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0031-001-PrepareToPlayTone_command02]
+duration=5000000
+frequency=-500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0032-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0032-001-PrepareToPlayTone_command02]
+duration=-5000000
+frequency=-500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0033-001-PrepareToPlayTone_command02]
+duration=5000000
+frequency=500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0033-001-State_command03]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0033-001-PrepareToPlayTone_command04]
+duration=6000000
+frequency=600
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0034-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0034-001-PrepareToPlayTone_command02]
+duration=5000000
+frequency=500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0034-001-PrepareToPlayTone_command04]
+duration=5000000
+frequency=500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0035-001-SetRepeats_command02]
+repeat=RepeatForever
+silence=1000000
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0035-001-PrepareToPlayTone_command03]
+duration=5000000
+frequency=500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0036-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0036-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0036-001-PrepareToPlayTone_command03]
+duration=5000000
+frequency=500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0036-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0036-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0036-001-PrepareToPlayTone_command07]
+duration=5000000
+frequency=500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0036-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0036-001-State_command10]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0036-001-State_command12]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0037-001-SetRepeats_command02]
+repeat=RepeatForever
+silence=1000000
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0037-001-State_command03]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0037-001-PrepareToPlayTone_command04]
+duration=5000000
+frequency=500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0037-001-State_command05]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0037-001-State_command07]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0037-001-PrepareToPlayTone_command08]
+duration=5000000
+frequency=500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0037-001-State_command09]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0037-001-State_command12]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0037-001-State_command14]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0037-001-State_command16]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0038-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0038-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0038-001-PrepareToPlayTone_command03]
+duration=5000000
+frequency=500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0038-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0038-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0038-001-PrepareToPlayTone_command07]
+duration=5000000
+frequency=500
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0038-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0038-001-State_command11]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0038-001-State_command13]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0038-001-State_command15]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0039-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0039-001-PrepareToPlayDTMFString_command03]
+dtmf=125774 6788* #A *d
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0040-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0040-001-PrepareToPlayDTMFString_command02]
+dtmf=125774 (): 6788* #A *d
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0041-001-PrepareToPlayDTMFString_command02]
+dtmf=~
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0042-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0042-001-PrepareToPlayDTMFString_command02]
+dtmf=125774 6788* #A *d
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0042-001-PrepareToPlayDTMFString_command04]
+dtmf=125774 6788* #A *d
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0043-001-PrepareToPlayDTMFString_command02]
+dtmf=125774 6788* #A *d
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0043-001-PrepareToPlayDTMFString_command03]
+dtmf=345774 6788* #A *d
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0044-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0044-001-SetRepeats_command02]
+repeat=RepeatForever
+silence=1000000
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0044-001-PrepareToPlayDTMFString_command03]
+dtmf=125774 6788* #A *d
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0045-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0045-001-PrepareToPlayDTMFString_command03]
+dtmf=125774 6788* #A *d
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0045-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0045-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0045-001-PrepareToPlayDTMFString_command07]
+dtmf=125774 6788* #A *d
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0045-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0045-001-State_command10]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0045-001-State_command12]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0046-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0046-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0046-001-PrepareToPlayDTMFString_command03]
+dtmf=125774 6788* #A *d
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0046-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0046-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0046-001-PrepareToPlayDTMFString_command07]
+dtmf=125774 6788* #A *d
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0046-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0046-001-State_command11]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0046-001-State_command13]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0046-001-State_command15]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0047-001-State_command02]
+state=NotReady
+
+[MM-MMF-ACLNT-TONE-PublicApi-0047-001-PrepareToPlayDTMFString_command03]
+dtmf=125774 6788* #A *d
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0047-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0047-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0047-001-PrepareToPlayDTMFString_command07]
+dtmf=125774 6788* #A *d
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0047-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0047-001-State_command11]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0047-001-State_command13]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0048-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0048-001-State_command02]
+state=NotReady
+
+[MM-MMF-ACLNT-TONE-PublicApi-0048-001-State_command04]
+state=Prepared
+
+[MM-MMF-ACLNT-TONE-PublicApi-0048-001-PrepareToPlayDesSequence_command03]
+sequence={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0049-001-PrepareToPlayDesSequence_command02]
+sequence={default_mmf, bad_sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0050-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0050-001-PrepareToPlayDesSequence_command02]
+sequence={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0050-001-PrepareToPlayDesSequence_command04]
+sequence={default_mmf, alternate_sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0051-001-PrepareToPlayDesSequence_command02]
+sequence={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0051-001-PrepareToPlayDesSequence_command03]
+sequence={default_mmf, alternate_sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0052-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0052-001-PrepareToPlayDesSequence_command02]
+sequence={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0053-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0053-001-PrepareToPlayDesSequence_command03]
+sequence={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0053-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0053-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0053-001-PrepareToPlayDesSequence_command07]
+sequence={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0053-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0053-001-State_command12]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0053-001-State_command14]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0054-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0054-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0054-001-PrepareToPlayDesSequence_command03]
+sequence={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0054-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0054-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0054-001-PrepareToPlayDesSequence_command07]
+sequence={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0054-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0054-001-State_command11]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0054-001-State_command13]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0054-001-State_command15]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0055-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0055-001-PrepareToPlayDesSequence_command03]
+sequence={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0055-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0055-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0055-001-PrepareToPlayDesSequence_command07]
+sequence={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0055-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0055-001-State_command11]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0055-001-State_command13]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0055-001-State_command15]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0056-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0056-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0056-001-PrepareToPlayFileSequence_command03]
+filename={default_mmf, alternate_sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0057-001-PrepareToPlayFileSequence_command02]
+filename={default_mmf, wrong_filename}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0058-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0058-001-PrepareToPlayFileSequence_command02]
+filename={default_mmf, alternate_sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0058-001-PrepareToPlayFileSequence_command05]
+filename={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0059-001-PrepareToPlayFileSequence_command02]
+filename={default_mmf, alternate_sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0059-001-PrepareToPlayFileSequence_command03]
+filename={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0060-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0060-001-PrepareToPlayFileSequence_command02]
+filename={default_mmf, alternate_sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0061-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0061-001-PrepareToPlayFileSequence_command03]
+filename={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0061-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0061-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0061-001-PrepareToPlayFileSequence_command07]
+filename={default_mmf, alternate_sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0061-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0061-001-State_command11]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0061-001-State_command13]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0061-001-State_command15]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0062-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0062-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0062-001-PrepareToPlayFileSequence_command03]
+filename={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0062-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0062-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0062-001-PrepareToPlayFileSequence_command07]
+filename={default_mmf, alternate_sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0062-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0062-001-State_command11]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0062-001-State_command13]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0062-001-State_command15]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0063-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0063-001-PrepareToPlayFileSequence_command03]
+filename={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0063-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0063-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0063-001-PrepareToPlayFileSequence_command07]
+filename={default_mmf, alternate_sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0063-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0063-001-State_command11]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0063-001-State_command13]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0063-001-State_command15]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0064-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0064-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0064-001-PrepareToPlayFixedSequence_command03]
+sequencenumber=0
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0066-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0066-001-PrepareToPlayFixedSequence_command02]
+sequencenumber=0
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0066-001-PrepareToPlayFixedSequence_command04]
+sequencenumber=0
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0067-001-PrepareToPlayFixedSequence_command02]
+sequencenumber=0
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0067-001-PrepareToPlayFixedSequence_command03]
+sequencenumber=0
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0069-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0069-001-PrepareToPlayFixedSequence_command03]
+sequencenumber=0
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0069-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0069-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0069-001-PrepareToPlayFixedSequence_command07]
+sequencenumber=0
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0069-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0069-001-State_command10]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0069-001-State_command12]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0070-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0070-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0070-001-PrepareToPlayFixedSequence_command03]
+sequencenumber=0
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0070-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0070-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0070-001-PrepareToPlayFixedSequence_command07]
+sequencenumber=0
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0070-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0070-001-State_command11]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0070-001-State_command13]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0070-001-State_command15]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0071-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0071-001-PrepareToPlayFixedSequence_command03]
+sequencenumber=0
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0071-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0071-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0071-001-PrepareToPlayFixedSequence_command07]
+sequencenumber=0
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0071-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0071-001-State_command11]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0071-001-State_command13]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0071-001-State_command15]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0072-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0072-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0072-001-PrepareToPlayDualTone_command03]
+duration=5000000
+frequency=500
+frequencytwo=1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0073-001-PrepareToPlayDualTone_command02]
+duration=500000
+frequency=-500
+frequencytwo=1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0074-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0074-001-PrepareToPlayDualTone_command02]
+duration=500000
+frequency=-500
+frequencytwo=-1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0075-001-PrepareToPlayDualTone_command02]
+duration=-500000
+frequency=-500
+frequencytwo=-1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0076-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0076-001-PrepareToPlayDualTone_command02]
+duration=-500000
+frequency=500
+frequencytwo=-1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0077-001-PrepareToPlayDualTone_command02]
+duration=-500000
+frequency=500
+frequencytwo=1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0078-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0078-001-PrepareToPlayDualTone_command02]
+duration=-500000
+frequency=-500
+frequencytwo=1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0079-001-PrepareToPlayDualTone_command02]
+duration=5000000
+frequency=500
+frequencytwo=1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0079-001-PrepareToPlayDualTone_command04]
+duration=6000000
+frequency=600
+frequencytwo=2200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0080-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0080-001-PrepareToPlayDualTone_command02]
+duration=5000000
+frequency=500
+frequencytwo=1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0080-001-PrepareToPlayDualTone_command03]
+duration=6000000
+frequency=600
+frequencytwo=2200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0081-001-PrepareToPlayDualTone_command02]
+duration=5000000
+frequency=500
+frequencytwo=1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0082-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0082-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0082-001-PrepareToPlayDualTone_command03]
+duration=5000000
+frequency=500
+frequencytwo=1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0082-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0082-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0082-001-PrepareToPlayDualTone_command07]
+duration=5000000
+frequency=500
+frequencytwo=1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0082-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0082-001-State_command10]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0082-001-State_command12]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0083-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0083-001-PrepareToPlayDualTone_command03]
+duration=5000000
+frequency=500
+frequencytwo=1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0083-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0083-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0083-001-PrepareToPlayDualTone_command07]
+duration=5000000
+frequency=500
+frequencytwo=1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0083-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0083-001-State_command11]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0083-001-State_command13]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0083-001-State_command15]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0084-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0084-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0084-001-PrepareToPlayDualTone_command03]
+duration=5000000
+frequency=500
+frequencytwo=1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0084-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0084-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0084-001-PrepareToPlayDualTone_command07]
+duration=5000000
+frequency=500
+frequencytwo=1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0084-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0084-001-State_command11]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0084-001-State_command13]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0084-001-State_command15]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0085-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0085-001-PrepareToPlayFileSequence_command03]
+filehandle={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0086-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0086-001-PrepareToPlayFileSequence_command02]
+filehandle={default_mmf, bad_sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0087-001-PrepareToPlayFileSequence_command02]
+filehandle={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0087-001-PrepareToPlayFileSequence_command04]
+filehandle={default_mmf, alternate_sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0088-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0088-001-PrepareToPlayFileSequence_command02]
+filehandle={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0088-001-PrepareToPlayFileSequence_command05]
+filehandle={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0089-001-PrepareToPlayFileSequence_command02]
+filehandle={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0090-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0090-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0090-001-PrepareToPlayFileSequence_command03]
+filehandle={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0090-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0090-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0090-001-PrepareToPlayFileSequence_command07]
+filehandle={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0090-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0090-001-State_command12]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0090-001-State_command14]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0091-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0091-001-PrepareToPlayFileSequence_command03]
+filehandle={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0091-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0091-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0091-001-PrepareToPlayFileSequence_command07]
+filehandle={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0091-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0091-001-State_command11]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0091-001-State_command13]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0091-001-State_command15]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0092-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0092-001-State_command02]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0092-001-PrepareToPlayFileSequence_command03]
+filehandle={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0092-001-State_command04]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0092-001-State_command06]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0092-001-PrepareToPlayFileSequence_command07]
+filehandle={default_mmf, sequence}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0092-001-State_command08]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0092-001-State_command11]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0092-001-State_command13]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0092-001-State_command15]
+state=NotReady
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0094-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0096-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0096-001-PrepareToPlayDualTone_command02]
+duration=500000
+frequency=500
+frequencytwo=1200
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0096-001-State_command03]
+state=Prepared
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0096-001-State_command06]
+state=Playing
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0097-001-CustomInterface_command02]
+customUid=101FD9F3
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0098-001-NewL_command01]
+priority={default_mmf, tone_priority}
+prioritypreference={default_mmf, tone_prioritypreference}
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0098-001-CustomInterface_command02]
+customUid=1
+customintexpected=0
+
+
+[MM-MMF-ACLNT-TONE-PublicApi-0099-001-CustomInterface_command02]
+customUid=FFF
+customintexpected=0
+
+
+[toneutility1]
+name=toneutility1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/group/T_MidiClientUtility.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+TARGET			t_midiclientutility.exe
+TARGETTYPE		exe
+UID				0x1000007A 0x20000F7A
+VENDORID		0x70000001
+
+CAPABILITY		UserEnvironment MultimediaDD
+
+SOURCEPATH		../src
+
+SOURCE			../../../common/src/DataWrapperBase.cpp
+SOURCE			../../../common/src/T_MMUtil.cpp
+
+SOURCE			T_MMDataMidiClientUtility.cpp
+SOURCE			T_MidiClientUtilityServer.cpp
+
+USERINCLUDE		../inc
+USERINCLUDE		../../../common/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE	/epoc32/include/test
+
+LIBRARY			euser.lib
+LIBRARY			efsrv.lib
+LIBRARY			testexecuteutils.lib
+LIBRARY			testexecutelogclient.lib
+LIBRARY			bafl.lib
+LIBRARY			midiclient.lib
+LIBRARY			mmfcontrollerframework.lib
+LIBRARY			mmcommon.lib
+LIBRARY			imageconversion.lib
+LIBRARY			iniparser.lib
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,41 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTEXPORTS
+t_midiclientutility.iby							/epoc32/rom/include/t_midiclientutility.iby
+t_midiclientutility_binaries.iby				/epoc32/rom/include/t_midiclientutility_binaries.iby
+t_midiclientutility_testdata.iby				/epoc32/rom/include/t_midiclientutility_testdata.iby
+
+../pkg/T_MidiClientUtility.pkg					/epoc32/pkg/t_midiclientutility.pkg
+../pkg/tmidiclientutility.bat					/epoc32/pkg/tmidiclientutility.bat
+../scripts/MM-MMF-MIDI-PublicAPI.script			/epoc32/pkg/mm-mmf-midi-publicapi.script
+
+../testdata/MM-MMF-MIDI-PublicAPI.ini			/epoc32/pkg/mm-mmf-midi-publicapi.ini
+../../../../testdata/mmf/T_MidiClientUtility/midi.mid							/epoc32/pkg/t_midiclientutility/midi.mid
+../../../../testdata/mmf/T_MidiClientUtility/textmidi.mid						/epoc32/pkg/t_midiclientutility/textmidi.mid
+../../../../testdata/mmf/T_MidiClientUtility/midiclienttest.gm						/epoc32/pkg/t_midiclientutility/midiclienttest.gm
+
+../scripts/setup-MM-MMF-MIDI-PublicAPI.script	z:/multimedia/setup-mm-mmf-midi-publicapi.script
+../scripts/MM-MMF-MIDI-PublicAPI.script			z:/multimedia/mm-mmf-midi-publicapi.script
+
+../testdata/MM-MMF-MIDI-PublicAPI.ini			z:/multimedia/mm-mmf-midi-publicapi.ini
+../../../../testdata/mmf/T_MidiClientUtility/midi.mid							z:/multimedia/t_midiclientutility/midi.mid
+../../../../testdata/mmf/T_MidiClientUtility/textmidi.mid						z:/multimedia/t_midiclientutility/textmidi.mid
+../../../../testdata/mmf/T_MidiClientUtility/midiclienttest.gm						z:/multimedia/t_midiclientutility/midiclienttest.gm
+
+PRJ_TESTMMPFILES
+T_MidiClientUtility.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/group/t_midiclientutility.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,24 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MIDICLIENTUTILITY_IBY__)
+#define __T_MIDICLIENTUTILITY_IBY__
+
+#include <t_midiclientutility_binaries.iby>
+#include <t_midiclientutility_testdata.iby>
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/group/t_midiclientutility_binaries.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MIDICLIENTUTILITY_BINARIES_IBY__)
+#define __T_MIDICLIENTUTILITY_BINARIES_IBY__
+
+#include <testexecute.iby>
+
+#if (!defined EKA2)
+file=ABI_DIR\BUILD_DIR\t_midiclientutility.exe 	system\libs\t_midiclientutility.exe
+#else
+file=ABI_DIR\BUILD_DIR\t_midiclientutility.exe 	system\bin\t_midiclientutility.exe
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/group/t_midiclientutility_testdata.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_MIDICLIENTUTILITY_TESTDATA_IBY__)
+#define __T_MIDICLIENTUTILITY_TESTDATA_IBY__
+
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-MIDI-PublicAPI.script			multimedia\MM-MMF-MIDI-PublicAPI.script
+
+data=EPOCROOT##Epoc32\data\z\multimedia\setup-MM-MMF-MIDI-PublicAPI.script		multimedia\setup-MM-MMF-MIDI-PublicAPI.script
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-MIDI-PublicAPI.ini				multimedia\MM-MMF-MIDI-PublicAPI.ini
+data=EPOCROOT##Epoc32\data\z\multimedia\t_midiclientutility\midi.mid			multimedia\t_midiclientutility\midi.mid
+data=EPOCROOT##Epoc32\data\z\multimedia\t_midiclientutility\textmidi.mid		multimedia\t_midiclientutility\textmidi.mid
+data=EPOCROOT##Epoc32\data\z\multimedia\t_midiclientutility\midiclienttest.gm		multimedia\t_midiclientutility\midiclienttest.gm
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/inc/T_MMDataMidiClientUtility.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,184 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MM_DATA_MIDI_CLIENT_UTILITY_H__ )
+#define __T_MM_DATA_MIDI_CLIENT_UTILITY_H__
+
+
+#include "DataWrapperBase.h"
+
+//	EPOC includes
+#include <ecam.h>
+#include <w32std.h>
+#include <testexecuteserverutils.h>
+#include <testexecutestepbase.h>
+#include <midiclientutility.h>
+
+const TInt	KCustomCommandBufferSize		=255;
+
+/**
+CMidiClientUtility API test commands
+@internalComponent
+*/
+class CT_MMDataMidiClientUtility : public CDataWrapperBase, private MMidiClientUtilityObserver
+	{
+public:
+	/**
+	* Two phase constructor
+	*/
+	static CT_MMDataMidiClientUtility*	NewL();
+
+	/**
+	* Public destructor
+	*/
+	~CT_MMDataMidiClientUtility();
+
+	//MMidiClientUtilityObserver implementation
+	virtual void	MmcuoStateChanged(TMidiState aOldState, TMidiState aNewState, const TTimeIntervalMicroSeconds &aTime, TInt aError);
+	virtual void	MmcuoTempoChanged(TInt aMicroBeatsPerMinute);
+	virtual void	MmcuoVolumeChanged(TInt aChannel, TReal32 aVolumeInDecibels);
+	virtual void	MmcuoMuteChanged(TInt aChannel, TBool aMuted);
+	virtual void	MmcuoSyncUpdate(const TTimeIntervalMicroSeconds &aMicroSeconds, TInt64 aMicroBeats);
+	virtual void	MmcuoMetaDataEntryFound(const TInt aMetaDataEntryId, const TTimeIntervalMicroSeconds &aPosition);
+	virtual void	MmcuoMipMessageReceived(const RArray< TMipMessageEntry > &aMessage);
+	virtual void	MmcuoPolyphonyChanged(TInt aNewPolyphony);
+	virtual void	MmcuoInstrumentChanged(TInt aChannel, TInt aBankId, TInt aInstrumentId);
+
+	virtual TAny*	GetObject();
+	virtual TBool	DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+
+protected:
+	/**
+	* Protected constructor. First phase construction
+	*/
+	CT_MMDataMidiClientUtility();
+
+	void	ConstructL();
+
+private:
+	inline void			DoCmdChannelVolumeL(const TDesC& aSection);
+	inline void			DoCmdChannelsSupportedL(const TDesC& aSection);
+	inline void			DoCmdClose(const TInt aAsyncErrorIndex);
+	inline void			DoCmdCustomBankLoadedL(const TDesC& aSection);
+	inline void			DoCmdCustomCommandAsyncL(const TDesC& aSectionx, const TInt aAsyncErrorIndex);
+	inline void			DoCmdCustomCommandSyncL(const TDesC& aSection);
+	inline void			DoCmdDurationMicroBeatsL(const TDesC& aSection);
+	inline void			DoCmdDurationMicroSecondsL(const TDesC& aSection);
+	inline void			DoCmdGetBalanceL(const TDesC& aSection);
+	inline void			DoCmdGetBankIdL(const TDesC& aSection);
+	inline void			DoCmdGetDRMCustomCommand(const TDesC& aSection);
+	inline void			DoCmdGetInstrumentIdL(const TDesC& aSection);
+	inline void			DoCmdGetInstrumentL(const TDesC& aSection);
+	inline void			DoCmdGetMetaDataEntryL(const TDesC& aSection);
+	inline void			DoCmdGetRepeats(const TDesC& aSection);
+	inline void			DoCmdInstrumentNameL(const TDesC& aSection);
+	inline void			DoCmdIsChannelMuteL(const TDesC& aSection);
+	inline void			DoCmdIsTrackMuteL(const TDesC& aSection);
+	inline void			DoCmdLoadCustomBankDataL(const TDesC& aSection);
+	inline void			DoCmdLoadCustomBankL(const TDesC& aSection);
+	inline void			DoCmdLoadCustomInstrumentDataL(const TDesC& aSection);
+	inline void			DoCmdLoadCustomInstrumentL(const TDesC& aSection);
+	inline void			DoCmdMaxChannelVolumeL(const TDesC& aSection);
+	inline void			DoCmdMaxPlaybackRateL(const TDesC& aSection);
+	inline void			DoCmdMaxPolyphonyL(const TDesC& aSection);
+	inline void			DoCmdMaxVolumeL(const TDesC& aSection);
+	inline void			DoCmdMimeTypeL(const TDesC& aSection);
+	inline void			DoCmdMinPlaybackRateL(const TDesC& aSection);
+	inline void			DoCmdNewL(const TDesC& aSection);
+	inline void			DoCmdNoteOffL(const TDesC& aSection);
+	inline void			DoCmdNoteOnL(const TDesC& aSection);
+	inline void			DoCmdNumTracksL(const TDesC& aSection);
+	inline void			DoCmdNumberOfBanksL(const TDesC& aSection);
+	inline void			DoCmdNumberOfInstrumentsL(const TDesC& aSection);
+	inline void			DoCmdNumberOfMetaDataEntriesL(const TDesC& aSection);
+	inline void			DoCmdOpenDesL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void			DoCmdOpenFileL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void			DoCmdOpenUrlL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void			DoCmdPercussionKeyNameL(const TDesC& aSection);
+	inline void			DoCmdPitchTranspositionCentsL(const TDesC& aSection);
+	inline void			DoCmdPlay(const TInt aAsyncErrorIndex);
+	inline void			DoCmdPlayNoteL(const TDesC& aSection);
+	inline void			DoCmdPlaybackRateL(const TDesC& aSection);
+	inline void			DoCmdPolyphonyL(const TDesC& aSection);
+	inline void			DoCmdPositionMicroBeatsL(const TDesC& aSection);
+	inline void			DoCmdPositionMicroSecondsL(const TDesC& aSection);
+	inline void			DoCmdSendMessageL(const TDesC& aSection);
+	inline void			DoCmdSendMipMessageL(const TDesC& aSection);
+	inline void			DoCmdSetBalanceL(const TDesC& aSection);
+	inline void			DoCmdSetBankL(const TDesC& aSection);
+	inline void			DoCmdSetChannelMuteL(const TDesC& aSection);
+	inline void			DoCmdSetChannelVolumeL(const TDesC& aSection);
+	inline void			DoCmdSetInstrumentL(const TDesC& aSection);
+	inline void			DoCmdSetMaxPolyphonyL(const TDesC& aSection);
+	inline void			DoCmdSetPitchTranspositionL(const TDesC& aSection);
+	inline void			DoCmdSetPlaybackRateL(const TDesC& aSection);
+	inline void			DoCmdSetPositionMicroBeatsL(const TDesC& aSection);
+	inline void			DoCmdSetPositionMicroSecondsL(const TDesC& aSection);
+	inline void			DoCmdSetPriorityL(const TDesC& aSection);
+	inline void			DoCmdSetRepeatsL(const TDesC& aSection);
+	inline void			DoCmdSetStopTimeL(const TDesC& aSection);
+	inline void			DoCmdSetSyncUpdateCallbackIntervalL(const TDesC& aSection);
+	inline void			DoCmdSetTempoL(const TDesC& aSection);
+	inline void			DoCmdSetTrackMuteL(const TDesC& aSection);
+	inline void			DoCmdSetVolumeL(const TDesC& aSection);
+	inline void			DoCmdSetVolumeRampL(const TDesC& aSection);
+	inline void			DoCmdState(const TDesC& aSection);
+	inline void			DoCmdStop(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void			DoCmdStopNotes(const TDesC& aSection);
+	inline void			DoCmdStopTimeL(const TDesC& aSection);
+	inline void			DoCmdTempoMicroBeatsPerMinuteL(const TDesC& aSection);
+	inline void			DoCmdUnloadAllCustomBanksL();
+	inline void			DoCmdUnloadCustomBankL(const TDesC& aSection);
+	inline void			DoCmdUnloadCustomInstrumentL(const TDesC& aSection);
+	inline void			DoCmdVolumeL(const TDesC& aSection);
+	inline void			DoCmdDestructor();
+
+	//	Helper methods
+	void				DestroyData();
+	void				LogDataFromTextL();
+
+	//	CActiveCallback implementation
+ 	void 				RunL(CActive* aActive, TInt aIndex);
+ 	void				DoCancel(CActive* aActive, TInt aIndex);
+ 	inline void			RunCustomCommandAsyncL(TInt aIndex);
+ 	inline void			DoCancelCustomCommandAsync();
+
+private:
+	CMidiClientUtility*				iMidiClient;
+	RFile							iFile;
+	CActiveCallback*				iActiveCallback;
+	HBufC8*							iBuffer;
+	TInt 							iApiAsyncErrorIndex;
+	TInt							iCustomBankId;
+	TBool							iFileOpened;
+	RFs								iFs;
+	TUid							iMidiControllerUid;
+	TUid							iMidiFormatUid;
+	TReal32 						iMaxChannelVolume;
+	TInt	 						iMaxVolume;
+	TInt							iPlaybackRate;
+	TInt							iMaxPolyphony;
+	HBufC8*							iCommandDataBuffer1;
+	HBufC8*							iCommandDataBuffer2;
+	TBuf8<KCustomCommandBufferSize>	iDataFromText;
+	TBool 							iCustomCommandData;
+	TPtr8*							iBufferPtr;
+	};
+
+#endif /* __T_MM_DATA_MIDI_CLIENT_UTILITY_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/inc/T_MidiClientUtilityServer.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MIDI_CLIENT_UTILITY_SERVER_H__)
+#define __T_MIDI_CLIENT_UTILITY_SERVER_H__
+
+//	EPOC Includes
+#include <testblockcontroller.h>
+#include <testserver2.h>
+
+class CT_MidiClientUtilityServer : public CTestServer2
+	{
+private:
+	class CT_MidiClientUtilityBlock : public CTestBlockController
+		{
+	public:
+		inline CT_MidiClientUtilityBlock();
+		inline ~CT_MidiClientUtilityBlock();
+
+		inline CDataWrapper*	CreateDataL(const TDesC& aData);
+		};
+
+public:
+	inline ~CT_MidiClientUtilityServer();
+
+	inline void	DeleteActiveSchedulerL();
+
+	static CT_MidiClientUtilityServer* NewL();
+
+	inline CTestBlockController*	CreateTestBlock();
+
+protected:
+	inline CT_MidiClientUtilityServer();
+	};
+
+#include "T_MidiClientUtilityServer.inl"
+
+#endif /* __T_MIDI_CLIENT_UTILITY_SERVER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/inc/T_MidiClientUtilityServer.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataMidiClientUtility.h"
+
+_LIT(KDataMidiClientUtility,	"CMidiClientUtility");
+
+CT_MidiClientUtilityServer::CT_MidiClientUtilityBlock::CT_MidiClientUtilityBlock()
+:	CTestBlockController()
+	{
+	}
+
+CT_MidiClientUtilityServer::CT_MidiClientUtilityBlock::~CT_MidiClientUtilityBlock()
+	{
+	}
+
+CDataWrapper* CT_MidiClientUtilityServer::CT_MidiClientUtilityBlock::CreateDataL(const TDesC& aData)
+	{
+	CDataWrapper*	wrapper = NULL;
+	if( KDataMidiClientUtility() == aData )
+		{
+		wrapper = CT_MMDataMidiClientUtility::NewL();
+		}
+	return wrapper;
+	}
+
+CT_MidiClientUtilityServer::CT_MidiClientUtilityServer()
+	{
+	}
+
+CT_MidiClientUtilityServer::~CT_MidiClientUtilityServer()
+	{
+	}
+
+void CT_MidiClientUtilityServer::DeleteActiveSchedulerL()
+	{
+	}
+
+CTestBlockController* CT_MidiClientUtilityServer::CreateTestBlock()
+	{
+	return new CT_MidiClientUtilityBlock();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/pkg/T_MidiClientUtility.pkg	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,53 @@
+;
+; Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+;
+;
+; Install file for T_MidiClientUtility.exe
+;
+
+; Languages - 
+&EN
+
+; Installation header
+; UID is the app's UID
+#{"T_MidiClientUtility"},(0x20000F7A),1,0,0
+
+;%{"Vendor-EN"}
+;:"Symbian"
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+
+"T_MidiClientUtility.exe"-"!:\sys\bin\T_MidiClientUtility.exe"
+"tmidiclientutility.bat"-"!:\multimedia\tmidiclientutility.bat"
+"MM-MMF-MIDI-PublicAPI.script"-"!:\multimedia\MM-MMF-MIDI-PublicAPI.script"
+"t_multimedia.tcs"-"!:\multimedia\t_multimedia.tcs"
+"MM-MMF-MIDI-PublicAPI.ini"-"!:\multimedia\MM-MMF-MIDI-PublicAPI.ini"
+"t_midiclientutility\midi.mid"-"!:\multimedia\t_midiclientutility\midi.mid"
+"t_midiclientutility\textmidi.mid"-"!:\multimedia\t_midiclientutility\textmidi.mid"
+"t_midiclientutility\midiclienttest.gm"-"!:\multimedia\t_midiclientutility\midiclienttest.gm"
+"t_multimedia.ini"-"!:\multimedia\t_multimedia.ini"
+
+
+; Required files
+; None
+
+; Component .sis files
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/pkg/tmidiclientutility.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testexecute \multimedia\MM-MMF-MIDI-PublicAPI
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/scripts/MM-MMF-MIDI-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,4933 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName		MM-MMF-MIDI-PublicAPI
+//! @SYMScriptTestEnvironment	This test script requires a ROM with either a test MIDI implementation
+//!				or hardware that has a MIDI plug-in.
+/////////////////////////////////////////////////////////////////////
+// MM-MMF-MIDI-PublicAPI.script
+//
+// Tests all public elements of the CMidiClientUtility class
+// as a means of confidence that the APIs work as expected.
+// 
+// The purpose is to provide a regression test suite of PublishedAll APIs for CMidiClientUtility.
+// Negative testing is performed to confirm that correct errors are returned when incorrect parameters are given.
+// The tests are fully automated.
+/////////////////////////////////////////////////////////////////////
+
+LOAD_SUITE	T_MidiClientUtility
+
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0001
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0001
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Open the MIDI file using TDesC8 to play
+//!				Uses API elements: NewL(), OpenDes(), Play(), Stop(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2.open a descriptor containing MIDI data and perform initialisation ready for playback. 3. Play data.
+//!				4. Stop Playing. 5. Close File.
+//!				8. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults  	Midi file open and play with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL
+		COMMAND		midiclientutility1	OpenDes		MM-MMF-MIDI-PublicAPI-0001-001-OpenDes_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	Play
+		ASYNC_DELAY	5000000
+		COMMAND		midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0001
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0002
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0002
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Open the MIDI file using TDesC to play
+//!				Uses API elements: NewL(), OpenFile(), Play(), Stop(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open a file containing MIDI data and perform initialisation ready for playback. 3. Play data.
+//!				4. Stop Playing. 5. Close File.
+//!				8. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults  	Midi file open and play with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL
+		COMMAND		midiclientutility1	OpenFile	MM-MMF-MIDI-PublicAPI-0002-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	Play
+		ASYNC_DELAY	500000
+		COMMAND		midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0002
+
+///////////////////////////////////////////////////////////////////////////////////
+
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0003
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0003
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Open the midi file using RFile and Play
+//!				Uses API elements: NewL(), OpenFile(), Play(), Stop(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open a file containing MIDI data and perform initialisation ready for playback. 3. Play data.
+//!				4. Stop Playing. 5. Close File.
+//!				8. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults  	Midi file open and play with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL
+		COMMAND		midiclientutility1	OpenFile	MM-MMF-MIDI-PublicAPI-0003-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	Play
+		ASYNC_DELAY	500000
+		COMMAND		midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0003
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0004
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0004
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Open MIDI file using TMMSource and play
+//!				Uses API elements: NewL(), OpenFile(), Play(), Stop(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open a file containing MIDI data and perform initialisation ready for playback. 3. Play data.
+//!				4. Stop Playing. 5. Close File.
+//!				8. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults  	Midi file open and play with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL
+		COMMAND		midiclientutility1	OpenFile	MM-MMF-MIDI-PublicAPI-0004-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	Play
+		ASYNC_DELAY	500000
+		COMMAND		midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0004
+
+///////////////////////////////////////////////////////////////////////////////////
+
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0005
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0005
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Open a URL containing MIDI data and perform initialisation ready for playback and Play
+//!				Uses API elements: NewL(), OpenUrl(), Play(), Stop(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open a URL containing MIDI data and perform initialisation ready for playback. 3. Play data.
+//!				4. Stop Playing. 5. Close File.
+//!				8. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults  	Midi file open and play with no errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL
+		COMMAND		midiclientutility1	OpenUrl		MM-MMF-MIDI-PublicAPI-0005-001-OpenUrl_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	Play
+		ASYNC_DELAY	500000
+		COMMAND		midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0005
+
+///////////////////////////////////////////////////////////////////////////////////
+
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0006
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0006
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		SetMaxChannelVolumeL then check it and check it after mute and unmute.
+//!				Uses API elements: NewL(), OpenFile(), MaxChannelVolumeL(),SetChannelVolumeL(), ChannelVolumeL(),SetChannelMuteL(),IsChannelMuteL(),ChannelVolumeL(),SetChannelMuteL(),ChannelVolumeL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open a file containing MIDI data and perform initialisation ready for playback. 3. Get MaxChannelVolume.
+//!				4. Set Max channel volume. 5. Get Channel volume. 6. Set channel Mute. 7. Check is it muted. 8. Check Volume. 9. Set channel unmute. 10. Check volume.
+//!				11. Close File. 12. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults  	Set Max channel volume without errors and check that it is not changing after mute and after unmute
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0006-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	MaxChannelVolumeL
+		COMMAND		midiclientutility1	SetChannelVolumeL	MM-MMF-MIDI-PublicAPI-0006-001-SetChannelVolumeL_command04
+		COMMAND		midiclientutility1	ChannelVolumeL
+		COMMAND		midiclientutility1	SetChannelMuteL		MM-MMF-MIDI-PublicAPI-0006-001-SetChannelMuteL_command06
+		COMMAND		midiclientutility1	IsChannelMuteL		MM-MMF-MIDI-PublicAPI-0006-001-IsChannelMuteL_command07
+		COMMAND		midiclientutility1	ChannelVolumeL
+		COMMAND		midiclientutility1	SetChannelMuteL		MM-MMF-MIDI-PublicAPI-0006-001-SetChannelMuteL_command09
+		COMMAND		midiclientutility1	IsChannelMuteL		MM-MMF-MIDI-PublicAPI-0006-001-IsChannelMuteL_command10
+		COMMAND		midiclientutility1	ChannelVolumeL
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0006
+
+
+///////////////////////////////////////////////////////////////////////////////////
+
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0007
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0007
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set Max volume and check is it set.
+//!				Uses API elements: NewL(), OpenFile(), MaxVolumeL(), SetVolumeL(), VolumeL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open a file containing MIDI data and perform initialisation ready for playback. 3. Get Max Volume. 4. Set Max Volume. 5. Get Current Volume.
+//!				6. Close File.
+//!				7. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Max volume set without errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0007-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	MaxVolumeL
+		COMMAND		midiclientutility1	SetVolumeL
+		COMMAND		midiclientutility1	VolumeL
+		COMMAND		midiclientutility1	ChannelVolumeL
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0007
+
+///////////////////////////////////////////////////////////////////////////////////
+
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0008
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0008
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Load one bank and unload without errors.
+//!				Uses API elements: NewL(), OpenFile(), LoadCustomBankL(), CustomBankLoadedL(), NumberOfBanksL(), UnloadCustomBankL(), CustomBankLoadedL(), NumberOfBanksL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open a file containing MIDI data and perform initialisation ready for playback. 3. Load Custom Bank. 4. Check is it loaded.
+//!				5. Get Number of loaded banks. 6. Unload Custom bank. 7. Check is it unloaded. 8. Check is the number of custom banks is 0.
+//!				9. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0008-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	LoadCustomBankL		MM-MMF-MIDI-PublicAPI-0008-001-LoadCustomBankL_command03
+		COMMAND		midiclientutility1	CustomBankLoadedL	MM-MMF-MIDI-PublicAPI-0008-001-CustomBankLoadedL_command04
+		COMMAND		midiclientutility1	NumberOfBanksL		MM-MMF-MIDI-PublicAPI-0008-001-NumberOfBanksL_command05
+		COMMAND		midiclientutility1	UnloadCustomBankL
+		COMMAND		midiclientutility1	CustomBankLoadedL	MM-MMF-MIDI-PublicAPI-0008-001-CustomBankLoadedL_command07
+		COMMAND		midiclientutility1	NumberOfBanksL		MM-MMF-MIDI-PublicAPI-0008-001-NumberOfBanksL_command08
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0008
+
+
+///////////////////////////////////////////////////////////////////////////////////
+
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0009
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0009
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Load bank and get id of this bank.
+//!				Uses API elements: NewL(), OpenFile(), LoadCustomBankDataL(), GetBankIdL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Load one custom sound bank from a descriptor into memory for use.
+//!				3. Get ID of loaded bank.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Loaded bank id is the same which was geted.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0009-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	LoadCustomBankDataL	MM-MMF-MIDI-PublicAPI-0009-001-LoadCustomBankDataL_command03
+		COMMAND		midiclientutility1	GetBankIdL		MM-MMF-MIDI-PublicAPI-0009-001-GetBankIdL_command04
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0009
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0010
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0010
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Load 2 banks and then unload all banks.
+//!				Uses API elements: NewL(), OpenFile(), LoadCustomBankL(), LoadCustomBankL(),NumberOfBanksL(), UnloadAllCustomBanksL(), NumberOfBanksL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Load 2 custom sound banks from a descriptor into memory for use.
+//!				3. Get Number of banks. 4. Unload All banks.5. Get number of loaded banks.
+//!				6. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Number of banks after loading is 2 and after Uload is 0
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0010-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	LoadCustomBankDataL	MM-MMF-MIDI-PublicAPI-0010-001-LoadCustomBankDataL_command03
+		COMMAND		midiclientutility1	LoadCustomBankDataL	MM-MMF-MIDI-PublicAPI-0010-001-LoadCustomBankDataL_command04
+		COMMAND		midiclientutility1	NumberOfBanksL		MM-MMF-MIDI-PublicAPI-0010-001-NumberOfBanksL_command05
+		COMMAND		midiclientutility1	UnloadAllCustomBanksL
+		COMMAND		midiclientutility1	NumberOfBanksL		MM-MMF-MIDI-PublicAPI-0010-001-NumberOfBanksL_command07
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0010
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0011
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0011
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get default number of repeats.
+//!				Uses API elements: NewL(), OpenFile(), GetRepeats(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object.
+//!				2. Get Number of repeats
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Default value of repeats expect 0
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0011-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	GetRepeats
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0011
+
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0012
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0012
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set num of repeats and then check number of repeats
+//!				Uses API elements: NewL(), OpenFile(), SetRepeatsL(), GetRepeats(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set 3 repeats.
+//!				3. Get Number of repeats
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Number of repeats is equals to the value that was set.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0012-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	SetRepeatsL		MM-MMF-MIDI-PublicAPI-0012-001-SetRepeatsL_command03
+		COMMAND		midiclientutility1	GetRepeats		MM-MMF-MIDI-PublicAPI-0012-001-GetRepeats_command04
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0012
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0013
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0013
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set position and then get position.
+//!				Uses API elements: NewL(), OpenFile(), SetPositionMicroBeatsL(), PositionMicroBeatsL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set position.
+//!				3. Get position.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Position is the same that was set.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0013-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	Play
+		ASYNC_DELAY	100
+		COMMAND		midiclientutility1	SetPositionMicroBeatsL	MM-MMF-MIDI-PublicAPI-0013-001-SetPositionMicroBeatsL_command05
+		COMMAND		midiclientutility1	PositionMicroBeatsL	MM-MMF-MIDI-PublicAPI-0013-001-PositionMicroBeatsL_command06
+		COMMAND		midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0013
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0014
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0014
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		10/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set position and then get position.
+//!				Uses API elements: NewL(), OpenFile(), SetPositionMicroSecondsL(), PositionMicroSecondsL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set position.
+//!				3. Get position.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Position is the same that was set.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	OpenFile			MM-MMF-MIDI-PublicAPI-0014-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	Play
+		ASYNC_DELAY	100
+		COMMAND		midiclientutility1	SetPositionMicroSecondsL	MM-MMF-MIDI-PublicAPI-0014-001-SetPositionMicroSecondsL_command05
+		COMMAND		midiclientutility1	PositionMicroSecondsL		MM-MMF-MIDI-PublicAPI-0014-001-PositionMicroSecondsL_command06
+		COMMAND		midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0014
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0015
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0015
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set stop time and then check that it was set
+//!				Uses API elements: NewL(), SetStopTimeL(), StopTimeL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set stop time.
+//!				3. Get stop time
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Returned value is the same that was set
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0015-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	Play
+		ASYNC_DELAY	100
+		COMMAND		midiclientutility1	SetStopTimeL		MM-MMF-MIDI-PublicAPI-0015-001-SetStopTimeL_command05
+		COMMAND		midiclientutility1	StopTimeL		MM-MMF-MIDI-PublicAPI-0015-001-StopTimeL_command06
+		COMMAND		midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0015
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0016
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0016
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set max playbackrate value and check it.
+//!				Uses API elements: NewL(), MaxPlaybackRateL(), SetPlaybackRateL(), PlaybackRateL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set max playback rate.
+//!				3. Get playback rate
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Returned value is equals to max value
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	MaxPlaybackRateL
+		COMMAND		midiclientutility1	SetPlaybackRateL
+		COMMAND		midiclientutility1	PlaybackRateL
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0016
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0017
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0017
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set min playbackrate value and check it.
+//!				Uses API elements: NewL(), MinPlaybackRateL(), SetPlaybackRateL(), PlaybackRateL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set min playback rate.
+//!				3. Get playback rate
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Returned value is equals to min value
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	MinPlaybackRateL
+		COMMAND		midiclientutility1	SetPlaybackRateL
+		COMMAND		midiclientutility1	PlaybackRateL
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0017
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0018
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0018
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set balance and then check that it was set.
+//!				Uses API elements: NewL(), SetBalanceL(), GetBalanceL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set balance.
+//!				2. Get balance.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Returned value is the same that I set
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	SetBalanceL		MM-MMF-MIDI-PublicAPI-0018-001-SetBalanceL_command02
+		COMMAND		midiclientutility1	GetBalanceL		MM-MMF-MIDI-PublicAPI-0018-001-GetBalanceL_command03
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0018
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0019
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0019
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get number of supported channels.
+//!				Uses API elements: NewL(), ChannelsSupportedL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object.
+//!				2. Gets the maximum number of logical channels supported by the MIDI engine.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Returned value (0 \<= value \<=15)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	ChannelsSupportedL
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0019
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0020
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0020
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		13/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Asynchronously pass implementation-specific commands to the MIDI engine using 6 parameters (TMMFMessageDestinationPckg,TInt,TDesC8,TDesC8,TDesC8,TRequestStatus).
+//!				Uses API elements: NewL(), CustomCommandAsync().
+//! @SYMTestActions    		1. Create CMidiClientUtility object.
+//!				2. Send command data buffer, eg command parameters.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Request completed successfully
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	CustomCommandAsync		MM-MMF-MIDI-PublicAPI-0020-001-CustomCommandAsync_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0020
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0021
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0021
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Asynchronously pass implementation-specific commands to the MIDI engine using 5 parameters (TMMFMessageDestinationPckg,TInt,TDesC8,TDesC8,TRequestStatus)
+//!				Uses API elements: NewL(), CustomCommandAsync().
+//! @SYMTestActions    		1. Create CMidiClientUtility object.
+//!				2. Send command data buffer, eg command parameters.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Request completed successfully
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	CustomCommandAsync		MM-MMF-MIDI-PublicAPI-0021-001-CustomCommandAsync_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0021
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0022
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0022
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Synchronously pass implementation-specific commands to the MIDI engine usign 5 parameters (TMMFMessageDestinationPckg,TInt,TDesC8,TDesC8,TDesC8).
+//!				Uses API elements: NewL(), CustomCommandSyncL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object.
+//!				2. Send command data buffer, eg command parameters.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Request completed successfully
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	CustomCommandSyncL		MM-MMF-MIDI-PublicAPI-0022-001-CustomCommandSyncL_command02
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0022
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0023
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0023
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Synchronously pass implementation-specific commands to the MIDI engine using 4 parameters (TMMFMessageDestinationPckg,TInt,TDesC8,TDesC8).
+//!				Uses API elements: NewL(), CustomCommandSyncL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object.
+//!				2. Send command data buffer, eg command parameters.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Request completed successfully
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	CustomCommandSyncL		MM-MMF-MIDI-PublicAPI-0023-001-CustomCommandSyncL_command02
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0023
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0024
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0024
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Gets the length of the currently open MIDI resource in micro-beats.
+//!				Uses API elements: NewL(), DurationMicroBeatsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object.
+//!				2. Get the length of the currently open MIDI resource in micro-beats.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Correct value of length
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	OpenDes				MM-MMF-MIDI-PublicAPI-0024-001-OpenDes_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	DurationMicroBeatsL
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0024
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0025
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0025
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Gets the length of the currently open MIDI resource in micro-seconds.
+//!				Uses API elements: NewL(), DurationMicroSecondsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object.
+//!				2. Get the length of the currently open MIDI resource in micro-seconds
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Correct value of length
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	OpenDes				MM-MMF-MIDI-PublicAPI-0025-001-OpenDes_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	DurationMicroSecondsL
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0025
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0026
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0026
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Track mute and unmute cheking.
+//!				Uses API elements: NewL(), SetTrackMuteL(), IsTrackMuteL(), SetTrackMuteL(), IsTrackMuteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Mute Track. 3. Check is it muted
+//!				4. UnMute track. 5. Check is it unMuted.
+//!				6. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Track muted and unmuted successfully
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenDes			MM-MMF-MIDI-PublicAPI-0026-001-OpenDes_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	SetTrackMuteL		MM-MMF-MIDI-PublicAPI-0026-001-SetTrackMuteL_command03
+		COMMAND		midiclientutility1	IsTrackMuteL		MM-MMF-MIDI-PublicAPI-0026-001-IsTrackMuteL_command04
+		COMMAND		midiclientutility1	SetTrackMuteL		MM-MMF-MIDI-PublicAPI-0026-001-SetTrackMuteL_command05
+		COMMAND		midiclientutility1	IsTrackMuteL		MM-MMF-MIDI-PublicAPI-0026-001-IsTrackMuteL_command06
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0026
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0027
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0027
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set length of time over which the volume is faded up from zero to the current settings when playback is started.
+//!				Uses API elements: NewL(), SetVolumeRampL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object.
+//!				2. Set length of time.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Value successfully set
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	SetVolumeRampL		MM-MMF-MIDI-PublicAPI-0027-001-SetVolumeRampL_command02
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0027
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0028
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0028
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Check that instrument loaded and unloaded successfully
+//!				Uses API elements: NewL(), LoadCustomInstrumentL(), NumberOfInstrumentsL(), UnloadCustomInstrumentL(), NumberOfInstrumentsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Load New instrument from file. 3. Get number of loaded instruments in bank.
+//!				4. Unload instrument. 5. Get number of loaded instruments
+//!				6. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Instrument correctly loaded and unloaded.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	LoadCustomInstrumentL		MM-MMF-MIDI-PublicAPI-0028-001-LoadCustomInstrumentL_command02
+		COMMAND		midiclientutility1	NumberOfInstrumentsL		MM-MMF-MIDI-PublicAPI-0028-001-NumberOfInstrumentsL_command03
+		COMMAND		midiclientutility1	UnloadCustomInstrumentL		MM-MMF-MIDI-PublicAPI-0028-001-UnloadCustomInstrumentL_command04
+		COMMAND		midiclientutility1	NumberOfInstrumentsL		MM-MMF-MIDI-PublicAPI-0028-001-NumberOfInstrumentsL_command05
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0028
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0029
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0029
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Assigned instrument to a specified channel.
+//!				Uses API elements: NewL(), LoadCustomInstrumentDataL(), SetInstrumentL(), GetInstrumentL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Load New custom instrument from data. 3. Sets a logical channel to use the given instrument.
+//!				4. Gets the instrument assigned to a specified channel.
+//!				5. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Instrument correctly loaded and unloaded.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	LoadCustomInstrumentDataL	MM-MMF-MIDI-PublicAPI-0029-001-LoadCustomInstrumentDataL_command02
+		COMMAND		midiclientutility1	SetInstrumentL			MM-MMF-MIDI-PublicAPI-0029-001-SetInstrumentL_command03
+		COMMAND		midiclientutility1	GetInstrumentL			MM-MMF-MIDI-PublicAPI-0029-001-GetInstrumentL_command04
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0029
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0030
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0030
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get ID of loaded instrument.
+//!				Uses API elements: NewL(), LoadCustomInstrumentL(), GetInstrumentIdL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Load New custom instrument from data.
+//!				3. Get the identifier of an instrument.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Returned ID is correct.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	LoadCustomInstrumentL		MM-MMF-MIDI-PublicAPI-0030-001-LoadCustomInstrumentL_command02
+		COMMAND		midiclientutility1	GetInstrumentIdL		MM-MMF-MIDI-PublicAPI-0030-001-GetInstrumentIdL_command03
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0030
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0031
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0031
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get number of truck in the current open midi file.
+//!				Uses API elements: NewL(), OpenFile(), NumTracksL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open MIDI file
+//!				3. Get number of Tracks. 4. Close file.
+//!				5. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Correct value.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0031-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	NumTracksL
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0031
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0032
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0032
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set max polyphony and then check that it was set.
+//!				Uses API elements: NewL(), MaxPolyphonyL(), SetMaxPolyphonyL(), PolyphonyL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the maximum polyphony level.
+//!				3. Set Max Polyphony value. 4. Get the number of currently active voices.
+//!				5. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Max polyphony level.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	MaxPolyphonyL
+		COMMAND		midiclientutility1	SetMaxPolyphonyL	MM-MMF-MIDI-PublicAPI-0032-001-SetMaxPolyphonyL_command03
+		COMMAND		midiclientutility1	PolyphonyL
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0032
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0033
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0033
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Commence to playback of a note.
+//!				Uses API elements: NewL(), OpenFile(), NoteOnL(), NoteOffL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2.Open File. 3. Commence playback of a note.
+//!				4. Terminate playback of a note. 5. Close.
+//!				6. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors during process
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0033-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	NoteOnL			MM-MMF-MIDI-PublicAPI-0033-001-NoteOnL_command03
+		COMMAND		midiclientutility1	NoteOffL		MM-MMF-MIDI-PublicAPI-0033-001-NoteOffL_command04
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0033
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0034
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0034
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set tempo and them check that it was set.
+//!				Uses API elements: NewL(), OpenFile(), SetTempoL(), TempoMicroBeatsPerMinuteL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2.Open File. 3. Set the tempo at which the current MIDI resource should be played.
+//!				4. Get the current tempo of the MIDI resource 5. Close.
+//!				6. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Value that was set equals to the geted value
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	OpenFile			MM-MMF-MIDI-PublicAPI-0034-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	SetTempoL			MM-MMF-MIDI-PublicAPI-0034-001-SetTempoL_command03
+		COMMAND		midiclientutility1	TempoMicroBeatsPerMinuteL	MM-MMF-MIDI-PublicAPI-0034-001-TempoMicroBeatsPerMinuteL_command04
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0034
+
+///////////////////////////////////////////////////////////////////////////////////
+
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0035
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0035
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Play a single note using functions with 5 parameters.
+//!				Uses API elements: NewL(), OpenFile(), PlayNoteL(), StopNotes(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2.Open File.
+//!				3. PlayNote. 4. Stop playing notes 5. Close.
+//!				6. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors during process
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0035-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	PlayNoteL		MM-MMF-MIDI-PublicAPI-0035-001-PlayNoteL_command03
+		COMMAND		midiclientutility1	StopNotes		MM-MMF-MIDI-PublicAPI-0035-001-StopNotes_command04
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0035
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0036
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0036
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Play a single note using functions with 6 parameters.
+//!				Uses API elements: NewL(), OpenFile(), PlayNoteL(), StopNotes(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2.Open File.
+//!				3. PlayNote. 4. Stop playing notes 5. Close.
+//!				6. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors during process
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0036-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	PlayNoteL		MM-MMF-MIDI-PublicAPI-0036-001-PlayNoteL_command03
+		COMMAND		midiclientutility1	StopNotes		MM-MMF-MIDI-PublicAPI-0036-001-StopNotes_command04
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0036
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0037
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0037
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Send a single MIDI message using only TDesC8 (1 parameter) to the MIDI engine.
+//!				Uses API elements: NewL(), OpenFile(), SendMessageL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2.Open File.
+//!				3. PlayNote. 4. Send message 5. Close.
+//!				6. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors during process
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0037-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	SendMessageL		MM-MMF-MIDI-PublicAPI-0037-001-SendMessageL_command03
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0037
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0038
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0038
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Send a single MIDI message (using 2 parameters) to the MIDI engine.
+//!				Uses API elements: NewL(), OpenFile(), SendMessageL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2.Open File.
+//!				3. PlayNote. 4. Send message 5. Close.
+//!				6. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors during process
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0038-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	SendMessageL		MM-MMF-MIDI-PublicAPI-0038-001-SendMessageL_command03
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0038
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0039
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0039
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Send a mip message to the MIDI engine.
+//!				Uses API elements: NewL(), OpenFile(), SendMipMessageL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2.Open File.
+//!				3. PlayNote. 4. Send message 5. Close.
+//!				6. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors during process
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0039-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	SendMipMessageL		MM-MMF-MIDI-PublicAPI-0039-001-SendMipMessageL_command03
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0039
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0040
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0040
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Read streaming audio data until complete.
+//!				Uses API elements: NewL(), OpenFile(), InstrumentNameL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2.Open File.
+//!				3. Get instrument name from standard sound bank. 4. Close.
+//!				5. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Name is a correct value
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0040-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	InstrumentNameL		MM-MMF-MIDI-PublicAPI-0040-001-InstrumentNameL_command03
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0040
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0041
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0041
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get a controller's DRM custom command implementation..
+//!				Uses API elements: NewL(), OpenFile(), GetDRMCustomCommand(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object.
+//!				2. Get a controller's DRM custom command implementation.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Correct result
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0041-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	GetDRMCustomCommand
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0041
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0042
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0042
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get the number of meta data entries and then retrieve the meta data entry.
+//!				Uses API elements: NewL(), OpenDes(), NumberOfMetaDataEntriesL(), GetMetaDataEntryL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource file. 3. Get the number of meta data entries in the currently open resource.
+//!				4. Retrieve the meta data entry. 5. Close resource.
+//!				6. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Correct result
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	OpenDes				MM-MMF-MIDI-PublicAPI-0042-001-OpenDes_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	NumberOfMetaDataEntriesL
+		COMMAND		midiclientutility1	GetMetaDataEntryL		MM-MMF-MIDI-PublicAPI-0042-001-GetMetaDataEntryL_command04
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0042
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0043
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0043
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Gets the MIME type of the MIDI resource currently open.
+//!				Uses API elements: NewL(), OpenFile(), MimeTypeL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource file. 3. Get the number of meta data entries in the currently open resource.
+//!				4. Retrieve the meta data entry. 5. Close resource.
+//!				6. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Correct result
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0043-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	MimeTypeL
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0043
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0044b
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0044b
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get the currently state of midi file.
+//!				Uses API elements: NewL(), OpenFile(), Play(), State(), Stop(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource file. 3. Start playing.
+//!				4. Get the current state of the MIDI client utility. 5. Stop. 6. Close resource.
+//!				7. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	A MIDI resource is open and currently playing (EMidiStateOpenPlaying).
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL
+		COMMAND		midiclientutility1	OpenFile	MM-MMF-MIDI-PublicAPI-0044b-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	Play
+		ASYNC_DELAY	500000
+		COMMAND		midiclientutility1	State		MM-MMF-MIDI-PublicAPI-0044b-001-State_command05
+		COMMAND		midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0044b
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0045
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0045
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get the pitch shift in use for the currently open MIDI resource and then set new.
+//!				Uses API elements: NewL(), OpenFile(), PitchTranspositionCentsL(), SetPitchTranspositionL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource file. 3. Get the pitch shift for open MIDI resource.
+//!				4. Set the pitch shift to open MIDI resource. 6. Close resource.
+//!				7. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	OpenFile			MM-MMF-MIDI-PublicAPI-0045-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	PitchTranspositionCentsL
+		COMMAND		midiclientutility1	SetPitchTranspositionL		MM-MMF-MIDI-PublicAPI-0045-001-SetPitchTranspositionL_command04
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0045
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0046
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0046
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get the name of a particular percussion key corresponding to a given note.
+//!				Uses API elements: NewL(), OpenFile(), PercussionKeyNameL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource file.
+//!				3. Get the name of a particular percussion key corresponding to a given note. 4. Close resource.
+//!				5. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	The name of the percussion key.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	OpenFile			MM-MMF-MIDI-PublicAPI-0046-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	PercussionKeyNameL		MM-MMF-MIDI-PublicAPI-0046-001-PercussionKeyNameL_command03
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0046
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0047
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0047
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Load custom bank and set is as a default bank.
+//!				Uses API elements: NewL(), OpenFile(), LoadCustomBankL(), SetBankL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource file. 3. Load custom bank.
+//!				4. Override standarts banks by custom. 5. Close resource.
+//!				6. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Banks successfully overrided
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0047-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	LoadCustomBankL		MM-MMF-MIDI-PublicAPI-0047-001-LoadCustomBankL_command03
+		COMMAND		midiclientutility1	SetBankL		MM-MMF-MIDI-PublicAPI-0047-001-SetBankL_command04
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0047
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0048
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0048
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set the priority (EMdaPriorityPreferenceNone, -Time, -Quality, -TimeAndQuality) with which this client plays MIDI data.
+//!				Uses API elements: NewL(), OpenFile(), SetPriorityL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource file.
+//!				3. Override standart banks by custom. 4. Close resource.
+//!				5. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0048-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	SetPriorityL		MM-MMF-MIDI-PublicAPI-0048-001-SetPriorityL_command03
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0048
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0049
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0049
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		14/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set the frequency.
+//!				Uses API elements: NewL(), OpenFile(), SetSyncUpdateCallbackIntervalL(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource file.
+//!				3. Set the frequency. 4. Close resource.
+//!				5. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL			
+		COMMAND		midiclientutility1	OpenFile				MM-MMF-MIDI-PublicAPI-0049-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	SetSyncUpdateCallbackIntervalL		MM-MMF-MIDI-PublicAPI-0049-001-SetSyncUpdateCallbackIntervalL_command04
+		ASYNC_DELAY	50000
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0049
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////NEGATIVE TESTCASES//////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////OpenFile(const TDesC aFileName)///////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0051
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0051
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Open file using incorrect path.
+//!				Uses API elements: NewL(), OpenFile(), Play(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open Midi File. 3. Play 4. Close File.
+//!				5. Destroy object 
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND			midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0051-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	midiclientutility1	Play
+		ASYNC_DELAY		500000
+		COMMAND			midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0051
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0052
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0052
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Open file is not a MIDI file.
+//!				Uses API elements: NewL(), OpenFile(), Play(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open Midi File. 3. Play 4. Close File.
+//!				5. Destroy object
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL
+		COMMAND			midiclientutility1	OpenFile	MM-MMF-MIDI-PublicAPI-0052-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	midiclientutility1	Play
+		ASYNC_DELAY		500000
+		COMMAND			midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0052
+
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////OpenFile(const RFile aFile)//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0055
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0055
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Open file that not a MIDI file.
+//!				Uses API elements: NewL(), OpenFile(), Play(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open Midi File. 3. Play 4. Close File.
+//!				5. Destroy object
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND			midiclientutility1	OpenFile	MM-MMF-MIDI-PublicAPI-0055-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	midiclientutility1	Play
+		ASYNC_DELAY		500000
+		COMMAND			midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0055
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////OpenFile(const TMMSource aSource)//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0057
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0057
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Open file using incorrect path.
+//!				Uses API elements: NewL(), OpenFile(), Play(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open Midi File. 3. Play 4. Close File.
+//!				5. Destroy object
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!AsyncError=-1	midiclientutility1	OpenFile	MM-MMF-MIDI-PublicAPI-0057-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND			midiclientutility1	Play
+		OUTSTANDING
+		COMMAND			midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0057
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0058
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0058
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Open file that not a MIDI file.
+//!				Uses API elements: NewL(), OpenFile(), Play(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open Midi File. 3. Play 4. Close File.
+//!				5. Destroy object
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL
+		COMMAND			midiclientutility1	OpenFile	MM-MMF-MIDI-PublicAPI-0058-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	midiclientutility1	Play
+		ASYNC_DELAY		500000
+		COMMAND			midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0058
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////OpenUrl()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0060
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0060
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Open file using incorrect URL.
+//!				Uses API elements: NewL(), OpenUrl(), Play(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open Midi File. 4.Play. 5. Close File.
+//!				6. Destroy object
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL
+		COMMAND			midiclientutility1	OpenUrl		MM-MMF-MIDI-PublicAPI-0060-001-OpenUrl_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	midiclientutility1	Play
+		OUTSTANDING
+		COMMAND			midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0060
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0061
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0061
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Open file that not a MIDI file.
+//!				Uses API elements: NewL(), OpenUrl(), Play(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open Midi File. 3. Play. 4. Close File.
+//!				5. Destroy object
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL
+		COMMAND			midiclientutility1	OpenUrl		MM-MMF-MIDI-PublicAPI-0061-001-OpenUrl_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	midiclientutility1	Play
+		OUTSTANDING
+		COMMAND			midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0061
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0062
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0062
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Remote host not responding.
+//!				Uses API elements: NewL(), OpenUrl(), Play(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open Midi File. 3.Play. 4. Close File.
+//!				5. Destroy object
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL
+		COMMAND			midiclientutility1	OpenUrl		MM-MMF-MIDI-PublicAPI-0062-001-OpenUrl_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	midiclientutility1	Play
+		OUTSTANDING
+		COMMAND			midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0062
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////OpenDes()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0063
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0063
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Contains a bad data not midi (mp3 file).
+//!				Uses API elements: NewL(), OpenDes(), Play(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open Midi File. 3.Play. 4. Close File.
+//!				5. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL
+		COMMAND			midiclientutility1	OpenDes		MM-MMF-MIDI-PublicAPI-0063-001-OpenDes_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	midiclientutility1	Play
+		ASYNC_DELAY		5000000
+		COMMAND			midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0063
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0064
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0064
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Empty Descriptor.
+//!				Uses API elements: NewL(), OpenDes(), Play(), Close().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open Midi File. 3. Play(). 4. Close File.
+//!				5. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL
+		COMMAND			midiclientutility1	OpenDes		MM-MMF-MIDI-PublicAPI-0064-001-OpenDes_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	midiclientutility1	Play
+		ASYNC_DELAY		5000000
+		COMMAND			midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0064
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////ChannelVolumeL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0065
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0065
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Value \> 15.
+//!				Uses API elements: NewL(), ChannelVolumeL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the current volume.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	ChannelVolumeL		MM-MMF-MIDI-PublicAPI-0065-001-ChannelVolumeL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0065
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0066
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0066
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Value \< 0.
+//!				Uses API elements: NewL(), ChannelVolumeL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the current volume.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	ChannelVolumeL		MM-MMF-MIDI-PublicAPI-0066-001-ChannelVolumeL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0066
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////CustomBankLoadedL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0067
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0067
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Value is more than 14bits and argument \> 0.
+//!				Uses API elements: NewL(), CustomBankLoadedL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query if a bank has been loaded.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-5	midiclientutility1	CustomBankLoadedL		MM-MMF-MIDI-PublicAPI-0067-001-CustomBankLoadedL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0067
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0068
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0068
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Value is more than 14bits and argument \< 0.
+//!				Uses API elements: NewL(), CustomBankLoadedL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query if a bank has been loaded.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-5	midiclientutility1	CustomBankLoadedL		MM-MMF-MIDI-PublicAPI-0068-001-CustomBankLoadedL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0068
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////CustomCommandAsync(const TMMFMessageDestinationPckg aDestination, TInt aFunction, const TDesC8 aDataTo1, const TDesC8 aDataTo2, TDes8 aDataFrom, TRequestStatus aStatus)//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0069
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0069
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Bad data in first command data buffer.
+//!				Uses API elements: NewL(), CustomCommandAsync().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query if a bank has been loaded.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!AsyncError=-5	midiclientutility1	CustomCommandAsync		MM-MMF-MIDI-PublicAPI-0069-001-CustomCommandAsync_command02
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0069
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0070
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0070
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Bad data in second command data buffer.
+//!				Uses API elements: NewL(), CustomCommandAsync().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query if a bank has been loaded.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!AsyncError=-5	midiclientutility1	CustomCommandAsync		MM-MMF-MIDI-PublicAPI-0070-001-CustomCommandAsync_command02
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0070
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0071
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0071
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Incorrect index of the function to perform
+//!				Uses API elements: NewL(), CustomCommandAsync().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query if a bank has been loaded.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!AsyncError=-1	midiclientutility1	CustomCommandAsync		MM-MMF-MIDI-PublicAPI-0071-001-CustomCommandAsync_command02
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0071
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////CustomCommandAsync(const TMMFMessageDestinationPckg aDestination, TInt aFunction, const TDesC8 aDataTo1, const TDesC8 aDataTo2, TRequestStatus aStatus)//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0072
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0072
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Bad data in first command data buffer.
+//!				Uses API elements: NewL(), CustomCommandAsync().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query if a bank has been loaded.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!AsyncError=-5	midiclientutility1	CustomCommandAsync		MM-MMF-MIDI-PublicAPI-0072-001-CustomCommandAsync_command02
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0072
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0073
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0073
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Bad data in second command data buffer.
+//!				Uses API elements: NewL(), CustomCommandAsync().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query if a bank has been loaded.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!AsyncError=-5	midiclientutility1	CustomCommandAsync		MM-MMF-MIDI-PublicAPI-0073-001-CustomCommandAsync_command02
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0073
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0074
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0074
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Incorrect index of the function to perform
+//!				Uses API elements: NewL(), CustomCommandAsync().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query if a bank has been loaded.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!AsyncError=-1	midiclientutility1	CustomCommandAsync		MM-MMF-MIDI-PublicAPI-0074-001-CustomCommandAsync_command02
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0074
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////CustomCommandSyncL(const TMMFMessageDestinationPckg aDestination, TInt aFunction, const TDesC8 aDataTo1, const TDesC8 aDataTo2, TDes8 aDataFrom)//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0075
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0075
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Bad data in first command data buffer.
+//!				Uses API elements: NewL(), CustomCommandSyncL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query if a bank has been loaded.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-5	midiclientutility1	CustomCommandSyncL		MM-MMF-MIDI-PublicAPI-0075-001-CustomCommandSyncL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0075
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0076
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0076
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Bad data in second command data buffer.
+//!				Uses API elements: NewL(), CustomCommandSyncL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query if a bank has been loaded.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-5	midiclientutility1	CustomCommandSyncL		MM-MMF-MIDI-PublicAPI-0076-001-CustomCommandSyncL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0076
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0077
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0077
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Incorrect index of the function to perform
+//!				Uses API elements: NewL(), CustomCommandSyncL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query if a bank has been loaded.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-5	midiclientutility1	CustomCommandSyncL		MM-MMF-MIDI-PublicAPI-0077-001-CustomCommandSyncL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0077
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////CustomCommandSyncL(const TMMFMessageDestinationPckg aDestination, TInt aFunction, const TDesC8 aDataTo1, const TDesC8 aDataTo2//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0078
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0078
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Bad data in first command data buffer.
+//!				Uses API elements: NewL(), CustomCommandSyncL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query if a bank has been loaded.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-5	midiclientutility1	CustomCommandSyncL		MM-MMF-MIDI-PublicAPI-0078-001-CustomCommandSyncL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0078
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0079
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0079
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Bad data in second command data buffer.
+//!				Uses API elements: NewL(), CustomCommandSyncL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query if a bank has been loaded.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-5	midiclientutility1	CustomCommandSyncL		MM-MMF-MIDI-PublicAPI-0079-001-CustomCommandSyncL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0079
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0080
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0080
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Incorrect index of the function to perform
+//!				Uses API elements: NewL(), CustomCommandSyncL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query if a bank has been loaded.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-5	midiclientutility1	CustomCommandSyncL		MM-MMF-MIDI-PublicAPI-0080-001-CustomCommandSyncL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0080
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////DurationMicroBeatsL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0081
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0081
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		20/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		use method when file is not opened.
+//!				Uses API elements: NewL(), DurationMicroBeatsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get length of the MIDI resource.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotReady returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-18	midiclientutility1	DurationMicroBeatsL
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0081
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////DurationMicroSecondsL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0083
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0083
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		use method when file is not opened.
+//!				Uses API elements: NewL(), DurationMicroSecondsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get length of the MIDI resource.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotReady returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-18	midiclientutility1	DurationMicroSecondsL
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0083
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////GetBankIdL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0085
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0085
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Use bankIndex \< 0
+//!				Uses API elements: NewL(), GetBankIdL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the identifier of a sound bank.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	GetBankIdL		MM-MMF-MIDI-PublicAPI-0085-001-GetBankIdL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0085
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0086
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0086
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Use value \> NumberOfBanks(aCustom)
+//!				Uses API elements: NewL(), GetBankIdL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the identifier of a sound bank.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	GetBankIdL		MM-MMF-MIDI-PublicAPI-0086-001-GetBankIdL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0086
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////GetInstrumentIdL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0087
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0087
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aInstrumentIndex \< 0
+//!				Uses API elements: NewL(), GetInstrumentIdL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the identifier of an instrument. 
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-5	midiclientutility1	GetInstrumentIdL		MM-MMF-MIDI-PublicAPI-0087-001-GetInstrumentIdL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0087
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0088
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0088
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aInstrumentIndex \> NumberOfInstrumentsL().
+//!				Uses API elements: NewL(), GetInstrumentIdL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the identifier of an instrument..
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-5	midiclientutility1	GetInstrumentIdL		MM-MMF-MIDI-PublicAPI-0088-001-GetInstrumentIdL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0088
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0089
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0089
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aBankId incorrect value.
+//!				Uses API elements: NewL(), GetInstrumentIdL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open MIDI resource. 3. Get the identifier of an instrument.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-5	midiclientutility1	GetInstrumentIdL		MM-MMF-MIDI-PublicAPI-0089-001-GetInstrumentIdL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0089
+
+///////////////////////////////////////////////////////////////////////////////////
+////////////////////GetInstrumentL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0090
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0090
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \< 0
+//!				Uses API elements: NewL(), GetInstrumentL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query the instrument assigned to a specified channel. 
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	GetInstrumentL		MM-MMF-MIDI-PublicAPI-0090-001-GetInstrumentL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0090
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0091
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0091
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \> 15.
+//!				Uses API elements: NewL(), GetInstrumentL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query the instrument assigned to a specified channel.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	GetInstrumentL		MM-MMF-MIDI-PublicAPI-0091-001-GetInstrumentL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0091
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////GetRepeats()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0095
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0095
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get number of repeats from not opened file.
+//!				Uses API elements: NewL(), GetRepeats().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the number of time the current opened resources has to be repeated. 
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	GetRepeats
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0095
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////InstrumentNameL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0096
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0096
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aInstrumentId \< 0.
+//!				Uses API elements: NewL(), InstrumentNameL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Gets the name of the given instrument.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	InstrumentNameL		MM-MMF-MIDI-PublicAPI-0096-001-InstrumentNameL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0096
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0097
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0097
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aInstrumentId \> 127.
+//!				Uses API elements: NewL(), InstrumentNameL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Gets the name of the given instrument.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	InstrumentNameL		MM-MMF-MIDI-PublicAPI-0097-001-InstrumentNameL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0097
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0098
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0098
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Incorrect aBankId.
+//!				Uses API elements: NewL(), InstrumentNameL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Gets the name of the given instrument.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-5	midiclientutility1	InstrumentNameL		MM-MMF-MIDI-PublicAPI-0098-001-InstrumentNameL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0098
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////IsChannelMuteL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0099
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0099
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \< 0
+//!				Uses API elements: NewL(), IsChannelMuteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query the muting status of a specific channel.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	IsChannelMuteL		MM-MMF-MIDI-PublicAPI-0099-001-IsChannelMuteL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0099
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0100
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0100
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \>15
+//!				Uses API elements: NewL(), IsChannelMuteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query the muting status of a specific channel.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	IsChannelMuteL		MM-MMF-MIDI-PublicAPI-0100-001-IsChannelMuteL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0100
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////IsTrackMuteL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0101
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0101
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aTrack \< 0
+//!				Uses API elements: NewL(), IsTrackMuteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query the muting status of a specific track.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotReady returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-18	midiclientutility1	IsTrackMuteL		MM-MMF-MIDI-PublicAPI-0101-001-IsTrackMuteL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0101
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0102
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0102
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aTrack \> NumTracksL
+//!				Uses API elements: NewL(), IsTrackMuteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Query the muting status of a specific track.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotReady returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-18	midiclientutility1	IsTrackMuteL		MM-MMF-MIDI-PublicAPI-0102-001-IsTrackMuteL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0102
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////LoadCustomBankDataL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0103
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0103
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Descriptor containing bad data
+//!				Uses API elements: NewL(), LoadCustomBankDataL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Load one or more custom sound banks from a descriptor into memory for use.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrCorrupt returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-20	midiclientutility1	LoadCustomBankDataL		MM-MMF-MIDI-PublicAPI-0103-001-LoadCustomBankDataL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0103
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////LoadCustomBankL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0105
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0105
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Incorrect path to file.
+//!				Uses API elements: NewL(), LoadCustomBankL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Load one or more custom sound banks from a file into memory for use.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-1	midiclientutility1	LoadCustomBankL		MM-MMF-MIDI-PublicAPI-0105-001-LoadCustomBankL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0105
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0107
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0107
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Not correct file (not a file where sound banks)
+//!				Uses API elements: NewL(), LoadCustomBankL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Load one or more custom sound banks from a file into memory for use.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrCorrupt returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-20	midiclientutility1	LoadCustomBankL		MM-MMF-MIDI-PublicAPI-0107-001-LoadCustomBankL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0107
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////LoadCustomInstrumentDataL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0109
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0109
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aInstrumentDataId \< 0
+//!				Uses API elements: NewL(), LoadCustomInstrumentDataL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Load an individual instrument from descriptor.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL			
+		COMMAND	!Error=-6	midiclientutility1	LoadCustomInstrumentDataL		MM-MMF-MIDI-PublicAPI-0109-001-LoadCustomInstrumentDataL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0109
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0110
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0110
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aInstrumentDataId \> 127
+//!				Uses API elements: NewL(), LoadCustomInstrumentDataL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Load an individual instrument from descriptor.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL			
+		COMMAND	!Error=-6	midiclientutility1	LoadCustomInstrumentDataL		MM-MMF-MIDI-PublicAPI-0110-001-LoadCustomInstrumentDataL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0110
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////LoadCustomInstrumentL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0112
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0112
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Incorrect path to file.
+//!				Uses API elements: NewL(), LoadCustomInstrumentL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Load an individual instrument from file.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-6	midiclientutility1	LoadCustomInstrumentL		MM-MMF-MIDI-PublicAPI-0112-001-LoadCustomInstrumentL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0112
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0113
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0113
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		File already in use by another programm.
+//!				Uses API elements: NewL(), LoadCustomInstrumentL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Load an individual instrument from file.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument 
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-6	midiclientutility1	LoadCustomInstrumentL		MM-MMF-MIDI-PublicAPI-0113-001-LoadCustomInstrumentL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0113
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////MimeTypeL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0114
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0114
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Use method when file not opened.
+//!				Uses API elements: NewL(), MimeTypeL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the MIME type of the MIDI resource currently open.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotReady returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-18	midiclientutility1	MimeTypeL
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0114
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////NoteOffL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0115
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0115
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \< 0
+//!				Uses API elements: NewL(), NoteOffL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Terminate playback of a note.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	NoteOffL		MM-MMF-MIDI-PublicAPI-0115-001-NoteOffL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0115
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0116
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0116
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \> 15
+//!				Uses API elements: NewL(), NoteOffL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Terminate playback of a note.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	NoteOffL		MM-MMF-MIDI-PublicAPI-0116-001-NoteOffL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0116
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0117
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0117
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aNote \< 0
+//!				Uses API elements: NewL(), NoteOffL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Terminate playback of a note.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	NoteOffL		MM-MMF-MIDI-PublicAPI-0117-001-NoteOffL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0117
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////NoteOnL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0118
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0118
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \< 0
+//!				Uses API elements: NewL(), NoteOnL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Terminate playback of a note.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL
+		COMMAND	!Error=-6	midiclientutility1	NoteOnL		MM-MMF-MIDI-PublicAPI-0118-001-NoteOnL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0118
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0119
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0119
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \> 15
+//!				Uses API elements: NewL(), NoteOnL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Terminate playback of a note.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL
+		COMMAND	!Error=-6	midiclientutility1	NoteOnL		MM-MMF-MIDI-PublicAPI-0119-001-NoteOnL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0119
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0120
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0120
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aNote \< 0
+//!				Uses API elements: NewL(), NoteOnL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Terminate playback of a note.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL
+		COMMAND	!Error=-6	midiclientutility1	NoteOnL		MM-MMF-MIDI-PublicAPI-0120-001-NoteOnL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0120
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////NumTracksL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0121
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0121
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		get number of track from not open file.
+//!				Uses API elements: NewL(), NumTracksL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the number of tracks.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotReady returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-18	midiclientutility1	NumTracksL
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0121
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////NumberOfInstrumentsL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0122
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0122
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get number of instrument from custom bank using bad bankID
+//!				Uses API elements: NewL(), NumberOfInstrumentsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the number of instruments.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-5	midiclientutility1	NumberOfInstrumentsL		MM-MMF-MIDI-PublicAPI-0122-001-NumberOfInstrumentsL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0122
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0123
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0123
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		22/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get number of instrument from standart bank using bad bankID
+//!				Uses API elements: NewL(), NumberOfInstrumentsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the number of instruments.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-5	midiclientutility1	NumberOfInstrumentsL		MM-MMF-MIDI-PublicAPI-0123-001-NumberOfInstrumentsL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0123
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////NumberOfMetaDataEntriesL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0124
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0124
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get the number of meta data entries when file is not opened.
+//!				Uses API elements: NewL(), NumberOfMetaDataEntriesL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the number of meta data entries.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL			
+		COMMAND		midiclientutility1	NumberOfMetaDataEntriesL
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0124
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////PercussionKeyNameL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0125
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0125
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aNote \< 0
+//!				Uses API elements: NewL(), PercussionKeyNameL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the name of a particular percussion key corresponding to a given note.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-6	midiclientutility1	PercussionKeyNameL		MM-MMF-MIDI-PublicAPI-0125-001-PercussionKeyNameL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0125
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0126
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0126
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aNote \> 127
+//!				Uses API elements: NewL(), PercussionKeyNameL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the name of a particular percussion key corresponding to a given note.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-6	midiclientutility1	PercussionKeyNameL		MM-MMF-MIDI-PublicAPI-0126-001-PercussionKeyNameL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0126
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0127
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0127
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Incorrect aBankId
+//!				Uses API elements: NewL(), PercussionKeyNameL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the name of a particular percussion key corresponding to a given note.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-5	midiclientutility1	PercussionKeyNameL		MM-MMF-MIDI-PublicAPI-0127-001-PercussionKeyNameL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0127
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////PlayNoteL(5 arguments)//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0128
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0128
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aNote \< 0
+//!				Uses API elements: NewL(), PlayNoteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Play a single note.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	PlayNoteL		MM-MMF-MIDI-PublicAPI-0128-001-PlayNoteL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0128
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0129
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0129
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aNote \> 127
+//!				Uses API elements: NewL(), PlayNoteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Play a single note.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	PlayNoteL		MM-MMF-MIDI-PublicAPI-0129-001-PlayNoteL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0129
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0130
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0130
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \< 0
+//!				Uses API elements: NewL(), PlayNoteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Play a single note.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	PlayNoteL		MM-MMF-MIDI-PublicAPI-0130-001-PlayNoteL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0130
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////PlayNoteL(6 arguments)//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0131
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0131
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aNote \< 0
+//!				Uses API elements: NewL(), PlayNoteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Play a single note.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	PlayNoteL		MM-MMF-MIDI-PublicAPI-0131-001-PlayNoteL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0131
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0132
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0132
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aNote \> 127
+//!				Uses API elements: NewL(), PlayNoteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Play a single note.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	PlayNoteL		MM-MMF-MIDI-PublicAPI-0132-001-PlayNoteL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0132
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0133
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0133
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \< 0
+//!				Uses API elements: NewL(), PlayNoteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Play a single note.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	PlayNoteL		MM-MMF-MIDI-PublicAPI-0133-001-PlayNoteL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0133
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////PlaybackRateL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0134
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0134
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get playback rate when file not open.
+//!				Uses API elements: NewL(), PlaybackRateL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the current playback rate.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	PlaybackRateL
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0134
+
+///////////////////////////////////////////////////////////////////////////////////
+/////////////////// PositionMicroBeatsL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0135
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0135
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get current metrical position when file not open.
+//!				Uses API elements: NewL(), PositionMicroBeatsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the current metrical position.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotReady returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-18	midiclientutility1	PositionMicroBeatsL
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0135
+
+///////////////////////////////////////////////////////////////////////////////////
+/////////////////// PositionMicroSecondsL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0136
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0136
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get current temporal position when file not open.
+//!				Uses API elements: NewL(), PositionMicroSecondsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the current temporal position.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotReady
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-18	midiclientutility1	PositionMicroSecondsL
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0136
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////SendMessageL(const TDesC8 aMidiMessage)//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0137
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0137
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Bad data in descriptor.
+//!				Uses API elements: NewL(), SendMessageL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Send a single MIDI message to the MIDI engine.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-5	midiclientutility1	SendMessageL		MM-MMF-MIDI-PublicAPI-0137-001-SendMessageL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0137
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////SendMessageL(const TDesC8 aMidiMessage, const TTimeIntervalMicroSeconds aTime)//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0138
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0138
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Bad data in descriptor.
+//!				Uses API elements: NewL(), SendMessageL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Send a single MIDI message to the MIDI engine.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-5	midiclientutility1	SendMessageL		MM-MMF-MIDI-PublicAPI-0138-001-SendMessageL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0138
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SendMipMessageL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0139
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0139
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Bad MIP message.
+//!				Uses API elements: NewL(), SendMipMessageL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Send a single MIDI message to the MIDI engine.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	SendMipMessageL		MM-MMF-MIDI-PublicAPI-0139-001-SendMipMessageL_command02
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0139
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetBalanceL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0140
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0140
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set balance to big.
+//!				Uses API elements: NewL(), SetBalanceL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set new balance.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0140-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	SetBalanceL		MM-MMF-MIDI-PublicAPI-0140-001-SetBalanceL_command04
+		COMMAND		midiclientutility1	Play
+		ASYNC_DELAY	500000
+		COMMAND		midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0140
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0141
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0141
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set balance \< 0.
+//!				Uses API elements: NewL(), SetBalanceL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2.Set new balance.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0141-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	SetBalanceL		MM-MMF-MIDI-PublicAPI-0141-001-SetBalanceL_command04
+		COMMAND		midiclientutility1	Play
+		ASYNC_DELAY	500000
+		COMMAND		midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0141
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetChannelMuteL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0142
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0142
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \< 0
+//!				Uses API elements: NewL(), SetChannelMuteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set the muting state of a channel.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	SetChannelMuteL		MM-MMF-MIDI-PublicAPI-0142-001-SetChannelMuteL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0142
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0143
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0143
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \> 15.
+//!				Uses API elements: NewL(), SetChannelMuteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set the muting state of a channel.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	SetChannelMuteL		MM-MMF-MIDI-PublicAPI-0143-001-SetChannelMuteL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0143
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetChannelVolumeL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0144
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0144
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \< 0
+//!				Uses API elements: NewL(), SetChannelVolumeL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set the volume of a channel.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-6	midiclientutility1	SetChannelVolumeL		MM-MMF-MIDI-PublicAPI-0144-001-SetChannelVolumeL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0144
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0145
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0145
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \> 15.
+//!				Uses API elements: NewL(), SetChannelVolumeL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set the volume of a channel.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-6	midiclientutility1	SetChannelVolumeL		MM-MMF-MIDI-PublicAPI-0145-001-SetChannelVolumeL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0145
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetInstrumentL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0146
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0146
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \< 0
+//!				Uses API elements: NewL(), SetInstrumentL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set a logical channel to use the given instrument.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	SetInstrumentL		MM-MMF-MIDI-PublicAPI-0146-001-SetInstrumentL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0146
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0147
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0147
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aChannel \> 15.
+//!				Uses API elements: NewL(), SetInstrumentL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set a logical channel to use the given instrument.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	SetInstrumentL		MM-MMF-MIDI-PublicAPI-0147-001-SetInstrumentL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0147
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0148
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0148
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		aInstrumentId \< 0.
+//!				Uses API elements: NewL(), SetInstrumentL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set a logical channel to use the given instrument.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	SetInstrumentL		MM-MMF-MIDI-PublicAPI-0148-001-SetInstrumentL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0148
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetMaxPolyphonyL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0149
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0149
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument \< 0
+//!				Uses API elements: NewL(), SetMaxPolyphonyL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set the max polyphony level used at runtime.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-6	midiclientutility1	SetMaxPolyphonyL		MM-MMF-MIDI-PublicAPI-0149-001-SetMaxPolyphonyL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0149
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0150
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0150
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument \> aMaxNotes
+//!				Uses API elements: NewL(), SetMaxPolyphonyL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set the max polyphony level used at runtime.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-6	midiclientutility1	SetMaxPolyphonyL		MM-MMF-MIDI-PublicAPI-0150-001-SetMaxPolyphonyL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0150
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetPitchTranspositionL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0151
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0151
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument \< 0.
+//!				Uses API elements: NewL(), OpenFile(), SetPitchTranspositionL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open file 3. Set the pitch shift.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND			midiclientutility1	OpenFile			MM-MMF-MIDI-PublicAPI-0151-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	midiclientutility1	SetPitchTranspositionL		MM-MMF-MIDI-PublicAPI-0151-001-SetPitchTranspositionL_command03
+		COMMAND			midiclientutility1	Play
+		ASYNC_DELAY		500000
+		COMMAND			midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0151
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0152
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0152
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument \> max value.
+//!				Uses API elements: NewL(), OpenFile(), SetPitchTranspositionL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2.Open file 3. Set the pitch shift.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND			midiclientutility1	OpenFile			MM-MMF-MIDI-PublicAPI-0152-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	midiclientutility1	SetPitchTranspositionL		MM-MMF-MIDI-PublicAPI-0152-001-SetPitchTranspositionL_command03
+		COMMAND			midiclientutility1	Play
+		ASYNC_DELAY		500000
+		COMMAND			midiclientutility1	Stop
+		OUTSTANDING
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0152
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0153
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0153
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Try to set value when file is not opened.
+//!				Uses API elements: NewL(), SetPitchTranspositionL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set the pitch shift.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	SetPitchTranspositionL		MM-MMF-MIDI-PublicAPI-0153-001-SetPitchTranspositionL_command02
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0153
+
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetPlaybackRateL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0154
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0154
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		rate \< 0.
+//!				Uses API elements: NewL(), OpenFile(), SetPlaybackRateL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open file 3. Set the playback rate.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND			midiclientutility1	OpenFile			MM-MMF-MIDI-PublicAPI-0154-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!Error=-6	midiclientutility1	SetPlaybackRateL		MM-MMF-MIDI-PublicAPI-0154-001-SetPlaybackRateL_command03
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0154
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0155
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0155
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Rate is bigger than max allowed.
+//!				Uses API elements: NewL(), OpenFile(), SetPlaybackRateL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2.Open file 3. Set the playback rate.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND			midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0155-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!Error=-6	midiclientutility1	SetPlaybackRateL	MM-MMF-MIDI-PublicAPI-0155-001-SetPlaybackRateL_command03
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0155
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0156
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0156
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Try to set playback rate when file is not opened.
+//!				Uses API elements: NewL(), SetPlaybackRateL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set the playback rate.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	SetPlaybackRateL		MM-MMF-MIDI-PublicAPI-0156-001-SetPlaybackRateL_command02
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0156
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetPositionMicroBeatsL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0157
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0157
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aMicroBeats) \< 0.
+//!				Uses API elements: NewL(), OpenFile(), SetPositionMicroBeatsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open file 3. Change the position.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	OpenFile			MM-MMF-MIDI-PublicAPI-0157-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	SetPositionMicroBeatsL		MM-MMF-MIDI-PublicAPI-0157-001-SetPositionMicroBeatsL_command03
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0157
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0158
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0158
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aMicroBeats) \> DurationMicroBeatsL().
+//!				Uses API elements: NewL(), OpenFile(), SetPositionMicroBeatsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2.Open file 3. Change the position.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	OpenFile			MM-MMF-MIDI-PublicAPI-0158-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	SetPositionMicroBeatsL		MM-MMF-MIDI-PublicAPI-0158-001-SetPositionMicroBeatsL_command03
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0158
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0159
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0159
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Try to change positionk when file is not opened.
+//!				Uses API elements: NewL(), SetPositionMicroBeatsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Change the position.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotReady returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-18	midiclientutility1	SetPositionMicroBeatsL		MM-MMF-MIDI-PublicAPI-0159-001-SetPositionMicroBeatsL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0159
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetPositionMicroSecondsL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0160
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0160
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aPosition) \< 0.
+//!				Uses API elements: NewL(), OpenFile(), SetPositionMicroSecondsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open file 3. Change the position.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	OpenFile			MM-MMF-MIDI-PublicAPI-0160-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	SetPositionMicroSecondsL	MM-MMF-MIDI-PublicAPI-0160-001-SetPositionMicroSecondsL_command03
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0160
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0161
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0161
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aPosition) \> DurationMicroSecondsL().
+//!				Uses API elements: NewL(), OpenFile(), SetPositionMicroSecondsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2.Open file 3. Change the position.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND			midiclientutility1	OpenFile			MM-MMF-MIDI-PublicAPI-0161-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!Error=-5	midiclientutility1	SetPositionMicroSecondsL	MM-MMF-MIDI-PublicAPI-0161-001-SetPositionMicroSecondsL_command03
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0161
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0162
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0162
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Try to change positionk when file is not opened.
+//!				Uses API elements: NewL(), SetPositionMicroSecondsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Change the position.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotReady returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL			
+		COMMAND	!Error=-18	midiclientutility1	SetPositionMicroSecondsL		MM-MMF-MIDI-PublicAPI-0162-001-SetPositionMicroSecondsL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0162
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetPriorityL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0163
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0163
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aPriority) smaller than min possible value.
+//!				Uses API elements: NewL(), SetPriorityL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set the priority of client.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	SetPriorityL		MM-MMF-MIDI-PublicAPI-0163-001-SetPriorityL_command02
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0163
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0164
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0164
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aPriority) bigger than max possible value.
+//!				Uses API elements: NewL(), SetPriorityL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set the priority of client.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	SetPriorityL		MM-MMF-MIDI-PublicAPI-0164-001-SetPriorityL_command02
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0164
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetRepeatsL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0165
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0165
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aRepeatNumberOfTimes) \< 0
+//!				Uses API elements: NewL(), OpenFile(), SetRepeatsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource. 3. Set the priority of client.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND			midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0165-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!Error=-6	midiclientutility1	SetRepeatsL		MM-MMF-MIDI-PublicAPI-0165-001-SetRepeatsL_command03
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0165
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0166
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0166
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aTrailingSilence) \< 0
+//!				Uses API elements: NewL(), OpenFile(), SetRepeatsL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource  3. Set the priority of client.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND			midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0166-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!Error=-6	midiclientutility1	SetRepeatsL		MM-MMF-MIDI-PublicAPI-0166-001-SetRepeatsL_command03
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0166
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetStopTimeL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0167
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0167
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aStopTime) \< 0
+//!				Uses API elements: NewL(), OpenFile(), SetStopTimeL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource. 3. Set the stop time..
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND			midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0167-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!Error=-6	midiclientutility1	SetStopTimeL		MM-MMF-MIDI-PublicAPI-0167-001-SetStopTimeL_command03
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0167
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0168
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0168
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aStopTime) \> duration of resource
+//!				Uses API elements: NewL(), OpenFile(), SetStopTimeL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource  3. Set the stop time.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND			midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0168-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!Error=-6	midiclientutility1	SetStopTimeL		MM-MMF-MIDI-PublicAPI-0168-001-SetStopTimeL_command03
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0168
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0169
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0169
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		23/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set stop time if resource not loaded.
+//!				Uses API elements: NewL(), SetStopTimeL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set the stop time.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotReady returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-18	midiclientutility1	SetStopTimeL		MM-MMF-MIDI-PublicAPI-0169-001-SetStopTimeL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0169
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetSyncUpdateCallbackIntervalL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0170
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0170
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aMicroSeconds) \< 0
+//!				Uses API elements: NewL(), OpenFile(), SetSyncUpdateCallbackIntervalL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource. 3. Set frequency.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL			
+		COMMAND			midiclientutility1	OpenFile				MM-MMF-MIDI-PublicAPI-0170-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!Error=-6	midiclientutility1	SetSyncUpdateCallbackIntervalL		MM-MMF-MIDI-PublicAPI-0170-001-SetSyncUpdateCallbackIntervalL_command03
+		OUTSTANDING
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0170
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0171
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0171
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aMicroBeats) \< 0
+//!				Uses API elements: NewL(), OpenFile(), SetSyncUpdateCallbackIntervalL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource  3. Set frequency.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL			
+		COMMAND		midiclientutility1	OpenFile				MM-MMF-MIDI-PublicAPI-0171-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	SetSyncUpdateCallbackIntervalL		MM-MMF-MIDI-PublicAPI-0171-001-SetSyncUpdateCallbackIntervalL_command04
+		ASYNC_DELAY	50000
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0171
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0172
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0172
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set frequency when resource not loaded.
+//!				Uses API elements: NewL(), SetSyncUpdateCallbackIntervalL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set frequency.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL			
+		COMMAND		midiclientutility1	SetSyncUpdateCallbackIntervalL		MM-MMF-MIDI-PublicAPI-0172-001-SetSyncUpdateCallbackIntervalL_command03
+		ASYNC_DELAY	50000
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0172
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetTempoL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0173
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0173
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aMicroBeatsPerMinute) \< 0
+//!				Uses API elements: NewL(), OpenFile(), SetTempoL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource. 3. Set tempo.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND			midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0173-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!Error=-6	midiclientutility1	SetTempoL		MM-MMF-MIDI-PublicAPI-0173-001-SetTempoL_command03
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0173
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0174
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0174
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Set frequency when resource not loaded.
+//!				Uses API elements: NewL(), SetTempoL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set tempo.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotReady returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-18	midiclientutility1	SetTempoL		MM-MMF-MIDI-PublicAPI-0174-001-SetTempoL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0174
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetTrackMuteL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0175
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0175
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aTrack) \< 0
+//!				Uses API elements: NewL(), OpenFile(), SetTrackMuteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource. 3. Mute a particular track.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND			midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0175-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!Error=-6	midiclientutility1	SetTrackMuteL		MM-MMF-MIDI-PublicAPI-0175-001-SetTrackMuteL_command03
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0175
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0176
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0176
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aTrack) \> NumTracksL().
+//!				Uses API elements: NewL(), OpenFile(), SetTrackMuteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Open resource  3. Mute a particular track.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND			midiclientutility1	OpenFile		MM-MMF-MIDI-PublicAPI-0176-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND	!Error=-6	midiclientutility1	SetTrackMuteL		MM-MMF-MIDI-PublicAPI-0176-001-SetTrackMuteL_command03
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0176
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0177
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0177
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Mute a particular track when resource not loaded.
+//!				Uses API elements: NewL(), SetTrackMuteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Mute a particular track.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotReady returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-18	midiclientutility1	SetTrackMuteL		MM-MMF-MIDI-PublicAPI-0177-001-SetTrackMuteL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0177
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetVolumeL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0178
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0178
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aVolume) \< 0
+//!				Uses API elements: NewL(), SetVolumeL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set the overall volume.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	SetVolumeL		MM-MMF-MIDI-PublicAPI-0178-001-SetVolumeL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0178
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0179
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0179
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aVolume) a very big value.
+//!				Uses API elements: NewL(), SetVolumeL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set the overall volume.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL	
+		COMMAND	!Error=-6	midiclientutility1	SetVolumeL		MM-MMF-MIDI-PublicAPI-0179-001-SetVolumeL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0179
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////SetVolumeRampL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0180
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0180
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aRampDuration) \< 0
+//!				Uses API elements: NewL(), SetVolumeRampL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set length of time over which the volume is faded up. 
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	SetVolumeRampL		MM-MMF-MIDI-PublicAPI-0180-001-SetVolumeRampL_command02
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0180
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0181
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0181
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aRampDuration) a very big value.
+//!				Uses API elements: NewL(), SetVolumeRampL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Set length of time over which the volume is faded up.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL	
+		COMMAND		midiclientutility1	SetVolumeRampL		MM-MMF-MIDI-PublicAPI-0181-001-SetVolumeRampL_command02
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0181
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////Stop()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0182
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0182
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aFadeOutDuration) \< 0
+//!				Uses API elements: NewL(), Stop().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Stops playback. 
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL
+		COMMAND		midiclientutility1	OpenFile	MM-MMF-MIDI-PublicAPI-0182-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND		midiclientutility1	Play
+		ASYNC_DELAY	5000000
+		COMMAND		midiclientutility1	Stop		MM-MMF-MIDI-PublicAPI-0182-001-Stop_command05
+		OUTSTANDING
+		COMMAND		midiclientutility1	Close
+		OUTSTANDING
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0182
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0183
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0183
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aFadeOutDuration) a very big value.
+//!				Uses API elements: NewL(), Stop().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Stops playback.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL
+		COMMAND			midiclientutility1	OpenFile	MM-MMF-MIDI-PublicAPI-0183-001-OpenFile_command02
+		OUTSTANDING
+		COMMAND			midiclientutility1	Play
+		ASYNC_DELAY		5000000
+		COMMAND	!AsyncError=-6	midiclientutility1	Stop		MM-MMF-MIDI-PublicAPI-0183-001-Stop_command05
+		OUTSTANDING
+		COMMAND			midiclientutility1	Close
+		OUTSTANDING
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0183
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////StopTimeL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0184
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0184
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Get the stop time when resource not loaded.
+//!				Uses API elements: NewL(), StopTimeL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Get the stop time.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotReady returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL
+		COMMAND	!Error=-18	midiclientutility1	StopTimeL
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0184
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////TempoMicroBeatsPerMinuteL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0185
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0185
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Gets the current tempo when resource not loaded.
+//!				Uses API elements: NewL(), TempoMicroBeatsPerMinuteL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Gets the current tempo.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotReady returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-18	midiclientutility1	TempoMicroBeatsPerMinuteL
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0185
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////UnloadAllCustomBanksL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0186
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0186
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Try to remove banks that already was removed.
+//!				Uses API elements: NewL(), UnloadAllCustomBanksL(), UnloadAllCustomBanksL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Removes all custom sound banks from memory. 3. Removes all custom sound banks from memory.
+//!				4. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	UnloadAllCustomBanksL
+		COMMAND		midiclientutility1	UnloadAllCustomBanksL
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0186
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0187
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0187
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Try to remove sound bank which is built-in, not loaded from file or descriptor.
+//!				Uses API elements: NewL(), UnloadAllCustomBanksL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Removes all custom sound banks from memory.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	No errors are returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND		midiclientutility1	NewL		
+		COMMAND		midiclientutility1	UnloadAllCustomBanksL
+		COMMAND		midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0187
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////UnloadCustomBankL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0188
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0188
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aBankId) \< 0
+//!				Uses API elements: NewL(), UnloadCustomBankL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Remove custom sound banks from memory
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-1	midiclientutility1	UnloadCustomBankL		MM-MMF-MIDI-PublicAPI-0188-001-UnloadCustomBankL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0188
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0189
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0189
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aBankId) \> more than 14 bits
+//!				Uses API elements: NewL(), UnloadCustomBankL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Remove custom sound banks from memory.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-1	midiclientutility1	UnloadCustomBankL		MM-MMF-MIDI-PublicAPI-0189-001-UnloadCustomBankL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0189
+
+///////////////////////////////////////////////////////////////////////////////////
+
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0190
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0190
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Try to remove sound bank which is built-in, not loaded from file or descriptor.
+//!				Uses API elements: NewL(), UnloadCustomBankL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Remove custom sound banks from memory.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotFound returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-1	midiclientutility1	UnloadCustomBankL		MM-MMF-MIDI-PublicAPI-0190-001-UnloadCustomBankL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0190
+
+///////////////////////////////////////////////////////////////////////////////////
+//////////////////UnloadCustomInstrumentL()//////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0191
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0191
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aInstrumentId) \< 0
+//!				Uses API elements: NewL(), UnloadCustomInstrumentL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Removes an instrument from custom sound bank memory.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-6	midiclientutility1	UnloadCustomInstrumentL		MM-MMF-MIDI-PublicAPI-0191-001-UnloadCustomInstrumentL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0191
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0192
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0192
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Argument (aInstrumentId) \> 127
+//!				Uses API elements: NewL(), UnloadCustomInstrumentL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Removes an instrument from custom sound bank memory.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrArgument
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	10	T_MidiClientUtility	\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT	CMidiClientUtility	midiclientutility1		
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-6	midiclientutility1	UnloadCustomInstrumentL		MM-MMF-MIDI-PublicAPI-0192-001-UnloadCustomInstrumentL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0192
+
+///////////////////////////////////////////////////////////////////////////////////
+
+START_TESTCASE 			MM-MMF-MIDI-PublicAPI-0193
+//! @SYMTestCaseID		MM-MMF-MIDI-PublicAPI-0193
+//! @SYMAPI			CMidiClientUtility
+//! @SYMAuthor			Oleg Kuznetsov
+//! @SYMCreationDate		24/03/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-MIDI-PublicAPI.script
+//! @SYMTestCaseDesc		Try to remove instrument which is built-in, not loaded from file.
+//!				Uses API elements: NewL(), UnloadCustomInstrumentL().
+//! @SYMTestActions    		1. Create CMidiClientUtility object. 2. Removes an instrument from custom sound bank memory.
+//!				3. Destroy object.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	KErrNotSupported returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK		10			T_MidiClientUtility		\multimedia\MM-MMF-MIDI-PublicAPI.ini 
+		CREATE_OBJECT		CMidiClientUtility	midiclientutility1
+		COMMAND			midiclientutility1	NewL		
+		COMMAND	!Error=-5	midiclientutility1	UnloadCustomInstrumentL		MM-MMF-MIDI-PublicAPI-0193-001-UnloadCustomInstrumentL_command02
+		COMMAND			midiclientutility1	~		
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-MIDI-PublicAPI-0193
+
+///////////////////////////////////////////////////////////////////////////////////
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/scripts/setup-MM-MMF-MIDI-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,37 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\t_midiclientutility\
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-MIDI-PublicAPI.script	${SYSDRIVE}\multimedia\MM-MMF-MIDI-PublicAPI.script
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-MIDI-PublicAPI.script
+
+RUN_UTILS CopyFile	z:\multimedia\t_multimedia.tcs		${SYSDRIVE}\multimedia\t_multimedia.tcs
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia.tcs
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-MIDI-PublicAPI.ini		${SYSDRIVE}\multimedia\MM-MMF-MIDI-PublicAPI.ini
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-MIDI-PublicAPI.ini
+
+RUN_UTILS CopyFile	z:\multimedia\t_midiclientutility\midi.mid	${SYSDRIVE}\multimedia\t_midiclientutility\midi.mid
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_midiclientutility\midi.mid
+
+RUN_UTILS CopyFile	z:\multimedia\t_midiclientutility\textmidi.mid	${SYSDRIVE}\multimedia\t_midiclientutility\textmidi.mid
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_midiclientutility\textmidi.mid	
+
+RUN_UTILS CopyFile	z:\multimedia\t_midiclientutility\midiclienttest.gm	${SYSDRIVE}\multimedia\t_midiclientutility\midiclienttest.gm
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_midiclientutility\midiclienttest.gm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/src/T_MMDataMidiClientUtility.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,3184 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataMidiClientUtility.h"
+#include "T_MMUtil.h"
+
+/*@{*/
+_LIT(KRFile,							"rfile");
+_LIT(KTMMSource,						"tmmsource");
+_LIT(KUrl,								"url");
+_LIT(KChannel,							"channel");
+_LIT(KChannelsNum,						"channelsNum");
+_LIT(KTrack,							"track");
+_LIT(KVolume,							"volume");
+_LIT(KBankId,							"bankId");
+_LIT(KInstrumentId,						"instrumentId");
+_LIT(KCustomBank,						"customBank");
+_LIT(KBalance,							"balance");
+_LIT(KMute,								"mute");
+_LIT(KRepeats,							"repeats");
+_LIT(KTimeIntervalSec,					"intervalSec");
+_LIT(KTempo,							"tempo");
+_LIT(KNote,								"note");
+_LIT(KVelocity,							"velocity");
+_LIT(KStartTime,						"startTime");
+_LIT(KDuration,							"duration");
+_LIT(KNoteOnVelocity,					"noteOnVelocity");
+_LIT(KNoteOffVelocity,					"noteOffVelocity");
+_LIT(KCents,							"cents");
+_LIT(KRate,								"rate");
+_LIT(KPosition,							"position");
+_LIT(KMaxNotes,							"maxNotes");
+_LIT(KCustom,							"custom");
+_LIT(KMetaDataIndex,					"metaDataIndex");
+_LIT(KBankData,							"bankData");
+_LIT(KMicroBeats,						"microBeats");
+_LIT(KMicroSeconds,						"microSeconds");
+_LIT(KFileBankId,						"fileBankId");
+_LIT(KFileInstrumentId,					"fileInstrumentId");
+_LIT(KMemoryBankId,						"memoryBankId");
+_LIT(KMemoryInstrumentId,				"memoryInstrumentId");
+_LIT(KFileName,							"fileName");
+_LIT(KUseDataFrom,						"useDataFrom");
+_LIT(KFunctionId,						"functionId");
+_LIT(KTime,								"time");
+_LIT(KMIPValue,							"mipValue%d");
+_LIT(KData1,							"data1");
+_LIT(KData2,							"data2");
+_LIT(KLoaded,							"loaded");
+_LIT(KIsNull,							"isnull");
+_LIT(KName,								"name");
+_LIT(KMimeType,							"mimeType");
+_LIT(KNumTracks,						"numTracks");
+_LIT(KBanks,							"banks");
+_LIT(KInstruments,						"instruments");
+_LIT(KMetaDataNum,						"metaDataNum");
+_LIT(KUniqueId, 						"uniqueid");
+_LIT(KEnableUI, 						"enableui");
+_LIT(KAccessPointID, 					"accesspoint");
+_LIT(KState, 							"state");
+_LIT(KShift, 							"shift");
+_LIT(KIdentifier, 						"identifier");
+_LIT(KOption,							"option%d");
+
+_LIT(KCmdNewL,							"NewL");
+_LIT(KCmdDestructor,					"~");
+_LIT(KCmdOpenFile,						"OpenFile");
+_LIT(KCmdOpenDes,						"OpenDes");
+_LIT(KCmdOpenUrl,						"OpenUrl");
+_LIT(KCmdPlay,							"Play");
+_LIT(KCmdStop,							"Stop");
+_LIT(KCmdClose,							"Close");
+_LIT(KCmdDurationMicroBeatsL,			"DurationMicroBeatsL");
+_LIT(KCmdDurationMicroSecondsL,			"DurationMicroSecondsL");
+_LIT(KCmdNumTracksL,					"NumTracksL");
+_LIT(KCmdChannelsSupportedL,			"ChannelsSupportedL");
+_LIT(KCmdChannelVolumeL,				"ChannelVolumeL");
+_LIT(KCmdMaxChannelVolumeL,				"MaxChannelVolumeL");
+_LIT(KCmdSetChannelVolumeL,				"SetChannelVolumeL");
+_LIT(KCmdSetVolumeL,					"SetVolumeL");
+_LIT(KCmdMaxVolumeL,					"MaxVolumeL");
+_LIT(KCmdVolumeL,						"VolumeL");
+_LIT(KCmdState,							"State");
+_LIT(KCmdCustomBankLoadedL,				"CustomBankLoadedL");
+_LIT(KCmdNumberOfBanksL,				"NumberOfBanksL");
+_LIT(KCmdNumberOfInstrumentsL,			"NumberOfInstrumentsL");
+_LIT(KCmdNumberOfMetaDataEntriesL,		"NumberOfMetaDataEntriesL");
+_LIT(KCmdGetBalanceL,					"GetBalanceL");
+_LIT(KCmdSetBalanceL,					"SetBalanceL");
+_LIT(KCmdGetBankIdL,					"GetBankIdL");
+_LIT(KCmdGetInstrumentIdL,				"GetInstrumentIdL");
+_LIT(KCmdIsChannelMuteL,				"IsChannelMuteL");
+_LIT(KCmdIsTrackMuteL,					"IsTrackMuteL");
+_LIT(KCmdSetChannelMuteL,				"SetChannelMuteL");
+_LIT(KCmdSetTrackMuteL,					"SetTrackMuteL");
+_LIT(KCmdGetRepeats,					"GetRepeats");
+_LIT(KCmdSetRepeatsL,					"SetRepeatsL");
+_LIT(KCmdSetStopTimeL,					"SetStopTimeL");
+_LIT(KCmdStopTimeL,						"StopTimeL");
+_LIT(KCmdTempoMicroBeatsPerMinuteL,		"TempoMicroBeatsPerMinuteL");
+_LIT(KCmdSetTempoL,						"SetTempoL");
+_LIT(KCmdNoteOnL,						"NoteOnL");
+_LIT(KCmdNoteOffL,						"NoteOffL");
+_LIT(KCmdPlayNoteL,						"PlayNoteL");
+_LIT(KCmdStopNotes,						"StopNotes");
+_LIT(KCmdPitchTranspositionCentsL,		"PitchTranspositionCentsL");
+_LIT(KCmdSetPitchTranspositionL,		"SetPitchTranspositionL");
+_LIT(KCmdPlaybackRateL,					"PlaybackRateL");
+_LIT(KCmdSetPlaybackRateL,				"SetPlaybackRateL");
+_LIT(KCmdMaxPlaybackRateL,				"MaxPlaybackRateL");
+_LIT(KCmdMinPlaybackRateL,				"MinPlaybackRateL");
+_LIT(KCmdPositionMicroSecondsL,			"PositionMicroSecondsL");
+_LIT(KCmdSetPositionMicroSecondsL,		"SetPositionMicroSecondsL");
+_LIT(KCmdPositionMicroBeatsL,			"PositionMicroBeatsL");
+_LIT(KCmdSetPositionMicroBeatsL,		"SetPositionMicroBeatsL");
+_LIT(KCmdSetMaxPolyphonyL,				"SetMaxPolyphonyL");
+_LIT(KCmdPolyphonyL,					"PolyphonyL");
+_LIT(KCmdMaxPolyphonyL,					"MaxPolyphonyL");
+_LIT(KCmdSetPriorityL,					"SetPriorityL");
+_LIT(KCmdSetVolumeRampL,				"SetVolumeRampL");
+_LIT(KCmdUnloadAllCustomBanksL,			"UnloadAllCustomBanksL");
+_LIT(KCmdUnloadCustomBankL,				"UnloadCustomBankL");
+_LIT(KCmdUnloadCustomInstrumentL,		"UnloadCustomInstrumentL");
+_LIT(KCmdSetBankL,						"SetBankL");
+_LIT(KCmdSetInstrumentL,				"SetInstrumentL");
+_LIT(KCmdMimeTypeL,						"MimeTypeL");
+_LIT(KCmdGetDRMCustomCommand,			"GetDRMCustomCommand");
+_LIT(KCmdInstrumentNameL,				"InstrumentNameL");
+_LIT(KCmdGetMetaDataEntryL,				"GetMetaDataEntryL");
+_LIT(KCmdPercussionKeyNameL,			"PercussionKeyNameL");
+_LIT(KCmdGetInstrumentL,				"GetInstrumentL");
+_LIT(KCmdLoadCustomBankL,				"LoadCustomBankL");
+_LIT(KCmdLoadCustomBankDataL,			"LoadCustomBankDataL");
+_LIT(KCmdSetSyncUpdateCallbackIntervalL,"SetSyncUpdateCallbackIntervalL");
+_LIT(KCmdLoadCustomInstrumentL,			"LoadCustomInstrumentL");
+_LIT(KCmdLoadCustomInstrumentDataL,		"LoadCustomInstrumentDataL");
+_LIT(KCmdCustomCommandSyncL,			"CustomCommandSyncL");
+_LIT(KCmdCustomCommandAsync,			"CustomCommandAsync");
+_LIT(KCmdSendMessageL,					"SendMessageL");
+_LIT(KCmdSendMipMessageL,				"SendMipMessageL");
+
+_LIT(KNullString,						"null");
+/*@}*/
+
+const TInt	KMimeTypeBufferSize			=30;
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+/**
+Two phase constructor
+@internalComponent
+@return Data Dictionary object
+@pre None
+@post None
+*/
+CT_MMDataMidiClientUtility* CT_MMDataMidiClientUtility::NewL()
+	{
+	CT_MMDataMidiClientUtility*	ret=new (ELeave) CT_MMDataMidiClientUtility();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+/**
+CT_MMDataMidiClientUtility constructor.
+@internalComponent
+@return N/A
+@pre None
+@post CT_MMDataMidiClientUtility 1st stage constructor
+*/
+CT_MMDataMidiClientUtility::CT_MMDataMidiClientUtility()
+:	iMidiClient(NULL)
+,	iActiveCallback(NULL)
+,	iBuffer(NULL)
+,	iApiAsyncErrorIndex(0)
+,	iCustomBankId(0)
+,	iFileOpened(EFalse)
+,	iMaxChannelVolume(0)
+,	iMaxVolume(0)
+,	iPlaybackRate(0)
+,	iMaxPolyphony(0)
+,	iCommandDataBuffer1(NULL)
+,	iCommandDataBuffer2(NULL)
+,	iCustomCommandData(EFalse)
+,	iBufferPtr(NULL)
+	{
+	}
+
+void CT_MMDataMidiClientUtility::ConstructL()
+/**
+ * Second phase construction
+ *
+ * @internalComponent
+ *
+ * @return	N/A
+ *
+ * @pre		None
+ * @post	None
+ *
+ * @leave	system wide error
+ */
+	{
+	User::LeaveIfError(iFs.Connect());
+	iFs.ShareProtected();
+
+	iActiveCallback=CActiveCallback::NewL(*this);
+	}
+
+/**
+CT_MMDataMidiClientUtility destructor
+@internalComponent
+@return N/A
+@pre None
+@post releases CT_MMDataMidiClientUtility heap memory
+*/
+CT_MMDataMidiClientUtility::~CT_MMDataMidiClientUtility()
+	{
+	DestroyData();
+
+	delete iActiveCallback;
+	iActiveCallback = NULL;
+
+	delete iCommandDataBuffer1;
+	iCommandDataBuffer1=NULL;
+
+	delete iCommandDataBuffer2;
+	iCommandDataBuffer2=NULL;
+
+	iFs.Close();
+
+	}
+
+TAny* CT_MMDataMidiClientUtility::GetObject()
+/**
+ * Return a pointer to the object that the data wraps
+ *
+ * @return pointer to the object that the data wraps
+ */
+	{
+	return iMidiClient;
+	}
+
+/**
+Releases CT_MMDataMidiClientUtility dynamic memory.
+@internalComponent
+@return void
+@pre None
+@post All dynamic memory deallocated
+*/
+void CT_MMDataMidiClientUtility::DestroyData()
+	{
+	if( iFileOpened )
+		{
+		iFile.Close();
+		iFileOpened=EFalse;
+		}
+	delete iMidiClient;
+	iMidiClient=NULL;
+	delete iBuffer;
+	iBuffer=NULL;
+	delete iBufferPtr;
+	iBufferPtr=NULL;
+	}
+
+TBool CT_MMDataMidiClientUtility::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+/**
+ * Process a command read from the ini file
+ *
+ * @param aCommand			The command to process
+ * @param aSection			The section in the ini containing data for the command
+ * @param aAsyncErrorIndex	Command index for async calls to return errors to
+ *
+ * @return					ETrue if the command is processed
+ *
+ * @leave					System wide error
+ */
+	{
+	TBool	ret=ETrue;
+
+	if( aCommand==KCmdNewL )
+		{
+		DoCmdNewL(aSection);
+		}
+	else if( aCommand==KCmdOpenDes )
+		{
+		DoCmdOpenDesL(aSection, aAsyncErrorIndex);
+		}
+	else if( aCommand==KCmdOpenFile )
+		{
+		DoCmdOpenFileL(aSection, aAsyncErrorIndex);
+		}
+	else if( aCommand==KCmdOpenUrl )
+		{
+		DoCmdOpenUrlL(aSection, aAsyncErrorIndex);
+		}
+	else if( aCommand==KCmdPlay )
+		{
+		DoCmdPlay(aAsyncErrorIndex);
+		}
+	else if( aCommand==KCmdDurationMicroBeatsL )
+		{
+		DoCmdDurationMicroBeatsL(aSection);
+		}
+	else if( aCommand==KCmdDurationMicroSecondsL )
+		{
+		DoCmdDurationMicroSecondsL(aSection);
+		}
+	else if( aCommand==KCmdNumTracksL )
+		{
+		DoCmdNumTracksL(aSection);
+		}
+	else if( aCommand==KCmdChannelsSupportedL )
+		{
+		DoCmdChannelsSupportedL(aSection);
+		}
+	else if( aCommand==KCmdChannelVolumeL )
+		{
+		DoCmdChannelVolumeL(aSection);
+		}
+	else if( aCommand==KCmdMaxChannelVolumeL )
+		{
+		DoCmdMaxChannelVolumeL(aSection);
+		}
+	else if( aCommand==KCmdSetChannelVolumeL )
+		{
+		DoCmdSetChannelVolumeL(aSection);
+		}
+	else if( aCommand==KCmdMaxVolumeL )
+		{
+		DoCmdMaxVolumeL(aSection);
+		}
+	else if( aCommand==KCmdSetVolumeL )
+		{
+		DoCmdSetVolumeL(aSection);
+		}
+	else if( aCommand==KCmdVolumeL )
+		{
+		DoCmdVolumeL(aSection);
+		}
+	else if( aCommand==KCmdState )
+		{
+		DoCmdState(aSection);
+		}
+	else if( aCommand==KCmdCustomBankLoadedL )
+		{
+		DoCmdCustomBankLoadedL(aSection);
+		}
+	else if( aCommand==KCmdNumberOfBanksL )
+		{
+		DoCmdNumberOfBanksL(aSection);
+		}
+	else if( aCommand==KCmdNumberOfInstrumentsL )
+		{
+		DoCmdNumberOfInstrumentsL(aSection);
+		}
+	else if( aCommand==KCmdNumberOfMetaDataEntriesL )
+		{
+		DoCmdNumberOfMetaDataEntriesL(aSection);
+		}
+	else if( aCommand==KCmdGetBalanceL )
+		{
+		DoCmdGetBalanceL(aSection);
+		}
+	else if( aCommand==KCmdSetBalanceL )
+		{
+		DoCmdSetBalanceL(aSection);
+		}
+	else if( aCommand==KCmdGetBankIdL )
+		{
+		DoCmdGetBankIdL(aSection);
+		}
+	else if( aCommand==KCmdGetInstrumentIdL )
+		{
+		DoCmdGetInstrumentIdL(aSection);
+		}
+	else if( aCommand==KCmdIsChannelMuteL )
+		{
+		DoCmdIsChannelMuteL(aSection);
+		}
+	else if( aCommand==KCmdSetChannelMuteL )
+		{
+		DoCmdSetChannelMuteL(aSection);
+		}
+	else if( aCommand==KCmdIsTrackMuteL )
+		{
+		DoCmdIsTrackMuteL(aSection);
+		}
+	else if( aCommand==KCmdSetTrackMuteL )
+		{
+		DoCmdSetTrackMuteL(aSection);
+		}
+	else if( aCommand==KCmdGetRepeats )
+		{
+		DoCmdGetRepeats(aSection);
+		}
+	else if( aCommand==KCmdSetRepeatsL )
+		{
+		DoCmdSetRepeatsL(aSection);
+		}
+	else if( aCommand==KCmdSetStopTimeL )
+		{
+		DoCmdSetStopTimeL(aSection);
+		}
+	else if( aCommand==KCmdTempoMicroBeatsPerMinuteL )
+		{
+		DoCmdTempoMicroBeatsPerMinuteL(aSection);
+		}
+	else if( aCommand==KCmdSetTempoL )
+		{
+		DoCmdSetTempoL(aSection);
+		}
+	else if( aCommand==KCmdNoteOnL )
+		{
+		DoCmdNoteOnL(aSection);
+		}
+	else if( aCommand==KCmdNoteOffL )
+		{
+		DoCmdNoteOffL(aSection);
+		}
+	else if( aCommand==KCmdPlayNoteL )
+		{
+		DoCmdPlayNoteL(aSection);
+		}
+	else if( aCommand==KCmdPitchTranspositionCentsL )
+		{
+		DoCmdPitchTranspositionCentsL(aSection);
+		}
+	else if( aCommand==KCmdSetPitchTranspositionL )
+		{
+		DoCmdSetPitchTranspositionL(aSection);
+		}
+	else if( aCommand==KCmdPlaybackRateL )
+		{
+		DoCmdPlaybackRateL(aSection);
+		}
+	else if( aCommand==KCmdSetPlaybackRateL )
+		{
+		DoCmdSetPlaybackRateL(aSection);
+		}
+	else if( aCommand==KCmdMaxPlaybackRateL )
+		{
+		DoCmdMaxPlaybackRateL(aSection);
+		}
+	else if( aCommand==KCmdMinPlaybackRateL )
+		{
+		DoCmdMinPlaybackRateL(aSection);
+		}
+	else if( aCommand==KCmdSetPositionMicroSecondsL )
+		{
+		DoCmdSetPositionMicroSecondsL(aSection);
+		}
+	else if( aCommand==KCmdPositionMicroSecondsL )
+		{
+		DoCmdPositionMicroSecondsL(aSection);
+		}
+	else if( aCommand==KCmdSetPositionMicroBeatsL )
+		{
+		DoCmdSetPositionMicroBeatsL(aSection);
+		}
+	else if( aCommand==KCmdPositionMicroBeatsL )
+		{
+		DoCmdPositionMicroBeatsL(aSection);
+		}
+	else if( aCommand==KCmdSetMaxPolyphonyL )
+		{
+		DoCmdSetMaxPolyphonyL(aSection); }
+
+	else if( aCommand==KCmdPolyphonyL )
+		{
+		DoCmdPolyphonyL(aSection);
+		}
+	else if( aCommand==KCmdMaxPolyphonyL )
+		{
+		DoCmdMaxPolyphonyL(aSection);
+		}
+	else if( aCommand==KCmdSetPriorityL )
+		{
+		DoCmdSetPriorityL(aSection);
+		}
+	else if( aCommand==KCmdSetVolumeRampL )
+		{
+		DoCmdSetVolumeRampL(aSection);
+		}
+	else if( aCommand==KCmdLoadCustomBankL )
+		{
+		DoCmdLoadCustomBankL(aSection);
+		}
+	else if( aCommand==KCmdLoadCustomBankDataL )
+		{
+		DoCmdLoadCustomBankDataL(aSection);
+		}
+	else if( aCommand==KCmdUnloadAllCustomBanksL )
+		{
+		DoCmdUnloadAllCustomBanksL();
+		}
+	else if( aCommand==KCmdUnloadCustomBankL )
+		{
+		DoCmdUnloadCustomBankL(aSection);
+		}
+	else if( aCommand==KCmdUnloadCustomInstrumentL )
+		{
+		DoCmdUnloadCustomInstrumentL(aSection);
+		}
+	else if( aCommand==KCmdSetInstrumentL )
+		{
+		DoCmdSetInstrumentL(aSection);
+		}
+	else if( aCommand==KCmdInstrumentNameL )
+		{
+		DoCmdInstrumentNameL(aSection);
+		}
+	else if( aCommand==KCmdSetBankL )
+		{
+		DoCmdSetBankL(aSection);
+		}
+	else if( aCommand==KCmdMimeTypeL )
+		{
+		DoCmdMimeTypeL(aSection);
+		}
+	else if( aCommand==KCmdGetDRMCustomCommand )
+		{
+		DoCmdGetDRMCustomCommand(aSection);
+		}
+	else if( aCommand==KCmdGetMetaDataEntryL )
+		{
+		DoCmdGetMetaDataEntryL(aSection);
+		}
+	else if( aCommand==KCmdPercussionKeyNameL )
+		{
+		DoCmdPercussionKeyNameL(aSection);
+		}
+	else if( aCommand==KCmdStopNotes )
+		{
+		DoCmdStopNotes(aSection);
+		}
+	else if( aCommand==KCmdStopTimeL )
+		{
+		DoCmdStopTimeL(aSection);
+		}
+	else if( aCommand==KCmdStop )
+		{
+		DoCmdStop(aSection, aAsyncErrorIndex);
+		}
+	else if( aCommand==KCmdClose )
+		{
+		DoCmdClose(aAsyncErrorIndex);
+		}
+	else if( aCommand==KCmdDestructor )
+		{
+		DoCmdDestructor();
+		}
+	else if( aCommand==KCmdGetInstrumentL )
+		{
+		DoCmdGetInstrumentL(aSection);
+		}
+	else if( aCommand==KCmdSetSyncUpdateCallbackIntervalL )
+		{
+		DoCmdSetSyncUpdateCallbackIntervalL(aSection);
+		}
+	else if( aCommand==KCmdLoadCustomInstrumentL )
+		{
+		DoCmdLoadCustomInstrumentL(aSection);
+		}
+	else if( aCommand==KCmdLoadCustomInstrumentDataL )
+		{
+		DoCmdLoadCustomInstrumentDataL(aSection);
+		}
+	else if( aCommand==KCmdCustomCommandAsync )
+		{
+		DoCmdCustomCommandAsyncL(aSection, aAsyncErrorIndex);
+		}
+	else if( aCommand==KCmdCustomCommandSyncL )
+		{
+		DoCmdCustomCommandSyncL(aSection);
+		}
+	else if( aCommand==KCmdSendMessageL )
+		{
+		DoCmdSendMessageL(aSection);
+		}
+	else if( aCommand==KCmdSendMipMessageL )
+		{
+		DoCmdSendMipMessageL(aSection);
+		}
+	else if( aCommand==KCmdDestructor )
+		{
+		DoCmdDestructor();
+		}
+	else
+		{
+		ret=EFalse;
+		}
+	return ret;
+	}
+
+
+void CT_MMDataMidiClientUtility::DoCmdChannelVolumeL(const TDesC& aSection)
+	{
+
+
+	TInt	channel=0;
+	GetIntFromConfig(aSection, KChannel(), channel);
+
+	TReal32	volume = 0;
+	TRAPD( err, volume=iMidiClient->ChannelVolumeL(channel) );
+	if( err!=KErrNone )
+	    {
+	    ERR_PRINTF2(_L("ChannelVolumeL() error %d"),err);
+	    SetError( err );
+	    }
+	else
+	    {
+	    INFO_PRINTF3(_L("ChannelVolumeL()Channel: %d, Volume %g"),channel, volume);
+
+	    TInt	volTmp = 0;
+	    if( GetIntFromConfig(aSection, KVolume(), volTmp) )
+	    	{
+	    	TReal32	volumeCfg = (TReal32)volTmp;
+	    	if( volume!=volumeCfg )
+	    		{
+	        	ERR_PRINTF4(_L("ChannelVolumeL(%d) Volume %g != Expected Volume %g"), channel, volume, volumeCfg);
+	        	SetBlockResult(EFail);
+	    		}
+	    	}
+	    }
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdChannelsSupportedL(const TDesC& aSection)
+	{
+
+
+	TInt	numChls=0;
+	TRAPD( err, numChls=iMidiClient->ChannelsSupportedL() );
+	if( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("ChannelsSupportedL() error %d"),err);
+		SetError( err );
+		}
+	else
+		{
+		INFO_PRINTF2(_L("ChannelsSupportedL() %d"), numChls);
+
+		TInt	numChlsCfg = 0;
+		if( GetIntFromConfig(aSection, KChannelsNum(), numChlsCfg) )
+			{
+			if( numChls!=numChlsCfg )
+				{
+				ERR_PRINTF3(_L("Actual number of channels %d != Expected number of channels %d"),numChls,numChlsCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdClose(const TInt aAsyncErrorIndex)
+	{
+	iApiAsyncErrorIndex = aAsyncErrorIndex;
+	iMidiClient->Close();
+	IncOutstanding();
+	INFO_PRINTF1(_L("Close()"));
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdCustomBankLoadedL(const TDesC& aSection)
+	{
+
+
+	TInt	bankId = iCustomBankId;
+	GetIntFromConfig(aSection, KBankId(), bankId);
+
+	TBool	loaded = EFalse;
+	TRAPD( err, loaded=iMidiClient->CustomBankLoadedL(bankId) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF3(_L("CustomBankLoadedL(%d) = %d"), bankId, loaded);
+
+		TBool	loadedCfg = EFalse;
+		if( GetBoolFromConfig(aSection, KLoaded(), loadedCfg) )
+			{
+			if( loaded!=loadedCfg )
+				{
+				ERR_PRINTF2(_L("CustomBankLoadedL() %d != Expected Value"),bankId);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("CustomBankLoadedL() error %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdCustomCommandAsyncL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+
+	iApiAsyncErrorIndex = aAsyncErrorIndex;
+	TInt	function = 0;
+	GetIntFromConfig(aSection, KFunctionId(), function);
+
+	iCustomCommandData = EFalse;
+	GetBoolFromConfig(aSection, KUseDataFrom(), iCustomCommandData);
+
+	// reference to the first chunk of data
+	delete iCommandDataBuffer1;
+	iCommandDataBuffer1=NULL;
+	TPtrC	dataTo1Str;
+	if( GetStringFromConfig(aSection, KData1(), dataTo1Str) )
+		{
+		iCommandDataBuffer1=HBufC8::NewL(dataTo1Str.Length());
+		iCommandDataBuffer1->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		iCommandDataBuffer1=HBufC8::NewL(0);
+		iCommandDataBuffer1->Des().Copy(KNullDesC8);
+		}
+
+	// reference to the second chunk of data
+	delete iCommandDataBuffer2;
+	iCommandDataBuffer2=NULL;
+	TPtrC	dataTo2Str;
+	if( GetStringFromConfig(aSection, KData2(), dataTo2Str) )
+		{
+		iCommandDataBuffer2=HBufC8::NewL(dataTo2Str.Length());
+		iCommandDataBuffer2->Des().Copy(dataTo2Str);
+		}
+	else
+		{
+		iCommandDataBuffer2=HBufC8::NewL(0);
+		iCommandDataBuffer2->Des().Copy(KNullDesC8);
+		}
+
+	TMMFMessageDestination		handleInfo(iMidiControllerUid);
+	TMMFMessageDestinationPckg	messageDest(handleInfo);
+
+	if( iCustomCommandData )
+		{
+		iMidiClient->CustomCommandAsync(
+		messageDest, function, *iCommandDataBuffer1, *iCommandDataBuffer2, iDataFromText, iActiveCallback->iStatus
+			);
+		}
+	else
+		{
+		iMidiClient->CustomCommandAsync(
+			messageDest, function, *iCommandDataBuffer1, *iCommandDataBuffer2, iActiveCallback->iStatus
+			);
+		}
+	iActiveCallback->Activate(aAsyncErrorIndex);
+	IncOutstanding();
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdCustomCommandSyncL(const TDesC& aSection)
+	{
+
+
+	TInt	function = 0;
+	GetIntFromConfig(aSection, KFunctionId(), function);
+
+	iCustomCommandData = EFalse;
+	GetBoolFromConfig(aSection, KUseDataFrom(), iCustomCommandData);
+
+	// reference to the first chunk of data
+	delete iCommandDataBuffer1;
+	iCommandDataBuffer1=NULL;
+	TPtrC	dataToStr;
+	if( GetStringFromConfig(aSection, KData1(), dataToStr) )
+		{
+		iCommandDataBuffer1=HBufC8::NewL(dataToStr.Length());
+		iCommandDataBuffer1->Des().Copy(dataToStr);
+		}
+	else
+		{
+		iCommandDataBuffer1=HBufC8::NewL(0);
+		iCommandDataBuffer1->Des().Copy(KNullDesC8);
+		}
+
+	// reference to the second chunk of data
+	delete iCommandDataBuffer2;
+	iCommandDataBuffer2=NULL;
+	if( GetStringFromConfig(aSection, KData2(), dataToStr) )
+		{
+		iCommandDataBuffer2=HBufC8::NewL(dataToStr.Length());
+		iCommandDataBuffer2->Des().Copy(dataToStr);
+		}
+	else
+		{
+		iCommandDataBuffer2=HBufC8::NewL(0);
+		iCommandDataBuffer2->Des().Copy(KNullDesC8);
+		}
+
+	TMMFMessageDestination		handleInfo(iMidiControllerUid);
+	TMMFMessageDestinationPckg	messageDest(handleInfo);
+	TInt						err = KErrNone;
+	if( iCustomCommandData )
+		{
+		TRAP( err,iMidiClient->CustomCommandSyncL(messageDest, function, *iCommandDataBuffer1, *iCommandDataBuffer2, iDataFromText) );
+		}
+	else
+		{
+		TRAP( err,iMidiClient->CustomCommandSyncL(messageDest, function, *iCommandDataBuffer1, *iCommandDataBuffer2) );
+		}
+	if( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CustomCommandSync() failed with error %d."), err);
+		SetError(err);
+		}
+	else if( iCustomCommandData )
+		{
+		LogDataFromTextL();
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdDurationMicroBeatsL(const TDesC& aSection)
+	{
+
+
+	TInt64	durationMicroBeats=0;
+	TRAPD( err, durationMicroBeats=iMidiClient->DurationMicroBeatsL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("DurationMicroBeatsL() %d"),durationMicroBeats);
+
+		TInt	tmpDur = 0;
+		if( GetIntFromConfig(aSection, KDuration(),tmpDur) )
+			{
+			TInt64	durationMicroBeatsCfg = (TInt64)tmpDur;
+			if( durationMicroBeats!=durationMicroBeatsCfg )
+				{
+				ERR_PRINTF3(_L("DurationMicroBeatsL() %d != Expected duration %d"),(TInt)durationMicroBeats,(TInt)durationMicroBeatsCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("DurationMicroBeatsL() error %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdDurationMicroSecondsL(const TDesC& aSection)
+	{
+
+
+	TTimeIntervalMicroSeconds	durationMicroSeconds=0;
+	TRAPD( err, durationMicroSeconds=iMidiClient->DurationMicroSecondsL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("DurationMicroSecondsL() %d"),durationMicroSeconds.Int64());
+
+		TInt	tmpDur = 0;
+		if( GetIntFromConfig(aSection, KDuration(),tmpDur) )
+			{
+			TInt64	temp64=(TInt64)tmpDur;
+			TTimeIntervalMicroSeconds	durationMicroSecondsCfg(temp64);
+			if( durationMicroSeconds!=durationMicroSecondsCfg )
+				{
+				ERR_PRINTF3(_L("DurationMicroSeconds() %d != Expected duration %d"), (TInt)durationMicroSeconds.Int64() ,(TInt)durationMicroSecondsCfg.Int64());
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("DurationMicroSecondsL() error %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdGetBalanceL(const TDesC& aSection)
+	{
+
+
+	TInt	balance = 0;
+	TRAPD( err, balance=iMidiClient->GetBalanceL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("GetBalanceL() %d"), balance);
+
+		TInt	balanceCfg = 0;
+		if( GetIntFromConfig(aSection, KBalance(), balanceCfg) )
+			{
+			if( balance!=balanceCfg )
+				{
+				ERR_PRINTF3(_L("GetBalanceL() %d!= %d Config Balance "),balance,balanceCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("GetBalanceL() error %d"),balance);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdGetBankIdL(const TDesC& aSection)
+	{
+
+
+	TBool	custom = EFalse;
+	GetBoolFromConfig(aSection, KCustomBank(), custom);
+
+	TInt	bankId = 0;
+	if( GetIntFromConfig(aSection, KBankId(), bankId) )
+		{
+		TInt	identifier = 0;
+		TRAPD( err, identifier=iMidiClient->GetBankIdL(custom, bankId) );
+		if( err==KErrNone )
+			{
+			INFO_PRINTF4(_L("GetBankIdL(%d, %d) = %d"), custom, bankId, identifier);
+
+			TInt	identifierCfg = 0;
+			if( GetIntFromConfig(aSection, KIdentifier(), identifierCfg) )
+				{
+				if( identifier!=identifierCfg )
+					{
+					ERR_PRINTF3(_L("GetBankIdL() identifier %d!=%d Expected value"),identifier,identifierCfg);
+					SetBlockResult(EFail);
+					}
+				}
+			}
+		else
+			{
+			ERR_PRINTF2(_L("GetBankIdL() error %d"),err);
+			SetError( err );
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("GetBankIdL() error can't read BankId from Config"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdGetDRMCustomCommand(const TDesC& aSection)
+	{
+
+
+	MMMFDRMCustomCommand*	command = iMidiClient->GetDRMCustomCommand();
+	if( command )
+		{
+		INFO_PRINTF1(_L("GetDRMCustomCommand() is not NULL"));
+		}
+	else
+		{
+		INFO_PRINTF1(_L("GetDRMCustomCommand() is NULL"));
+		}
+
+	TBool	isNull = EFalse;
+	if( GetBoolFromConfig(aSection, KIsNull(), isNull) )
+		{
+		if( ((command!=NULL) && isNull) || ((command==NULL) && !isNull) )
+			{
+			ERR_PRINTF1(_L("GetDRMCustomCommand() not expected value"));
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdGetInstrumentIdL(const TDesC& aSection)
+	{
+
+
+	//Custom
+	TBool	custom = EFalse;
+	GetBoolFromConfig(aSection, KCustomBank(), custom);
+
+	//BankId
+	TInt	bankId = 0;
+	if( !GetIntFromConfig(aSection, KBankId(), bankId) )
+		{
+		ERR_PRINTF1(_L("GetInstrumentIdL() error can't read BankId from Config"));
+		SetBlockResult(EFail);
+		}
+
+	//InstrumentId
+	TInt	instrumentId = 0;
+	if( !GetIntFromConfig(aSection, KInstrumentId(), instrumentId) )
+		{
+		ERR_PRINTF1(_L("GetInstrumentIdL() error can't read InstrumentId from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TInt	identifier = 0;
+	TRAPD( err, identifier=iMidiClient->GetInstrumentIdL(bankId,custom,instrumentId) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF5(_L("GetInstrumentIdL(%d, %d, %d) = %d"), bankId, custom, instrumentId, identifier);
+
+		TInt	identifierCfg = 0;
+		if( GetIntFromConfig(aSection, KIdentifier(), identifierCfg) )
+			{
+			if( identifier!=identifierCfg )
+				{
+				ERR_PRINTF3(_L("GetInstrumentIdL() identifier %d!=%d Expected value"),identifier,identifierCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("GetInstrumentIdL() error %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdGetInstrumentL(const TDesC& aSection)
+	{
+
+
+	TInt	channel=0;
+	if( GetIntFromConfig(aSection, KChannel(), channel) )
+		{
+		TInt	instrumentId=0;
+		TInt	bankId=0;
+		TRAPD( err, iMidiClient->GetInstrumentL(channel,instrumentId,bankId) );
+
+		if( err==KErrNone )
+			{
+			INFO_PRINTF4(_L("GetInstrumentL() channel %d, instrumentId %d, bankId %d"),channel,instrumentId,bankId);
+
+			TInt	instrumentIdCfg = 0;
+			if( GetIntFromConfig(aSection, KInstrumentId(), instrumentIdCfg) )
+				{
+				if( instrumentId!=instrumentIdCfg )
+					{
+					ERR_PRINTF3(_L("GetInstrumentL() instrumentId %d!=%d Expected value"),instrumentId,instrumentIdCfg);
+					SetBlockResult(EFail);
+					}
+				}
+
+			TInt	bankIdCfg=0;
+			if( GetIntFromConfig(aSection, KBankId(), bankIdCfg) )
+				{
+				if( bankId!=bankIdCfg )
+					{
+					ERR_PRINTF3(_L("GetInstrumentL() bankId %d!=%d config value"),bankId,bankIdCfg);
+					SetBlockResult(EFail);
+					}
+				}
+			}
+		else
+			{
+			ERR_PRINTF2(_L("GetInstrumentL() error %d"),err);
+			SetError( err );
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("GetInstrumentL() error can't read channel from Config"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdGetMetaDataEntryL(const TDesC& aSection)
+	{
+
+	TInt	metaDataIndex = 0;
+	GetIntFromConfig(aSection, KMetaDataIndex(), metaDataIndex);
+
+	CMMFMetaDataEntry*	metaData = NULL;
+	TRAPD( err, metaData = iMidiClient->GetMetaDataEntryL(metaDataIndex) );
+	CleanupStack::PushL(metaData);
+	if( err==KErrNone )
+		{
+		INFO_PRINTF3(_L("GetMetaDataEntryL() Name = %S, Value = %S"),&(metaData->Name()),&(metaData->Value()));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("GetMetaDataEntryL %d"),err);
+		SetError( err );
+		}
+	CleanupStack::PopAndDestroy(metaData);
+	}
+
+
+void CT_MMDataMidiClientUtility::DoCmdGetRepeats(const TDesC& aSection)
+	{
+
+
+	TInt	repeats = iMidiClient->GetRepeats();
+	INFO_PRINTF2(_L("GetRepeats() %d"), repeats);
+
+	TInt	repeatsCfg = 0;
+	if( GetIntFromConfig(aSection, KRepeats(), repeatsCfg) )
+		{
+		if( repeats!=repeatsCfg )
+			{
+			ERR_PRINTF3(_L("GetRepeats() %d != config repeats %d"), repeats, repeatsCfg);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdInstrumentNameL(const TDesC& aSection)
+	{
+
+
+	TBool	customBank = EFalse;
+	GetBoolFromConfig(aSection, KCustomBank(), customBank);
+
+	TInt	bankIndex = 0;
+	if( !GetIntFromConfig(aSection, KBankId(), bankIndex) )
+		{
+		ERR_PRINTF1(_L("InstrumentName() error can't read bankId from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TInt	instrumentIndex = 0;
+	if( !GetIntFromConfig(aSection, KInstrumentId(), instrumentIndex) )
+		{
+		ERR_PRINTF1(_L("InstrumentName() error can't read instrumentId from Config"));
+		SetBlockResult(EFail);
+		}
+
+	HBufC*	name=NULL;
+	TRAPD( err, name = iMidiClient->InstrumentNameL(bankIndex,customBank,instrumentIndex) );
+	CleanupStack::PushL(name);
+	if( err==KErrNone )
+		{
+		INFO_PRINTF5(_L("InstrumentName(%d, %d, %d) = %S"), bankIndex, customBank, instrumentIndex, name);
+
+		TPtrC	nameCfg;
+		if( GetStringFromConfig(aSection, KName(), nameCfg) )
+			{
+			if( name->Des()!=nameCfg )
+				{
+				ERR_PRINTF3(_L("InstrumentName() %S != Expected value %S"), name, &nameCfg);
+				SetError( err );
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("InstrumentName %d"),err);
+		SetError( err );
+		}
+	CleanupStack::PopAndDestroy(name);
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdIsChannelMuteL(const TDesC& aSection)
+	{
+
+
+	TInt	channel = 0;
+	GetIntFromConfig(aSection, KChannel(), channel);
+
+	TBool	muted = EFalse;
+	TRAPD( err, muted=iMidiClient->IsChannelMuteL(channel) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF3(_L("IsChannelMuteL(%d) = %d"), channel, muted);
+
+		TBool	muteCfg = EFalse;
+		if( GetBoolFromConfig(aSection, KMute(), muteCfg) )
+			{
+			if( muteCfg!=muted )
+				{
+				ERR_PRINTF2(_L("IsChannelMuteL(%d) not expected value"), channel);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("IsChannelMuteL error %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdIsTrackMuteL(const TDesC& aSection)
+	{
+
+
+	TInt	track = 0;
+	if( GetIntFromConfig(aSection, KTrack(), track) )
+		{
+		TBool	muted = EFalse;
+		TRAPD( err, muted=iMidiClient->IsTrackMuteL(track) );
+		if( err==KErrNone )
+			{
+			INFO_PRINTF3(_L("IsTrackMuteL(%d) = %d"), track, muted);
+
+			TBool	muteCfg = EFalse;
+			if( GetBoolFromConfig(aSection, KMute(), muteCfg) )
+				{
+				if( muteCfg!=muted )
+					{
+					ERR_PRINTF2(_L("IsTrackMuteL() track %d not expected value"),track);
+					SetBlockResult(EFail);
+					}
+				}
+			}
+		else
+			{
+			ERR_PRINTF2(_L("IsTrackMuteL error %d"),err);
+			SetError( err );
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("IsTrackMuteL error can't read int from Config"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdLoadCustomBankDataL(const TDesC& aSection)
+	{
+
+
+	TPtrC	filename;
+	if( GetStringFromConfig(aSection, KBankData(), filename) )
+		{
+		RFile	file;
+		User::LeaveIfError(file.Open(iFs, filename, EFileRead | EFileShareAny));
+		CleanupClosePushL(file);
+		TInt	fileSize = 0;
+
+		User::LeaveIfError(file.Size(fileSize));
+
+		HBufC8 *buffer = HBufC8::NewLC(fileSize);
+		TPtr8	bufferPtr(buffer->Des());
+		User::LeaveIfError(file.Read(bufferPtr));
+
+		TRAPD( err, iMidiClient->LoadCustomBankDataL(bufferPtr,iCustomBankId) );
+
+		if( err==KErrNone )
+			{
+			INFO_PRINTF3(_L("LoadCustomBankDataL %S bankColectId %d"),&filename,iCustomBankId);
+			}
+		else
+			{
+			ERR_PRINTF2(_L("LoadCustomBankDataL() error %d"), err);
+			SetError( err );
+			}
+		CleanupStack::PopAndDestroy(2, &file); // buffer, file
+		}
+	else
+		{
+		ERR_PRINTF1(_L("LoadCustomBankDataL() error can't read path to BankData"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdLoadCustomBankL(const TDesC& aSection)
+	{
+
+
+	TPtrC	filename;
+	if( GetStringFromConfig(aSection, KBankData(), filename) )
+		{
+		TRAPD( err, iMidiClient->LoadCustomBankL(filename,iCustomBankId) );
+		if( err == KErrNone )
+			{
+	   		INFO_PRINTF3(_L("LoadCustomBank %S bankColectId %d"),&filename,iCustomBankId);
+			}
+		else
+			{
+			ERR_PRINTF2(_L("LoadCustomBankL() error %d"), err);
+			SetError( err );
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("LoadCustomBankL() error can't read filename"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdLoadCustomInstrumentDataL(const TDesC& aSection)
+	{
+
+
+	//fileBankId
+	TInt	fileBankId = 0;
+	if( !GetIntFromConfig(aSection, KFileBankId(), fileBankId) )
+		{
+		ERR_PRINTF1(_L("LoadCustomInstrumentDataL() error can't read fileBankId"));
+		SetBlockResult(EFail);
+		}
+	//fileInstrumentId
+	TInt	fileInstrumentId = 0;
+	if( !GetIntFromConfig(aSection, KFileInstrumentId(), fileInstrumentId) )
+		{
+		ERR_PRINTF1(_L("LoadCustomInstrumentDataL() error can't read fileInstrumentId"));
+		SetBlockResult(EFail);
+		}
+	//memoryBankId
+	TInt	memoryBankId = 0;
+	if( !GetIntFromConfig(aSection, KMemoryBankId(), memoryBankId) )
+		{
+		ERR_PRINTF1(_L("LoadCustomInstrumentDataL() error can't read memoryBankId"));
+		SetBlockResult(EFail);
+		}
+	//memoryInstrumentId
+	TInt	memoryInstrumentId = 0;
+	if( !GetIntFromConfig(aSection, KMemoryInstrumentId(), memoryInstrumentId) )
+		{
+		ERR_PRINTF1(_L("LoadCustomInstrumentDataL() error can't read memoryInstrumentId"));
+		SetBlockResult(EFail);
+		}
+	//FileName
+	TPtrC	filename;
+	if( !GetStringFromConfig(aSection, KFileName(), filename) )
+		{
+		ERR_PRINTF1(_L("LoadCustomInstrumentDataL() error can't read fileName"));
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		RFile	file;
+		User::LeaveIfError(file.Open(iFs, filename, EFileRead | EFileShareAny));
+		CleanupClosePushL(file);
+
+		TInt	fileSize = 0;
+		User::LeaveIfError(file.Size(fileSize));
+
+		HBufC8*	buffer = HBufC8::NewLC(fileSize);
+		TPtr8	bufferPtr(buffer->Des());
+		User::LeaveIfError(file.Read(bufferPtr));
+
+		TRAPD( err, iMidiClient->LoadCustomInstrumentDataL(bufferPtr,fileBankId,fileInstrumentId,memoryBankId,memoryInstrumentId) );
+
+		if( err == KErrNone )
+			{
+			INFO_PRINTF6(_L("LoadCustomInstrumentDataL() %S fileBankId %d, fileInstrumentId %d, memoryBankId %d, memoryInstrumentId %d")
+				,&filename,fileBankId,fileInstrumentId,memoryBankId,memoryInstrumentId);
+			}
+		else
+			{
+			ERR_PRINTF2(_L("LoadCustomInstrumentDataL() error %d"), err);
+			SetError( err );
+			}
+		CleanupStack::PopAndDestroy(2, &file); // buffer, file
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdLoadCustomInstrumentL(const TDesC& aSection)
+	{
+
+
+	//fileBankId
+	TInt	fileBankId = 0;
+	if( !GetIntFromConfig(aSection, KFileBankId(), fileBankId) )
+		{
+		ERR_PRINTF1(_L("LoadCustomInstrumentL() error can't read fileBankId"));
+		SetBlockResult(EFail);
+		}
+	//fileInstrumentId
+	TInt	fileInstrumentId = 0;
+	if( !GetIntFromConfig(aSection, KFileInstrumentId(), fileInstrumentId) )
+		{
+		ERR_PRINTF1(_L("LoadCustomInstrumentL() error can't read fileInstrumentId"));
+		SetBlockResult(EFail);
+		}
+	//memoryBankId
+	TInt	memoryBankId = 0;
+	if( !GetIntFromConfig(aSection, KMemoryBankId(), memoryBankId) )
+		{
+		ERR_PRINTF1(_L("LoadCustomInstrumentL() error can't read memoryBankId"));
+		SetBlockResult(EFail);
+		}
+	//memoryInstrumentId
+	TInt	memoryInstrumentId = 0;
+	if( !GetIntFromConfig(aSection, KMemoryInstrumentId(), memoryInstrumentId) )
+		{
+		ERR_PRINTF1(_L("LoadCustomInstrumentL() error can't read memoryInstrumentId"));
+		SetBlockResult(EFail);
+		}
+	//FileName
+	TPtrC	filename;
+	if( !GetStringFromConfig(aSection, KFileName(), filename) )
+		{
+		ERR_PRINTF1(_L("LoadCustomInstrumentL() error can't read fileName"));
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		TRAPD( err, iMidiClient->LoadCustomInstrumentL(filename,fileBankId,fileInstrumentId,memoryBankId,memoryInstrumentId) );
+
+		if( err == KErrNone )
+			{
+			INFO_PRINTF6(_L("LoadCustomInstrumentL() %S fileBankId %d, fileInstrumentId %d, memoryBankId %d, memoryInstrumentId %d")
+				,&filename,fileBankId,fileInstrumentId,memoryBankId,memoryInstrumentId);
+			}
+		else
+			{
+			ERR_PRINTF2(_L("LoadCustomInstrumentL() error %d"), err);
+			SetError( err );
+			}
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdMaxChannelVolumeL(const TDesC& aSection)
+	{
+
+
+	TRAPD( err, iMaxChannelVolume=iMidiClient->MaxChannelVolumeL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("MaxChannelVolumeL() %g"), iMaxChannelVolume);
+
+		TInt	volumeTmp = 0;
+		if( GetIntFromConfig(aSection, KVolume(), volumeTmp) )
+			{
+			INFO_PRINTF2(_L("MaxChannelVolumeL() %S"), &aSection);
+			TReal32	volumeCfg = (TReal32)volumeTmp;
+			if( iMaxChannelVolume!=volumeCfg )
+				{
+				ERR_PRINTF3(_L("MaxChannelVolumeL() %g != Expected value %g"),iMaxChannelVolume, volumeCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("MaxChannelVolumeL() error %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdMaxPlaybackRateL(const TDesC& aSection)
+	{
+
+
+	TRAPD( err, iPlaybackRate = iMidiClient->MaxPlaybackRateL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("MaxPlaybackRateL() %d"),iPlaybackRate);
+
+		TInt	rateCfg = 0;
+		if( GetIntFromConfig(aSection, KRate(), rateCfg) )
+			{
+			if( iPlaybackRate!=rateCfg )
+				{
+				ERR_PRINTF3(_L("MaxPlaybackRateL() %d != Expected value %d"),iPlaybackRate,rateCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("MaxPlaybackRateL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdMaxPolyphonyL(const TDesC& aSection)
+	{
+
+
+	TRAPD( err, iMaxPolyphony = iMidiClient->MaxPolyphonyL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("MaxPolyphonyL() %d"),iMaxPolyphony);
+
+		TInt	polyphonyCfg = 0;
+		if( GetIntFromConfig(aSection, KMaxNotes(), polyphonyCfg) )
+			{
+			if( iMaxPolyphony!=polyphonyCfg )
+				{
+				ERR_PRINTF3(_L("MaxPolyphonyL() %d != Expected value %d"),iMaxPolyphony,polyphonyCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("MaxPolyphonyL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdMaxVolumeL(const TDesC& aSection)
+	{
+
+
+	TRAPD( err, iMaxVolume = iMidiClient->MaxVolumeL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("MaxVolumeL() %d"), iMaxVolume);
+
+		TInt	volumeCfg=0;
+		if( GetIntFromConfig(aSection, KVolume(), volumeCfg) )
+			{
+			if( iMaxVolume!=volumeCfg )
+				{
+				ERR_PRINTF3(_L("MaxVolumeL() %d != Expected value %d"),iMaxVolume,volumeCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("MaxVolumeL() error %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdMimeTypeL(const TDesC& aSection)
+	{
+
+
+	const TDesC8*	des = NULL;
+	TRAPD( err, des = &(iMidiClient->MimeTypeL()) );
+	if( err==KErrNone )
+		{
+		TBuf<KMimeTypeBufferSize>	buff;
+		buff.Copy(*des);
+		TPtrC	mimeTypePtr(buff);
+		INFO_PRINTF2(_L("MimeTypeL(), %S"),&mimeTypePtr);
+
+		TPtrC	mimeTypeCfg;
+		if( GetStringFromConfig(aSection, KMimeType(), mimeTypeCfg) )
+			{
+			if( mimeTypePtr!=mimeTypeCfg )
+				{
+				ERR_PRINTF3(_L("MimeTypeL() %S != Expected value %S"),&mimeTypePtr,&mimeTypeCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("MimeTypeL() %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdMinPlaybackRateL(const TDesC& aSection)
+	{
+
+
+	TRAPD( err, iPlaybackRate = iMidiClient->MinPlaybackRateL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("MinPlaybackRateL() %d"),iPlaybackRate);
+
+		TInt	rateCfg = 0;
+		if( GetIntFromConfig(aSection, KRate(), rateCfg) )
+			{
+			if( iPlaybackRate!=rateCfg )
+				{
+				ERR_PRINTF3(_L("MinPlaybackRateL() %d != Expected value %d"),iPlaybackRate,rateCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("MinPlaybackRateL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdNewL(const TDesC& aSection)
+	{
+	DestroyData();
+
+	TInt	priority;
+	if( !CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		priority=EMdaPriorityNormal;
+		}
+
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	TRAPD(err, iMidiClient=CMidiClientUtility::NewL(*this, priority, priorityPreference));
+
+	if( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CMidiClientUtility::NewL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdNoteOffL(const TDesC& aSection)
+	{
+
+
+	TInt	channel = 0;
+	if( !GetIntFromConfig(aSection, KChannel(), channel) )
+		{
+		ERR_PRINTF1(_L("NoteOffL error can't read channel from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TInt	note = 0;
+	if( !GetIntFromConfig(aSection, KNote(), note) )
+		{
+		ERR_PRINTF1(_L("NoteOffL error can't read note from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TInt	velocity = 0;
+	if( !GetIntFromConfig(aSection, KVelocity(), velocity) )
+		{
+		ERR_PRINTF1(_L("NoteOffL error can't read velocity from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TRAPD( err, iMidiClient->NoteOffL(channel,note,velocity) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF4(_L("NoteOffL() channel %d, note %d, velocity %d"),channel,note,velocity);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("NoteOffL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdNoteOnL(const TDesC& aSection)
+	{
+
+	TInt	channel = 0;
+	if( !GetIntFromConfig(aSection, KChannel(), channel) )
+		{
+		ERR_PRINTF1(_L("NoteOnL error can't read channel from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TInt	note = 0;
+	if( !GetIntFromConfig(aSection, KNote(), note) )
+		{
+		ERR_PRINTF1(_L("NoteOnL error can't read note from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TInt	velocity = 0;
+	if( !GetIntFromConfig(aSection, KVelocity(), velocity) )
+		{
+		ERR_PRINTF1(_L("NoteOnL error can't read velocity from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TRAPD( err, iMidiClient->NoteOnL(channel,note,velocity) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF4(_L("NoteOnL() channel %d, note %d, velocity %d"),channel,note,velocity);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("NoteOnL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdNumTracksL(const TDesC& aSection)
+	{
+
+
+	TInt	numTracks=0;
+	TRAPD( err, numTracks=iMidiClient->NumTracksL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("NumTracksL() %d"),numTracks);
+
+		TInt	numTracksCfg = 0;
+		if( GetIntFromConfig(aSection, KNumTracks(), numTracksCfg) )
+			{
+			if( numTracks!=numTracksCfg )
+				{
+				ERR_PRINTF3(_L("NumTracksL() %d != Expected Value %d"),numTracks,numTracksCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("NumTracksL() error %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdNumberOfBanksL(const TDesC& aSection)
+	{
+
+
+	TBool	custom = EFalse;
+	GetBoolFromConfig(aSection, KCustomBank(), custom);
+
+	TInt	banks = 0;
+	TRAPD( err, banks=iMidiClient->NumberOfBanksL(custom) );
+	if( err==KErrNone )
+		{
+		if( custom )
+			{
+			INFO_PRINTF2(_L("NumberOfBanksL() custom banks  %d"),banks);
+			}
+		else
+			{
+			INFO_PRINTF2(_L("NumberOfBanksL() standard banks %d"),banks);
+			}
+
+		TInt	banksCfg = 0;
+		if( GetBoolFromConfig(aSection, KBanks(), banksCfg) )
+			{
+			if( banks!=banksCfg )
+				{
+				ERR_PRINTF3(_L("NumberOfBanksL() %d != Expected Value %d"),banks,banksCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("NumberOfBanksL() error %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdNumberOfInstrumentsL(const TDesC& aSection)
+	{
+
+
+	TBool	custom = EFalse;
+	GetBoolFromConfig(aSection, KCustomBank(), custom);
+
+	TInt	bankId = 0;
+	if( GetIntFromConfig(aSection, KBankId(), bankId) )
+		{
+		TInt	instruments = 0;
+		TRAPD( err, instruments=iMidiClient->NumberOfInstrumentsL(bankId,custom) );
+		if( err==KErrNone )
+			{
+			INFO_PRINTF4(_L("NumberOfInstrumentsL(%d, %d) = %d"), bankId, custom, instruments);
+
+			TInt	instrumentsCfg = 0;
+			if( GetIntFromConfig(aSection, KInstruments(), instrumentsCfg) )
+				{
+				if( instruments!=instrumentsCfg )
+					{
+					ERR_PRINTF3(_L("NumberOfInstrumentsL() %d != Expected Value %d"),instruments,instrumentsCfg);
+					SetBlockResult(EFail);
+					}
+				}
+			}
+		else
+			{
+			ERR_PRINTF2(_L("NumberOfInstrumentsL() error %d"),err);
+			SetError( err );
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("NumberOfInstrumentsL() error can't read BankId from Config"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdNumberOfMetaDataEntriesL(const TDesC& aSection)
+	{
+
+
+	TInt	num = 0;
+	TRAPD( err, num=iMidiClient->NumberOfMetaDataEntriesL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("NumberOfMetaDataEntriesL() %d"),num);
+
+		TInt	numCfg = 0;
+		if( GetIntFromConfig(aSection, KMetaDataNum(), numCfg) )
+			{
+			if( num!=numCfg )
+				{
+				ERR_PRINTF3(_L("NumberOfMetaDataEntriesL() %d != Expected Value %d"),num,numCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("NumberOfMetaDataEntriesL() error %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdOpenDesL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+
+	iApiAsyncErrorIndex = aAsyncErrorIndex;
+	TPtrC	filename;
+	if( GetStringFromConfig(aSection, KFileName(), filename) )
+		{
+		CT_MMUtil::GetControllerAndFormatUidL(*this, filename, KUidMediaTypeMidi, ETrue, iMidiControllerUid, iMidiFormatUid);
+		if( filename==KNullString )
+			{
+			iMidiClient->OpenDes(KNullDesC8);
+			INFO_PRINTF1(_L("OpenDes() KNullDesC8"));
+			}
+		else
+			{
+			RFile file;
+			User::LeaveIfError(file.Open(iFs, filename, EFileRead | EFileShareAny));
+			CleanupClosePushL(file);
+			TInt fileSize = 0;
+			User::LeaveIfError(file.Size(fileSize));
+
+			delete iBuffer;
+			iBuffer=NULL;
+			iBuffer=HBufC8::NewL(fileSize);
+			*iBuffer=KNullDesC8;
+			delete iBufferPtr;
+			iBufferPtr=new (ELeave) TPtr8(iBuffer->Des());
+
+			User::LeaveIfError(file.Read(*iBufferPtr));
+
+			iMidiClient->OpenDes(*iBufferPtr);
+			INFO_PRINTF2(_L("OpenDes() %S"),&filename);
+			CleanupStack::PopAndDestroy(&file);
+			}
+		IncOutstanding();
+		}
+	else
+		{
+		ERR_PRINTF1(_L("OpenDes() error"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdOpenFileL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+	iApiAsyncErrorIndex = aAsyncErrorIndex;
+	TPtrC	filename;
+	if( GetStringFromConfig(aSection, KFileName(), filename) )
+		{
+		CT_MMUtil::GetControllerAndFormatUidL(*this, filename, KUidMediaTypeMidi, ETrue, iMidiControllerUid, iMidiFormatUid);
+
+		TBool useTMMSource = EFalse;
+		GetBoolFromConfig(aSection, KTMMSource(), useTMMSource);
+		TBool useRFile = EFalse;
+		GetBoolFromConfig(aSection, KRFile(), useRFile);
+
+		if( useRFile )
+			{
+			if( iFileOpened )
+				{
+				iFile.Close();
+				iFileOpened = EFalse;
+				}
+			User::LeaveIfError(iFile.Open(iFs, filename, EFileRead | EFileShareAny));
+			iFileOpened=ETrue;
+
+			iMidiClient->OpenFile(iFile);
+			INFO_PRINTF1(_L("OpenFile(const RFile&)"));
+			IncOutstanding();
+			}
+		else if( useTMMSource )
+			{
+		    ContentAccess::TIntent	intent=ContentAccess::EPeek;
+			if ( !CT_MMUtil::ReadIntent(*this, aSection, intent) )
+				{
+				intent=ContentAccess::EPeek;
+				}
+
+			TPtrC	uniqueId = _L("");
+			GetStringFromConfig(aSection, KUniqueId(), uniqueId);
+
+			TBool	enableUI = EFalse;
+			GetBoolFromConfig(aSection, KEnableUI(), enableUI);
+
+			TMMFileSource fileSource(filename, uniqueId, intent, enableUI);
+			iMidiClient->OpenFile(fileSource);
+			INFO_PRINTF1(_L("OpenFile(const TMMSource&)"));
+
+			IncOutstanding();
+			}
+		else
+			{
+			iMidiClient->OpenFile(filename);
+			INFO_PRINTF1(_L("OpenFile(const TDesC&)"));
+			IncOutstanding();
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Error read parameter = %S"), &KFileName());
+		ERR_PRINTF2(_L("Error read parameter = %S"), &filename);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdOpenUrlL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+
+	iApiAsyncErrorIndex = aAsyncErrorIndex;
+	TPtrC	url;
+	if( GetStringFromConfig(aSection, KUrl(), url) )
+		{
+		CT_MMUtil::GetControllerAndFormatUidL(*this, url, KUidMediaTypeMidi, ETrue, iMidiControllerUid, iMidiFormatUid);
+
+		TInt	accessPointID = KUseDefaultIap;
+		GetIntFromConfig(aSection, KAccessPointID(), accessPointID);
+		HBufC8*	mimeType8=NULL;
+		TPtrC	mimeType;
+		if( GetStringFromConfig(aSection, KMimeType(), mimeType) )
+			{
+			mimeType8=HBufC8::NewL(mimeType.Length());
+			mimeType8->Des().Copy(mimeType);
+			}
+		else
+			{
+			mimeType8=HBufC8::NewL(0);
+			mimeType8->Des().Copy(KNullDesC8);
+			}
+		CleanupStack::PushL(mimeType8);
+
+		iMidiClient->OpenUrl(url, accessPointID, *mimeType8);
+
+		IncOutstanding();
+
+		//call back in MapcInitComplete
+
+		CleanupStack::PopAndDestroy(mimeType8);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Error read parameter =%S"), &KMimeType());
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdPercussionKeyNameL(const TDesC& aSection)
+	{
+
+
+	//Custom
+	TBool	custom = EFalse;
+	GetBoolFromConfig(aSection, KCustomBank(), custom);
+	//Note
+	TInt	note = 0;
+	if( !GetIntFromConfig(aSection, KNote(), note) )
+		{
+		ERR_PRINTF1(_L("PercussionKeyNameL() error can't read note from Config"));
+		SetBlockResult(EFail);
+		}
+	//BankId
+	TInt	bankId = 0;
+	if( !GetIntFromConfig(aSection, KBankId(), bankId) )
+		{
+		ERR_PRINTF1(_L("PercussionKeyNameL() error can't read BankId from Config"));
+		SetBlockResult(EFail);
+		}
+	//InstrumentId
+	TInt	instrumentId = 0;
+	if( !GetIntFromConfig(aSection, KInstrumentId(), instrumentId) )
+		{
+		ERR_PRINTF1(_L("PercussionKeyNameL() error can't read InstrumentId from Config"));
+		SetBlockResult(EFail);
+		}
+
+	HBufC*	keyName = NULL;
+	TRAPD( err, keyName=iMidiClient->PercussionKeyNameL(note,bankId,custom,instrumentId) );
+	CleanupStack::PushL(keyName);
+	if( err==KErrNone )
+		{
+		TPtrC	str = keyName->Des();
+		INFO_PRINTF6(_L("PercussionKeyNameL(%d, %d, %d, %d) = %S"), note, bankId, custom, instrumentId, &str);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("PercussionKeyNameL() error %d"),err);
+		SetError( err );
+		}
+	CleanupStack::PopAndDestroy(keyName);
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdPitchTranspositionCentsL(const TDesC& aSection)
+	{
+
+
+	TInt	cents = 0;
+	TRAPD( err, cents = iMidiClient->PitchTranspositionCentsL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("PitchTranspositionCentsL() %d"),cents);
+		TInt	centsCfg = 0;
+		if( GetIntFromConfig(aSection, KCents(), centsCfg) )
+			{
+			if( cents!=centsCfg )
+				{
+				ERR_PRINTF3(_L("PitchTranspositionCentsL() %d != config cents %d"), cents, centsCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("PitchTranspositionCentsL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdPlay(const TInt aAsyncErrorIndex)
+	{
+	iApiAsyncErrorIndex = aAsyncErrorIndex;
+	iMidiClient->Play();
+	INFO_PRINTF1(_L("Play() playing"));
+	IncOutstanding();
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdPlayNoteL(const TDesC& aSection)
+	{
+
+
+	//Channel
+	TInt	channel;
+	if( !GetIntFromConfig(aSection, KChannel(), channel) )
+		{
+		ERR_PRINTF1(_L("PlayNoteL error can't read channel from Config"));
+		SetBlockResult(EFail);
+		}
+	//Note
+	TInt	note;
+	if( !GetIntFromConfig(aSection, KNote(), note) )
+		{
+		ERR_PRINTF1(_L("PlayNoteL error can't read note from Config"));
+		SetBlockResult(EFail);
+		}
+	//Duration
+	TInt	tmp=0;
+	if( !GetIntFromConfig(aSection, KDuration(), tmp) )
+		{
+		ERR_PRINTF1(_L("PlayNoteL error can't read duration from Config"));
+		SetBlockResult(EFail);
+		}
+	TTimeIntervalMicroSeconds duration = tmp;
+	//NoteOnVelocity
+	TInt	noteOnVelocity;
+	if( !GetIntFromConfig(aSection, KNoteOnVelocity(), noteOnVelocity) )
+		{
+		ERR_PRINTF1(_L("PlayNoteL error can't read noteOnVelocity from Config"));
+		SetBlockResult(EFail);
+		}
+	//NoteOffVelocity
+	TInt	noteOffVelocity;
+	if( !GetIntFromConfig(aSection, KNoteOffVelocity(), noteOffVelocity) )
+		{
+		ERR_PRINTF1(_L("PlayNoteL error can't read noteOffVelocity  from Config"));
+		SetBlockResult(EFail);
+		}
+	//startTime
+	if( GetIntFromConfig(aSection, KStartTime(), tmp) )
+		{
+		TTimeIntervalMicroSeconds startTime = tmp;
+		//PlayNoteL(6 parameters)
+		TRAPD( err, iMidiClient->PlayNoteL(channel,note,startTime,duration,noteOnVelocity,noteOffVelocity) );
+		if( err==KErrNone )
+			{
+			INFO_PRINTF7(_L("PlayNoteL() channel %d, note %d, startTime %d, duration %d, noteOnVelocity %d, noteOffVelocity %d"),
+			channel,note,TInt(startTime.Int64()),TInt(duration.Int64()),noteOnVelocity,noteOffVelocity);
+			}
+		else
+			{
+			ERR_PRINTF2(_L("PlayNoteL() %d"),err);
+			SetError( err );
+			}
+		}
+	else
+		{
+		//PlayNoteL(5 parameters)
+		TRAPD( err, iMidiClient->PlayNoteL(channel,note,duration,noteOnVelocity,noteOffVelocity) );
+		if( err==KErrNone )
+			{
+			INFO_PRINTF6(_L("PlayNoteL() channel %d, note %d, duration %d, noteOnVelocity %d, noteOffVelocity %d"),
+				channel,note,TInt(duration.Int64()),noteOnVelocity,noteOffVelocity);
+			}
+		else
+			{
+			ERR_PRINTF2(_L("PlayNoteL() %d"),err);
+			SetError( err );
+			}
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdPlaybackRateL(const TDesC& aSection)
+	{
+
+
+	TInt	rate = 0;
+	TRAPD( err, rate = iMidiClient->PlaybackRateL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("PlaybackRateL() %d"),rate);
+		TInt	rateCfg = iPlaybackRate;
+		if( (GetIntFromConfig(aSection, KRate(), rateCfg)) || (iPlaybackRate > 0) )
+			{
+			if( rate!=rateCfg )
+				{
+				ERR_PRINTF3(_L("PlaybackRateL() %d != config rate %d"), rate, rateCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("PlaybackRateL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdPolyphonyL(const TDesC& aSection)
+	{
+
+
+	TInt	maxNotes = 0;
+	TRAPD( err, maxNotes = iMidiClient->PolyphonyL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("PolyphonyL() %d"),maxNotes);
+		TInt	maxNotesCfg = 0;
+		if( GetIntFromConfig(aSection, KMaxNotes(), maxNotesCfg) )
+			{
+			if( maxNotes != maxNotesCfg )
+				{
+				ERR_PRINTF3(_L("PolyphonyL() %d != config value %d"),maxNotes,maxNotesCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("PolyphonyL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdPositionMicroBeatsL(const TDesC& aSection)
+	{
+
+
+	TInt64	position = 0;
+	TRAPD( err, position = iMidiClient->PositionMicroBeatsL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("PositionMicroBeatsL() %d"),TInt(position));
+		TInt	tmp = 0;
+		if( GetIntFromConfig(aSection, KPosition(), tmp) )
+			{
+			TInt64	positionCfg = (TInt64)tmp;
+			if( position!=positionCfg )
+				{
+				ERR_PRINTF3(_L("PositionMicroBeatsL() %d != config value %d"),TInt(position),TInt(positionCfg));
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("PositionMicroBeatsL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdPositionMicroSecondsL(const TDesC& aSection)
+	{
+
+
+	TTimeIntervalMicroSeconds	position = 0;
+	TRAPD( err, position = iMidiClient->PositionMicroSecondsL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("PositionMicroSecondsL() %d"),(TInt)position.Int64());
+		TInt	tmp = 0;
+		if( GetIntFromConfig(aSection, KPosition(), tmp) )
+			{
+			TTimeIntervalMicroSeconds	positionCfg = tmp;
+			if( position!=positionCfg )
+				{
+				ERR_PRINTF3(_L("PositionMicroSecondsL() %d != config value %d"),(TInt)position.Int64(),(TInt)positionCfg.Int64());
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("PositionMicroSecondsL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSendMessageL(const TDesC& aSection)
+	{
+
+
+	// reference to the first chunk of data
+	HBufC8*	message = NULL;
+	TPtrC	messageStr;
+	if( GetStringFromConfig(aSection, KData1(), messageStr) )
+		{
+		message = HBufC8::NewL(messageStr.Length());
+		message->Des().Copy(messageStr);
+		}
+	else
+		{
+		message = HBufC8::NewL(0);
+		message->Des().Copy(KNullDesC8);
+		}
+	CleanupStack::PushL(message);
+
+	TInt	byteProcessed = 0;
+	TInt	error = KErrNone;
+	TInt	tmp = 0;
+	if( GetIntFromConfig(aSection, KTime(), tmp) )
+		{
+		TTimeIntervalMicroSeconds time = tmp;
+		TRAP( error, byteProcessed = iMidiClient->SendMessageL(*message,time) );
+		}
+	else
+		{
+		TRAP( error, byteProcessed = iMidiClient->SendMessageL(*message) );
+		}
+	if( error==KErrNone )
+		{
+		INFO_PRINTF2(_L("SendMessageL() bytes processed: %d"),byteProcessed);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("SendMessageL() %d"),error);
+		SetError( error );
+		}
+
+	CleanupStack::PopAndDestroy(message);
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSendMipMessageL(const TDesC& aSection)
+	{
+	TInt						index = 0;
+	TBool						moreData = ETrue;
+	RArray<TMipMessageEntry>	mipArray;
+	CleanupClosePushL(mipArray);
+
+	TBuf<KMaxTestExecuteCommandLength>	tempStore;
+	while ( moreData )
+		{
+		moreData = EFalse;
+
+		TInt	mipValue = 0;
+		tempStore.Format(KMIPValue(), ++index);
+		if( GetIntFromConfig(aSection, tempStore, mipValue) )
+			{
+			TInt	channel = 0;
+			tempStore.Format(KOption(), index);
+			if ( GetIntFromConfig(aSection, tempStore, channel) )
+				{
+				TMipMessageEntry	message;
+				message.iChannel =	channel;
+				message.iMIPValue =	mipValue;
+
+				TInt	err = mipArray.Append(message);
+				if( err!=KErrNone )
+					{
+					ERR_PRINTF2(_L("SendMipMessageL() arrayCreating error %d"),err);
+					SetBlockResult(EFail);
+					}
+
+				moreData = ETrue;
+				}
+			}
+		}
+
+	TRAPD( err, iMidiClient->SendMipMessageL(mipArray) );
+	if( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SendMipMessageL() error %d"),err);
+		SetError( err );
+		}
+
+	CleanupStack::PopAndDestroy(&mipArray);
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetBalanceL(const TDesC& aSection)
+	{
+
+
+	TInt	balance = KMMFBalanceCenter;
+	GetIntFromConfig(aSection, KBalance(), balance);
+
+	TRAPD( err, iMidiClient->SetBalanceL(balance) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("SetBalanceL() %d"),balance);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("SetBalanceL() error %d"),balance);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetBankL(const TDesC& aSection)
+	{
+
+
+	TBool	custom = EFalse;
+	GetBoolFromConfig(aSection, KCustom(), custom);
+
+	TRAPD( err, iMidiClient->SetBankL(custom) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF1(custom?_L("SetBankL() True"):_L("SetBankL() False"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("SetBankL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetChannelMuteL(const TDesC& aSection)
+	{
+
+
+	TInt	channel = 0;
+	GetIntFromConfig(aSection, KChannel(), channel);
+
+	TBool	mute = EFalse;
+	GetBoolFromConfig(aSection, KMute(), mute);
+
+	TRAPD( err, iMidiClient->SetChannelMuteL(channel,mute) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF3(_L("SetChannelMuteL(%d, %d)"), channel, mute);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("SetChannelMuteLerror %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetChannelVolumeL(const TDesC& aSection)
+	{
+
+
+	TInt	channel = 0;
+	if( !GetIntFromConfig(aSection, KChannel(), channel) )
+		{
+		ERR_PRINTF1(_L("SetChannelVolumeL error can't read channel from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TReal32	volume = iMaxChannelVolume;
+	TInt	tmpVol = 0;
+	if( GetIntFromConfig(aSection, KVolume(), tmpVol) )
+		{
+		volume = tmpVol;
+		}
+
+	TRAPD( err, iMidiClient->SetChannelVolumeL(channel,volume) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF3(_L("SetChannelVolumeL() %d, Volume %g"), channel ,volume);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("SetChannelVolumeL() error %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetInstrumentL(const TDesC& aSection)
+	{
+
+
+	TInt	bankIndex = 0;
+	if( !GetIntFromConfig(aSection, KBankId(), bankIndex) )
+		{
+		ERR_PRINTF1(_L("SetInstrumentL() error can't read bankId from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TInt	instrumentIndex = 0;
+	if( !GetIntFromConfig(aSection, KInstrumentId(), instrumentIndex) )
+		{
+		ERR_PRINTF1(_L("SetInstrumentL() error can't read instrumentId from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TInt	channel = 0;
+	if( !GetIntFromConfig(aSection, KChannel(), channel) )
+		{
+		ERR_PRINTF1(_L("SetInstrumentL() error can't read channel from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TRAPD( err, iMidiClient->SetInstrumentL(channel,bankIndex,instrumentIndex) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF4(_L("SetInstrumentL() %d, channel %d, bankdId %d"),instrumentIndex,channel,bankIndex);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("SetInstrumentL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetMaxPolyphonyL(const TDesC& aSection)
+	{
+
+
+	TInt	maxNotes = iMaxPolyphony;
+	GetIntFromConfig(aSection, KMaxNotes(), maxNotes);
+
+	TRAPD( err, iMidiClient->SetMaxPolyphonyL(maxNotes) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("SetMaxPolyphonyL() %d"),maxNotes);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("SetMaxPolyphonyL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetPitchTranspositionL(const TDesC& aSection)
+	{
+
+
+	TInt	cents = 0;
+	if( GetIntFromConfig(aSection, KCents(), cents) )
+		{
+		TInt	centsActual = 0;
+		TRAPD( err, centsActual = iMidiClient->SetPitchTranspositionL(cents) );
+		if( err==KErrNone )
+			{
+			INFO_PRINTF3(_L("SetPitchTranspositionL() %d actual pitch shift applied %d "),cents,centsActual);
+
+			TInt	expectedShift = 0;
+			if( GetIntFromConfig(aSection, KShift(), expectedShift) )
+				{
+				if( centsActual != expectedShift )
+					{
+					ERR_PRINTF3(_L("Pitch shift actual(%d)!=expected(%d)"), centsActual, expectedShift);
+					SetBlockResult(EFail);
+					}
+				}
+			}
+		else
+			{
+			ERR_PRINTF2(_L("SetPitchTranspositionL %d"),err);
+			SetError( err );
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("SetPitchTranspositionL error can't read cents from Config"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetPlaybackRateL(const TDesC& aSection)
+	{
+
+
+	TInt	rate = iPlaybackRate;
+	GetIntFromConfig(aSection, KRate(), rate);
+
+	TRAPD( err, iMidiClient->SetPlaybackRateL(rate) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("SetPlaybackRateL() %d"),rate);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("SetPlaybackRateL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetPositionMicroBeatsL(const TDesC& aSection)
+	{
+
+
+	TInt	tmp = 0;
+	if( GetIntFromConfig(aSection, KPosition(), tmp) )
+		{
+		TInt64	position = (TInt64)tmp;
+		TRAPD( err, iMidiClient->SetPositionMicroBeatsL(position) );
+		if( err==KErrNone )
+			{
+			INFO_PRINTF2(_L("SetPositionMicroBeatsL() %d"),TInt(position));
+			}
+		else
+			{
+			ERR_PRINTF2(_L("SetPositionMicroBeatsL %d"),err);
+			SetError( err );
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("SetPositionMicroBeatsL error can't read position from Config"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetPositionMicroSecondsL(const TDesC& aSection)
+	{
+
+
+	TInt	tmp = 0;
+	if( GetIntFromConfig(aSection, KPosition(), tmp) )
+		{
+		TTimeIntervalMicroSeconds	position = tmp;
+		TRAPD( err, iMidiClient->SetPositionMicroSecondsL(position) );
+		if( err==KErrNone )
+			{
+			INFO_PRINTF2(_L("SetPositionMicroSecondsL() %d"),TInt(position.Int64()));
+			}
+		else
+			{
+			ERR_PRINTF2(_L("SetPositionMicroSecondsL %d"),err);
+			SetError( err );
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("SetPositionMicroSecondsL error can't read position from Config"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetPriorityL(const TDesC& aSection)
+	{
+	TInt	priority;
+	if( !CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		priority=EMdaPriorityNormal;
+		}
+
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	TRAPD(err, iMidiClient->SetPriorityL(priority, priorityPreference));
+	if( err==KErrNone )
+		{
+		INFO_PRINTF1(_L("SetPriorityL ok"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("SetPriorityL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetRepeatsL(const TDesC& aSection)
+	{
+
+
+	TInt	repeats = 0;
+	if( !GetIntFromConfig(aSection, KRepeats(), repeats) )
+		{
+		ERR_PRINTF1(_L("SetRepeatsL error can't read int from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TInt	intervalTmp = 0;
+	if( !GetIntFromConfig(aSection, KTimeIntervalSec(), intervalTmp) )
+		{
+		ERR_PRINTF1(_L("SetRepeatsL error can't read IntervalSec from Config"));
+		SetBlockResult(EFail);
+		}
+	TTimeIntervalMicroSeconds	interval = intervalTmp;
+
+	TRAPD( err, iMidiClient->SetRepeatsL(repeats,interval) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF3(_L("SetRepeatsL() %d, TimeInterval %d"), repeats, TInt(interval.Int64()));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("SetRepeatsL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetStopTimeL(const TDesC& aSection)
+	{
+
+
+	TInt	intervalTmp = 0;
+	if( GetIntFromConfig(aSection, KTimeIntervalSec(), intervalTmp) )
+		{
+		TTimeIntervalMicroSeconds	interval = intervalTmp;
+		TRAPD( err, iMidiClient->SetStopTimeL(interval) );
+		if( err==KErrNone )
+			{
+			INFO_PRINTF2(_L("SetStopTimeL() %d"),TInt(interval.Int64()));
+			}
+		else
+			{
+			ERR_PRINTF2(_L("SetStopTimeL %d"),err);
+			SetError( err );
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("SetStopTimeL error can't read IntervalSec from Config"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetSyncUpdateCallbackIntervalL(const TDesC& aSection)
+	{
+	TInt	tmp = 0;
+	GetIntFromConfig(aSection, KMicroBeats(), tmp);
+	TInt64	microBeats(tmp);
+
+	if( GetIntFromConfig(aSection, KMicroSeconds(), tmp) )
+		{
+		TTimeIntervalMicroSeconds	microSeconds = tmp;
+		TRAPD( err, iMidiClient->SetSyncUpdateCallbackIntervalL(microSeconds,microBeats) );
+		if( err==KErrNone )
+			{
+			IncOutstanding();
+			INFO_PRINTF3(_L("SetSyncUpdateCallbackIntervalL() microSeconds %d, microBeats %d"),TInt(microSeconds.Int64()),TInt(microBeats));
+			}
+		else
+			{
+			ERR_PRINTF2(_L("SetSyncUpdateCallbackIntervalL() %d"),err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("SetSyncUpdateCallbackIntervalL() error can't read microSeconds from Config"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetTempoL(const TDesC& aSection)
+	{
+
+
+	TInt	tempo = 0;
+	if( GetIntFromConfig(aSection, KTempo(), tempo) )
+		{
+		TRAPD( err, iMidiClient->SetTempoL(tempo) );
+		if( err==KErrNone )
+			{
+			INFO_PRINTF2(_L("SetTempoL() %d"),tempo);
+			}
+		else
+			{
+			ERR_PRINTF2(_L("SetTempoL %d"),err);
+			SetError( err );
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("SetTempoL error can't read tempo from Config"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetTrackMuteL(const TDesC& aSection)
+	{
+
+
+	TBool	mute = EFalse;
+	if( !GetBoolFromConfig(aSection, KMute(), mute) )
+		{
+		ERR_PRINTF1(_L("SetTrackMuteL error can't read bool from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TInt	track = 0;
+	if( !GetIntFromConfig(aSection, KTrack(), track) )
+		{
+		ERR_PRINTF1(_L("SetTrackMuteL error can't read int from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TRAPD( err, iMidiClient->SetTrackMuteL(track,mute) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF3(_L("SetTrackMuteL(%d, %d)"), track, mute);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("SetTrackMuteL() %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetVolumeL(const TDesC& aSection)
+	{
+
+
+	TInt	volume = iMaxVolume;	//volume will be 0 or MaxVolume
+	GetIntFromConfig(aSection, KVolume(), volume);
+	TRAPD( err, iMidiClient->SetVolumeL(volume) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("SetVolumeL(%d)"), volume);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("SetVolumeL() error %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdSetVolumeRampL(const TDesC& aSection)
+	{
+
+
+	TInt	temp = 0;
+	if( GetIntFromConfig(aSection, KTimeIntervalSec(), temp) )
+		{
+		TTimeIntervalMicroSeconds	rampDuration = temp;
+		TRAPD( err, iMidiClient->SetVolumeRampL(rampDuration) );
+		if( err==KErrNone )
+			{
+			INFO_PRINTF2(_L("SetVolumeRampL(%d)"),temp);
+			}
+		else
+			{
+			ERR_PRINTF2(_L("SetVolumeRampL %d"),err);
+			SetError( err );
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("SetVolumeRampL() error can't read intervalSec from Config"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdState(const TDesC& aSection)
+	{
+	TMidiState	actual=iMidiClient->State();
+	INFO_PRINTF2(_L("Current midi state: %d"), actual);
+
+	TMidiState	expected;
+	if( CT_MMUtil::ReadMidiState(*this, aSection, KState(), expected) )
+		{
+		if ( actual!=expected )
+			{
+			ERR_PRINTF1(_L("Not expected state"));
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdStop(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+	iApiAsyncErrorIndex = aAsyncErrorIndex;
+
+	TInt intervalTmp = 0;
+	GetIntFromConfig(aSection, KTimeIntervalSec(), intervalTmp);
+	TTimeIntervalMicroSeconds	fadeOut = intervalTmp;
+
+	iMidiClient->Stop(fadeOut);
+
+	INFO_PRINTF2(_L("Stop() FadeOutDuration %d"),TInt(fadeOut.Int64()));
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdStopNotes(const TDesC& aSection)
+	{
+
+
+	TInt	channel = 0;
+	if( GetIntFromConfig(aSection, KChannel(), channel) )
+		{
+		iMidiClient->StopNotes(channel);
+		INFO_PRINTF2(_L("StopNotes() channel %d"),channel);
+		}
+	else
+		{
+		ERR_PRINTF1(_L("StopNotes error can't read channel from Config"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdStopTimeL(const TDesC& aSection)
+	{
+
+
+	TTimeIntervalMicroSeconds interval;
+	TRAPD( err, iMidiClient->StopTimeL(interval) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("StopTimeL() %d"),TInt(interval.Int64()));
+
+		TInt intervalTmp = 0;
+		if( GetIntFromConfig(aSection, KTimeIntervalSec(), intervalTmp) )
+			{
+			TTimeIntervalMicroSeconds	intervalCfg = intervalTmp;
+			if( interval!=intervalCfg )
+				{
+				ERR_PRINTF3(_L("StopTimeL() %d != config interval %d"), TInt(interval.Int64()),TInt(intervalCfg.Int64()));
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("StopTimeL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdTempoMicroBeatsPerMinuteL(const TDesC& aSection)
+	{
+
+
+	TInt tempo = 0;
+	TRAPD( err, tempo = iMidiClient->TempoMicroBeatsPerMinuteL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("TempoMicroBeatsPerMinuteL() %d"),tempo);
+
+		TInt	tempoCfg = 0;
+		if( GetIntFromConfig(aSection, KTempo(), tempoCfg) )
+			{
+			if( tempo!=tempoCfg )
+				{
+				ERR_PRINTF3(_L("TempoMicroBeatsPerMinuteL() %d != config tempo %d"), tempo, tempoCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("TempoMicroBeatsPerMinuteL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdUnloadAllCustomBanksL()
+	{
+	TRAPD( err, iMidiClient->UnloadAllCustomBanksL() );
+	if( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("UnloadAllCustomBanksL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdUnloadCustomBankL(const TDesC& aSection)
+	{
+
+
+	TInt	bankIndex = iCustomBankId;
+	GetIntFromConfig(aSection, KBankId(), bankIndex);
+
+	TRAPD( err, iMidiClient->UnloadCustomBankL(bankIndex) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("UnloadCustomBankL(%d)"),bankIndex);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("UnloadCustomBankL() %d"),err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdUnloadCustomInstrumentL(const TDesC& aSection)
+	{
+
+
+	TInt	bankIndex = 0;
+	if( !GetIntFromConfig(aSection, KBankId(), bankIndex) )
+		{
+		ERR_PRINTF1(_L("UnloadCustomInstrumentL() error can't read custom bankId from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TInt	instrumentIndex = 0;
+	if( !GetIntFromConfig(aSection, KInstrumentId(), instrumentIndex) )
+		{
+		ERR_PRINTF1(_L("UnloadCustomInstrumentL() error can't read instrumentId from Config"));
+		SetBlockResult(EFail);
+		}
+
+	TRAPD( err, iMidiClient->UnloadCustomInstrumentL(bankIndex,instrumentIndex) );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF3(_L("UnloadCustomInstrumentL(%d, %d)"), bankIndex, instrumentIndex);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("UnloadCustomInstrumentL %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdVolumeL(const TDesC& aSection)
+	{
+
+
+	TInt	volume = 0;
+	TRAPD( err, volume=iMidiClient->VolumeL() );
+	if( err==KErrNone )
+		{
+		INFO_PRINTF2(_L("VolumeL() %d"),volume);
+
+		TInt	volumeCfg = iMaxVolume; //volume will be 0 or iMaxVolume
+		if( GetIntFromConfig(aSection, KVolume(), volumeCfg) || iMaxVolume>0 )
+			{
+			if( volume==volumeCfg )
+				{
+				INFO_PRINTF3(_L("VolumeL() %d == Config Volume %d"),volume,volumeCfg);
+				}
+			else
+				{
+				ERR_PRINTF3(_L("VolumeL() %d != Config Volume %d"),volume,volumeCfg);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("VolumeL() error %d"),err);
+		SetError( err );
+		}
+	}
+
+void CT_MMDataMidiClientUtility::DoCmdDestructor()
+	{
+	DestroyData();
+	}
+
+/**
+Log Data From Text
+@internalAll
+@return void
+@pre None
+@post Default midi controller
+*/
+void CT_MMDataMidiClientUtility::LogDataFromTextL()
+	{
+	HBufC*	buffer=HBufC::NewLC(iDataFromText.Length());
+	TPtr	bufferPtr=buffer->Des();
+	bufferPtr.Copy(iDataFromText); // Create a 16 bit copy of the 8 bit original
+	INFO_PRINTF2(_L("DataFrom: %S"), &bufferPtr);
+	CleanupStack::PopAndDestroy(buffer);
+	}
+
+///////////////////////////////////////////////////////////////////
+//from the MMidiClientUtilityObserver interface 				//
+///////////////////////////////////////////////////////////////////
+
+/**
+Callback to receive state change events.
+@internalComponent
+@return void
+@param aOldState, aNewState, aTime, aErrorCode
+@pre N/A
+@post N/A
+*/
+void CT_MMDataMidiClientUtility::MmcuoStateChanged(TMidiState aOldState, TMidiState aNewState, const TTimeIntervalMicroSeconds &aTime, TInt aError)
+	{
+	INFO_PRINTF4(_L("New state: %d, old state: %d, aTime %d"), aNewState, aOldState, TInt(aTime.Int64()));
+
+	if( aError!=KErrNone )
+		{
+		ERR_PRINTF2(_L("State Change Error %d"),aError);
+		SetAsyncError(iApiAsyncErrorIndex, aError);
+		}
+	DecOutstanding();
+	}
+
+/**
+Callback to receive Instrument change events.
+@internalComponent
+@return void
+@param channel, bankId, instrumentId
+@pre N/A
+@post N/A
+*/
+void CT_MMDataMidiClientUtility::MmcuoInstrumentChanged(TInt aChannel, TInt aBankId, TInt aInstrumentId)
+	{
+	INFO_PRINTF4(_L("Instrument Changed: %d Channel %d, Bank %d"), aInstrumentId, aChannel, aBankId);
+	}
+
+/**
+Callback to receive Tempo change events.
+@internalComponent
+@return void
+@param aMicroBeatsPerMinute
+@pre N/A
+@post N/A
+*/
+void CT_MMDataMidiClientUtility::MmcuoTempoChanged(TInt aMicroBeatsPerMinute)
+	{
+	INFO_PRINTF2(_L("Tempo Changed to: %d"),aMicroBeatsPerMinute);
+	}
+
+/**
+Callback to receive Volume change events.
+@internalComponent
+@return void
+@param aChannel, aVolumeInDecibels
+@pre N/A
+@post N/A
+*/
+void CT_MMDataMidiClientUtility::MmcuoVolumeChanged(TInt aChannel, TReal32 aVolumeInDecibels)
+	{
+	INFO_PRINTF3(_L("Volume Changed to %g for channel %i "),aVolumeInDecibels, aChannel);
+	}
+
+/**
+Callback to receive Muted change events.
+@internalComponent
+@return void
+@param aChannel, aMuted
+@pre N/A
+@post N/A
+*/
+void CT_MMDataMidiClientUtility::MmcuoMuteChanged(TInt aChannel, TBool aMuted)
+	{
+	if( aMuted )
+		{
+		INFO_PRINTF2(_L("Channel %d is Muted"),aChannel);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Channel %d is UnMuted"),aChannel);
+		}
+	}
+
+/**
+Callback to receive Sync update events.
+@internalComponent
+@return void
+@param aMicroSeconds, aMicroBeats
+@pre N/A
+@post N/A
+*/
+void CT_MMDataMidiClientUtility::MmcuoSyncUpdate(const TTimeIntervalMicroSeconds &aMicroSeconds, TInt64 aMicroBeats)
+	{
+	INFO_PRINTF3(_L("MmcuoSyncUpdate aMicroSeconds: %d,aMicroBeats: %d"),TInt(aMicroSeconds.Int64()),TInt(aMicroBeats));
+	DecOutstanding();
+	}
+
+/**
+Callback to receive Meta Data Entry Found events.
+@internalComponent
+@return void
+@param aMetaDataEntryId, aPosition
+@pre N/A
+@post N/A
+*/
+void CT_MMDataMidiClientUtility::MmcuoMetaDataEntryFound(const TInt aMetaDataEntryId, const TTimeIntervalMicroSeconds &aPosition)
+	{
+	INFO_PRINTF3(_L("MetaDataEntryFound ID: %d, Position %d"),aMetaDataEntryId,TInt(aPosition.Int64()));
+	}
+
+/**
+Callback to receive Mip Message Received events.
+@internalComponent
+@return void
+@param aMessage
+@pre N/A
+@post N/A
+*/
+void CT_MMDataMidiClientUtility::MmcuoMipMessageReceived(const RArray< TMipMessageEntry > &aMessage)
+	{
+	for(TInt i=0;i<aMessage.Count();i++)
+		{
+		INFO_PRINTF3(_L("Message Received Channel %d, Value %d"),aMessage[i].iChannel,aMessage[i].iMIPValue);
+		}
+	}
+
+/**
+Callback to receive Polyphony change events.
+@internalComponent
+@return void
+@param aNewPolyphony
+@pre N/A
+@post N/A
+*/
+void CT_MMDataMidiClientUtility::MmcuoPolyphonyChanged(TInt aNewPolyphony)
+	{
+	INFO_PRINTF2(_L("Polyphony Changed to: %d"),aNewPolyphony);
+	}
+
+/**
+ Virtual RunL - Called on completion of an aAsyncErrorIndex command
+ @internalComponent
+ @see MT_MMActiveCallback
+ @param aActive Active Object that RunL has been called on
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+void CT_MMDataMidiClientUtility::RunL(CActive* aActive, TInt aIndex)
+ 	{
+ 	if( aActive==iActiveCallback )
+ 		{
+ 		RunCustomCommandAsyncL(aIndex);
+ 		}
+ 	else
+ 		{
+ 		ERR_PRINTF1(_L("Stray signal"));
+ 		SetBlockResult(EFail);
+ 		}
+ 	}
+
+/**
+  Virtual DoCancel - Request to cancel the aAsyncErrorIndex command
+  @internalComponent
+  @see - MTPActiveCallback
+  @param aActive Active Object that DoCancel has been called on
+  @pre - N/A
+  @post - N/A
+  @leave system wide error code
+ */
+ void CT_MMDataMidiClientUtility::DoCancel(CActive* aActive, TInt aIndex)
+ 	{
+ 	if( aActive==iActiveCallback )
+ 		{
+ 		DoCancelCustomCommandAsync();
+ 		SetAsyncError( aIndex, iActiveCallback->iStatus.Int() );
+ 		}
+ 	else
+ 		{
+ 		ERR_PRINTF1(_L("Stray signal"));
+ 		SetBlockResult(EFail);
+ 		}
+ 	}
+
+/**
+  RunActiveL - Process RunL for iActiveCallback
+  @internalComponent
+  @pre N/A
+  @post N/A
+  @leave system wide error code
+ */
+ void CT_MMDataMidiClientUtility::RunCustomCommandAsyncL(TInt aIndex)
+	{
+	LogDataFromTextL();
+
+	TInt	err = iActiveCallback->iStatus.Int();
+	if( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("RunL Error %d"), err);
+		SetAsyncError( aIndex, err );
+		}
+	DecOutstanding();
+	}
+
+/**
+ DoCancelActive - Process DoCancel for iActive
+ @internalComponent
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+void CT_MMDataMidiClientUtility::DoCancelCustomCommandAsync()
+	{
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/src/T_MidiClientUtilityServer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MidiClientUtilityServer.h"
+
+CT_MidiClientUtilityServer* CT_MidiClientUtilityServer::NewL()
+	{
+	CT_MidiClientUtilityServer* server = new (ELeave) CT_MidiClientUtilityServer();
+	CleanupStack::PushL(server);
+	server->ConstructL();
+	CleanupStack::Pop(server);
+	return server;
+	}
+
+LOCAL_C void MainL()
+	{
+#if (defined __DATA_CAGING__)
+	RProcess().DataCaging(RProcess::EDataCagingOn);
+	RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+	CActiveScheduler* sched=NULL;
+	sched=new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(sched);
+	CT_MidiClientUtilityServer* server = NULL;
+	TRAPD(err, server = CT_MidiClientUtilityServer::NewL());
+	if(!err)
+		{
+		RProcess::Rendezvous(KErrNone);
+		sched->Start();
+		}
+	delete server;
+	delete sched;
+	}
+
+GLDEF_C TInt E32Main()
+	{
+	CTrapCleanup* cleanup = CTrapCleanup::New();
+	if(cleanup == NULL)
+		{
+		return KErrNoMemory;
+		}
+	TRAP_IGNORE(MainL());
+	delete cleanup;
+	return KErrNone;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_MidiClientUtility/testdata/MM-MMF-MIDI-PublicAPI.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1168 @@
+[include]
+file1=\multimedia\t_multimedia.ini
+
+[midiclientutility1]
+name=midiclientutility1
+
+[MM-MMF-MIDI-PublicAPI-0001-001-OpenDes_command02]
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0002-001-OpenFile_command02]
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0003-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0004-001-OpenFile_command02]
+tmmsource=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0005-001-OpenUrl_command02]
+url=file://\multimedia\t_midiclientutility\midi.mid
+
+
+[MM-MMF-MIDI-PublicAPI-0006-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0006-001-SetChannelVolumeL_command04]
+channel=2
+
+
+[MM-MMF-MIDI-PublicAPI-0006-001-SetChannelMuteL_command06]
+mute=true
+
+
+[MM-MMF-MIDI-PublicAPI-0006-001-IsChannelMuteL_command07]
+mute=true
+
+
+[MM-MMF-MIDI-PublicAPI-0006-001-SetChannelMuteL_command09]
+channel=0
+mute=false
+
+
+[MM-MMF-MIDI-PublicAPI-0006-001-IsChannelMuteL_command10]
+channel=0
+mute=false
+
+
+[MM-MMF-MIDI-PublicAPI-0007-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0008-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0008-001-LoadCustomBankL_command03]
+bankData=\multimedia\t_midiclientutility\midiclienttest.gm
+
+
+[MM-MMF-MIDI-PublicAPI-0008-001-CustomBankLoadedL_command04]
+loaded=true
+
+
+[MM-MMF-MIDI-PublicAPI-0008-001-NumberOfBanksL_command05]
+customBank=true
+
+
+[MM-MMF-MIDI-PublicAPI-0008-001-CustomBankLoadedL_command07]
+loaded=false
+
+
+[MM-MMF-MIDI-PublicAPI-0008-001-NumberOfBanksL_command08]
+customBank=true
+
+
+[MM-MMF-MIDI-PublicAPI-0009-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0009-001-LoadCustomBankDataL_command03]
+bankData=\multimedia\t_midiclientutility\midiclienttest.gm
+
+
+[MM-MMF-MIDI-PublicAPI-0009-001-GetBankIdL_command04]
+customBank=true
+bankId=19
+
+
+[MM-MMF-MIDI-PublicAPI-0010-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0010-001-LoadCustomBankDataL_command03]
+bankData=\multimedia\t_midiclientutility\midiclienttest.gm
+
+
+[MM-MMF-MIDI-PublicAPI-0010-001-LoadCustomBankDataL_command04]
+bankData=\multimedia\t_midiclientutility\midiclienttest.gm
+
+
+[MM-MMF-MIDI-PublicAPI-0010-001-NumberOfBanksL_command05]
+customBank=true
+
+
+[MM-MMF-MIDI-PublicAPI-0010-001-NumberOfBanksL_command07]
+customBank=true
+
+
+[MM-MMF-MIDI-PublicAPI-0011-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0012-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0012-001-SetRepeatsL_command03]
+repeats=2
+intervalSec=1000000
+
+
+[MM-MMF-MIDI-PublicAPI-0012-001-GetRepeats_command04]
+repeats=2
+
+
+[MM-MMF-MIDI-PublicAPI-0013-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0013-001-SetPositionMicroBeatsL_command05]
+position=10
+
+
+[MM-MMF-MIDI-PublicAPI-0013-001-PositionMicroBeatsL_command06]
+position=10
+
+
+[MM-MMF-MIDI-PublicAPI-0014-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0014-001-SetPositionMicroSecondsL_command05]
+position=10
+
+
+[MM-MMF-MIDI-PublicAPI-0014-001-PositionMicroSecondsL_command06]
+position=10
+
+
+[MM-MMF-MIDI-PublicAPI-0015-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0015-001-SetStopTimeL_command05]
+intervalSec=10
+
+
+[MM-MMF-MIDI-PublicAPI-0015-001-StopTimeL_command06]
+intervalSec=10
+
+
+[MM-MMF-MIDI-PublicAPI-0018-001-SetBalanceL_command02]
+balance=30
+
+
+[MM-MMF-MIDI-PublicAPI-0018-001-GetBalanceL_command03]
+balance=30
+
+
+[MM-MMF-MIDI-PublicAPI-0020-001-CustomCommandAsync_command02]
+functionId=7
+useDataFrom=true
+
+
+[MM-MMF-MIDI-PublicAPI-0021-001-CustomCommandAsync_command02]
+functionId=7
+
+
+[MM-MMF-MIDI-PublicAPI-0022-001-CustomCommandSyncL_command02]
+functionId=7
+useDataFrom=true
+
+
+[MM-MMF-MIDI-PublicAPI-0023-001-CustomCommandSyncL_command02]
+functionId=7
+
+
+[MM-MMF-MIDI-PublicAPI-0024-001-OpenDes_command02]
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0025-001-OpenDes_command02]
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0026-001-OpenDes_command02]
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0026-001-SetTrackMuteL_command03]
+track=2
+mute=true
+
+
+[MM-MMF-MIDI-PublicAPI-0026-001-IsTrackMuteL_command04]
+track=2
+mute=true
+
+
+[MM-MMF-MIDI-PublicAPI-0026-001-SetTrackMuteL_command05]
+track=2
+mute=false
+
+
+[MM-MMF-MIDI-PublicAPI-0026-001-IsTrackMuteL_command06]
+track=2
+mute=false
+
+
+[MM-MMF-MIDI-PublicAPI-0027-001-SetVolumeRampL_command02]
+intervalSec=5
+
+
+[MM-MMF-MIDI-PublicAPI-0028-001-LoadCustomInstrumentL_command02]
+memoryInstrumentId=4
+fileBankId=1
+memoryBankId=3
+fileInstrumentId=2
+fileName=\multimedia\t_midiclientutility\midiclienttest.gm
+
+
+[MM-MMF-MIDI-PublicAPI-0028-001-NumberOfInstrumentsL_command03]
+customBank=true
+bankId=3
+
+
+[MM-MMF-MIDI-PublicAPI-0028-001-UnloadCustomInstrumentL_command04]
+instrumentId=4
+bankId=3
+
+
+[MM-MMF-MIDI-PublicAPI-0028-001-NumberOfInstrumentsL_command05]
+customBank=true
+bankId=3
+
+
+[MM-MMF-MIDI-PublicAPI-0029-001-LoadCustomInstrumentDataL_command02]
+memoryInstrumentId=4
+fileBankId=1
+memoryBankId=3
+fileInstrumentId=2
+fileName=\multimedia\t_midiclientutility\midiclienttest.gm
+
+
+[MM-MMF-MIDI-PublicAPI-0029-001-SetInstrumentL_command03]
+instrumentId=4
+channel=5
+bankId=3
+
+
+[MM-MMF-MIDI-PublicAPI-0029-001-GetInstrumentL_command04]
+channel=5
+
+
+[MM-MMF-MIDI-PublicAPI-0030-001-LoadCustomInstrumentL_command02]
+memoryInstrumentId=4
+fileBankId=1
+memoryBankId=3
+fileInstrumentId=2
+fileName=\multimedia\t_midiclientutility\midiclienttest.gm
+
+
+[MM-MMF-MIDI-PublicAPI-0030-001-GetInstrumentIdL_command03]
+instrumentId=4
+customBank=true
+bankId=3
+
+
+[MM-MMF-MIDI-PublicAPI-0031-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0032-001-SetMaxPolyphonyL_command03]
+maxNotes=20
+
+
+[MM-MMF-MIDI-PublicAPI-0033-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0033-001-NoteOnL_command03]
+note=5
+channel=10
+velocity=20
+
+
+[MM-MMF-MIDI-PublicAPI-0033-001-NoteOffL_command04]
+note=5
+channel=10
+velocity=20
+
+
+[MM-MMF-MIDI-PublicAPI-0034-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0034-001-SetTempoL_command03]
+tempo=120000000
+
+
+[MM-MMF-MIDI-PublicAPI-0034-001-TempoMicroBeatsPerMinuteL_command04]
+tempo=120000000
+
+
+[MM-MMF-MIDI-PublicAPI-0035-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0035-001-PlayNoteL_command03]
+note=5
+duration=100
+noteOnVelocity=6
+noteOffVelocity=10
+channel=2
+
+
+[MM-MMF-MIDI-PublicAPI-0035-001-StopNotes_command04]
+channel=2
+
+
+[MM-MMF-MIDI-PublicAPI-0036-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0036-001-PlayNoteL_command03]
+note=5
+duration=100
+startTime=20
+noteOnVelocity=6
+noteOffVelocity=10
+channel=2
+
+
+[MM-MMF-MIDI-PublicAPI-0036-001-StopNotes_command04]
+channel=2
+
+
+[MM-MMF-MIDI-PublicAPI-0037-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0037-001-SendMessageL_command03]
+data1=MIDIMessage
+
+
+[MM-MMF-MIDI-PublicAPI-0038-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0038-001-SendMessageL_command03]
+data1=MIDIMessage
+time=100
+
+
+[MM-MMF-MIDI-PublicAPI-0039-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0039-001-SendMipMessageL_command03]
+mipValue=20
+channel=3
+
+
+[MM-MMF-MIDI-PublicAPI-0040-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0040-001-InstrumentNameL_command03]
+instrumentId=89
+customBank=false
+bankId=0
+
+
+[MM-MMF-MIDI-PublicAPI-0041-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0042-001-OpenDes_command02]
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0042-001-GetMetaDataEntryL_command04]
+metaDataIndex=2
+
+
+[MM-MMF-MIDI-PublicAPI-0043-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0044b-001-OpenFile_command02]
+rfile		=true
+fileName	={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0044b-001-State_command05]
+state		=EMidiStateOpenPlaying
+
+
+[MM-MMF-MIDI-PublicAPI-0045-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0045-001-SetPitchTranspositionL_command04]
+cents=1050
+
+
+[MM-MMF-MIDI-PublicAPI-0046-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0046-001-PercussionKeyNameL_command03]
+instrumentId=89
+note=0
+customBank=False
+bankId=0
+
+
+[MM-MMF-MIDI-PublicAPI-0047-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0047-001-LoadCustomBankL_command03]
+bankData=\multimedia\t_midiclientutility\midiclienttest.gm
+
+
+[MM-MMF-MIDI-PublicAPI-0047-001-SetBankL_command04]
+custom=true
+
+
+[MM-MMF-MIDI-PublicAPI-0048-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0048-001-SetPriorityL_command03]
+priority=EMdaPriorityMax
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-MIDI-PublicAPI-0049-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0049-001-SetSyncUpdateCallbackIntervalL_command04]
+microBeats=10
+microSeconds=2
+
+
+[MM-MMF-MIDI-PublicAPI-0051-001-OpenFile_command02]
+fileName=\multimedia\t_midiclientutility\mid.111
+
+
+[MM-MMF-MIDI-PublicAPI-0052-001-OpenFile_command02]
+fileName=\multimedia\t_midiclientutility\textmidi.mid
+
+
+[MM-MMF-MIDI-PublicAPI-0055-001-OpenFile_command02]
+rfile=true
+fileName=\multimedia\t_midiclientutility\textmidi.mid
+
+
+[MM-MMF-MIDI-PublicAPI-0057-001-OpenFile_command02]
+tmmsource=true
+fileName=\multimedia\t_midiclientutility\mid.111
+
+
+[MM-MMF-MIDI-PublicAPI-0058-001-OpenFile_command02]
+tmmsource=true
+fileName=\multimedia\t_midiclientutility\textmidi.mid
+
+
+[MM-MMF-MIDI-PublicAPI-0060-001-OpenUrl_command02]
+url=file:////badpath/midi.mid
+
+
+[MM-MMF-MIDI-PublicAPI-0061-001-OpenUrl_command02]
+url=file:////multimedia/textmidi.mid
+
+
+[MM-MMF-MIDI-PublicAPI-0062-001-OpenUrl_command02]
+url=www.symbiaaan.com/test.mid
+
+
+[MM-MMF-MIDI-PublicAPI-0063-001-OpenDes_command02]
+fileName=\multimedia\t_midiclientutility\textmidi.mid
+
+
+[MM-MMF-MIDI-PublicAPI-0064-001-OpenDes_command02]
+fileName=null
+
+
+[MM-MMF-MIDI-PublicAPI-0065-001-ChannelVolumeL_command02]
+channel=20
+
+
+[MM-MMF-MIDI-PublicAPI-0066-001-ChannelVolumeL_command02]
+channel=-2
+
+
+[MM-MMF-MIDI-PublicAPI-0067-001-CustomBankLoadedL_command02]
+bankId=9999999
+
+
+[MM-MMF-MIDI-PublicAPI-0068-001-CustomBankLoadedL_command02]
+bankId=-9999999
+
+
+[MM-MMF-MIDI-PublicAPI-0069-001-CustomCommandAsync_command02]
+data1=SomeBadData
+functionId=0
+useDataFrom=true
+
+
+[MM-MMF-MIDI-PublicAPI-0070-001-CustomCommandAsync_command02]
+functionId=0
+useDataFrom=true
+data2=SomeDataBadData
+
+
+[MM-MMF-MIDI-PublicAPI-0071-001-CustomCommandAsync_command02]
+functionId=999
+useDataFrom=true
+
+
+[MM-MMF-MIDI-PublicAPI-0072-001-CustomCommandAsync_command02]
+data1=SomeBadData
+functionId=0
+
+
+[MM-MMF-MIDI-PublicAPI-0073-001-CustomCommandAsync_command02]
+functionId=0
+data2=SomeBadData
+
+
+[MM-MMF-MIDI-PublicAPI-0074-001-CustomCommandAsync_command02]
+functionId=999
+
+
+[MM-MMF-MIDI-PublicAPI-0075-001-CustomCommandSyncL_command02]
+data1=SomeBadData
+functionId=0
+useDataFrom=true
+
+
+[MM-MMF-MIDI-PublicAPI-0076-001-CustomCommandSyncL_command02]
+functionId=0
+useDataFrom=true
+data2=SomeBadData
+
+
+[MM-MMF-MIDI-PublicAPI-0077-001-CustomCommandSyncL_command02]
+functionId=999
+useDataFrom=true
+
+
+[MM-MMF-MIDI-PublicAPI-0078-001-CustomCommandSyncL_command02]
+data1=BadData
+functionId=0
+
+
+[MM-MMF-MIDI-PublicAPI-0079-001-CustomCommandSyncL_command02]
+functionId=0
+data2=BadData
+
+
+[MM-MMF-MIDI-PublicAPI-0080-001-CustomCommandSyncL_command02]
+functionId=999
+
+
+[MM-MMF-MIDI-PublicAPI-0085-001-GetBankIdL_command02]
+bankId=-1
+
+
+[MM-MMF-MIDI-PublicAPI-0086-001-GetBankIdL_command02]
+bankId=999
+
+
+[MM-MMF-MIDI-PublicAPI-0087-001-GetInstrumentIdL_command02]
+instrumentId=-1
+bankId=2
+
+
+[MM-MMF-MIDI-PublicAPI-0088-001-GetInstrumentIdL_command02]
+instrumentId=9999
+bankId=3
+
+
+[MM-MMF-MIDI-PublicAPI-0089-001-GetInstrumentIdL_command02]
+instrumentId=10
+bankId=999999
+
+
+[MM-MMF-MIDI-PublicAPI-0090-001-GetInstrumentL_command02]
+channel=-2
+
+
+[MM-MMF-MIDI-PublicAPI-0091-001-GetInstrumentL_command02]
+channel=17
+
+
+[MM-MMF-MIDI-PublicAPI-0096-001-InstrumentNameL_command02]
+instrumentId=-2
+bankId=2
+
+
+[MM-MMF-MIDI-PublicAPI-0097-001-InstrumentNameL_command02]
+instrumentId=128
+bankId=2
+
+
+[MM-MMF-MIDI-PublicAPI-0098-001-InstrumentNameL_command02]
+instrumentId=2
+bankId=999999
+
+
+[MM-MMF-MIDI-PublicAPI-0099-001-IsChannelMuteL_command02]
+channel=-2
+
+
+[MM-MMF-MIDI-PublicAPI-0100-001-IsChannelMuteL_command02]
+channel=16
+
+
+[MM-MMF-MIDI-PublicAPI-0101-001-IsTrackMuteL_command02]
+track=-2
+
+
+[MM-MMF-MIDI-PublicAPI-0102-001-IsTrackMuteL_command02]
+track=20
+
+
+[MM-MMF-MIDI-PublicAPI-0103-001-LoadCustomBankDataL_command02]
+bankData=\multimedia\t_midiclientutility\textmidi.mid
+
+
+[MM-MMF-MIDI-PublicAPI-0105-001-LoadCustomBankL_command02]
+bankData=\badpath\textmidi.mid
+
+
+[MM-MMF-MIDI-PublicAPI-0107-001-LoadCustomBankL_command02]
+bankData=\multimedia\t_midiclientutility\textmidi.mid
+
+
+[MM-MMF-MIDI-PublicAPI-0109-001-LoadCustomInstrumentDataL_command02]
+memoryInstrumentId=16
+fileBankId=10
+memoryBankId=10
+fileInstrumentId=-2
+fileName=\multimedia\t_midiclientutility\midiclienttest.gm
+
+
+[MM-MMF-MIDI-PublicAPI-0110-001-LoadCustomInstrumentDataL_command02]
+memoryInstrumentId=16
+fileBankId=10
+memoryBankId=10
+fileInstrumentId=130
+fileName=\multimedia\t_midiclientutility\midiclienttest.gm
+
+
+[MM-MMF-MIDI-PublicAPI-0112-001-LoadCustomInstrumentL_command02]
+memoryInstrumentId=16
+fileBankId=10
+memoryBankId=10
+fileInstrumentId=-2
+fileName=\multimedia\t_midiclientutility\midiclienttest.gm
+
+
+[MM-MMF-MIDI-PublicAPI-0113-001-LoadCustomInstrumentL_command02]
+memoryInstrumentId=16
+fileBankId=10
+memoryBankId=10
+fileInstrumentId=130
+fileName=\multimedia\t_midiclientutility\midiclienttest.gm
+
+
+[MM-MMF-MIDI-PublicAPI-0115-001-NoteOffL_command02]
+note=50
+channel=-1
+velocity=50
+
+
+[MM-MMF-MIDI-PublicAPI-0116-001-NoteOffL_command02]
+note=50
+channel=17
+velocity=50
+
+
+[MM-MMF-MIDI-PublicAPI-0117-001-NoteOffL_command02]
+note=-2
+channel=10
+velocity=50
+
+
+[MM-MMF-MIDI-PublicAPI-0118-001-NoteOnL_command02]
+note=50
+channel=-1
+velocity=50
+
+
+[MM-MMF-MIDI-PublicAPI-0119-001-NoteOnL_command02]
+note=50
+channel=17
+velocity=50
+
+
+[MM-MMF-MIDI-PublicAPI-0120-001-NoteOnL_command02]
+note=-2
+channel=10
+velocity=50
+
+
+[MM-MMF-MIDI-PublicAPI-0122-001-NumberOfInstrumentsL_command02]
+customBank=true
+bankId=999999
+
+
+[MM-MMF-MIDI-PublicAPI-0123-001-NumberOfInstrumentsL_command02]
+bankId=999999
+
+
+[MM-MMF-MIDI-PublicAPI-0125-001-PercussionKeyNameL_command02]
+instrumentId=33
+note=-3
+bankId=14
+
+
+[MM-MMF-MIDI-PublicAPI-0126-001-PercussionKeyNameL_command02]
+instrumentId=33
+note=133
+bankId=14
+
+
+[MM-MMF-MIDI-PublicAPI-0127-001-PercussionKeyNameL_command02]
+instrumentId=33
+note=2
+bankId=32767
+
+
+[MM-MMF-MIDI-PublicAPI-0128-001-PlayNoteL_command02]
+note=-3
+duration=200
+noteOnVelocity=2
+noteOffVelocity=120
+channel=12
+
+
+[MM-MMF-MIDI-PublicAPI-0129-001-PlayNoteL_command02]
+note=130
+duration=200
+noteOnVelocity=2
+noteOffVelocity=120
+channel=12
+
+
+[MM-MMF-MIDI-PublicAPI-0130-001-PlayNoteL_command02]
+note=100
+duration=200
+noteOnVelocity=2
+noteOffVelocity=120
+channel=-5
+
+
+[MM-MMF-MIDI-PublicAPI-0131-001-PlayNoteL_command02]
+note=-3
+duration=200
+startTime=200
+noteOnVelocity=2
+noteOffVelocity=120
+channel=12
+
+
+[MM-MMF-MIDI-PublicAPI-0132-001-PlayNoteL_command02]
+note=130
+duration=200
+startTime=200
+noteOnVelocity=2
+noteOffVelocity=120
+channel=12
+
+
+[MM-MMF-MIDI-PublicAPI-0133-001-PlayNoteL_command02]
+note=100
+duration=200
+startTime=200
+noteOnVelocity=2
+noteOffVelocity=120
+channel=-5
+
+
+[MM-MMF-MIDI-PublicAPI-0137-001-SendMessageL_command02]
+data1=MessageData
+
+
+[MM-MMF-MIDI-PublicAPI-0138-001-SendMessageL_command02]
+data1=MessageData
+time=150
+
+
+[MM-MMF-MIDI-PublicAPI-0139-001-SendMipMessageL_command02]
+mipValue=100
+channel=16
+
+
+[MM-MMF-MIDI-PublicAPI-0140-001-OpenFile_command02]
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0140-001-SetBalanceL_command04]
+balance=999999
+
+
+[MM-MMF-MIDI-PublicAPI-0141-001-OpenFile_command02]
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0141-001-SetBalanceL_command04]
+balance=-9999999
+
+
+[MM-MMF-MIDI-PublicAPI-0142-001-SetChannelMuteL_command02]
+channel=-2
+mute=true
+
+
+[MM-MMF-MIDI-PublicAPI-0143-001-SetChannelMuteL_command02]
+channel=20
+mute=true
+
+
+[MM-MMF-MIDI-PublicAPI-0144-001-SetChannelVolumeL_command02]
+volume=100
+channel=-2
+
+
+[MM-MMF-MIDI-PublicAPI-0145-001-SetChannelVolumeL_command02]
+volume=100
+channel=20
+
+
+[MM-MMF-MIDI-PublicAPI-0146-001-SetInstrumentL_command02]
+instrumentId=2
+channel=-2
+bankId=2
+
+
+[MM-MMF-MIDI-PublicAPI-0147-001-SetInstrumentL_command02]
+instrumentId=2
+channel=20
+bankId=2
+
+
+[MM-MMF-MIDI-PublicAPI-0148-001-SetInstrumentL_command02]
+instrumentId=-3
+channel=10
+bankId=2
+
+
+[MM-MMF-MIDI-PublicAPI-0149-001-SetMaxPolyphonyL_command02]
+maxNotes=-2
+
+
+[MM-MMF-MIDI-PublicAPI-0150-001-SetMaxPolyphonyL_command02]
+maxNotes=123456
+
+
+[MM-MMF-MIDI-PublicAPI-0151-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0151-001-SetPitchTranspositionL_command03]
+cents=-999999999
+
+
+[MM-MMF-MIDI-PublicAPI-0152-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0152-001-SetPitchTranspositionL_command03]
+cents=999999999
+
+
+[MM-MMF-MIDI-PublicAPI-0153-001-SetPitchTranspositionL_command02]
+cents=1000
+
+
+[MM-MMF-MIDI-PublicAPI-0154-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0154-001-SetPlaybackRateL_command03]
+rate=-2
+
+
+[MM-MMF-MIDI-PublicAPI-0155-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0155-001-SetPlaybackRateL_command03]
+rate=999999999
+
+
+[MM-MMF-MIDI-PublicAPI-0156-001-SetPlaybackRateL_command02]
+rate=1000
+
+
+[MM-MMF-MIDI-PublicAPI-0157-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0157-001-SetPositionMicroBeatsL_command03]
+position=-2
+
+
+[MM-MMF-MIDI-PublicAPI-0158-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0158-001-SetPositionMicroBeatsL_command03]
+position=999999999
+
+
+[MM-MMF-MIDI-PublicAPI-0159-001-SetPositionMicroBeatsL_command02]
+position=1000
+
+
+[MM-MMF-MIDI-PublicAPI-0160-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0160-001-SetPositionMicroSecondsL_command03]
+position=-2
+
+
+[MM-MMF-MIDI-PublicAPI-0161-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0161-001-SetPositionMicroSecondsL_command03]
+position=999999999
+
+
+[MM-MMF-MIDI-PublicAPI-0162-001-SetPositionMicroSecondsL_command02]
+position=1000
+
+
+[MM-MMF-MIDI-PublicAPI-0163-001-SetPriorityL_command02]
+priority=-9999999
+
+
+[MM-MMF-MIDI-PublicAPI-0164-001-SetPriorityL_command02]
+priority=999999999
+
+
+[MM-MMF-MIDI-PublicAPI-0165-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0165-001-SetRepeatsL_command03]
+repeats=-5
+intervalSec=1000
+
+
+[MM-MMF-MIDI-PublicAPI-0166-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0166-001-SetRepeatsL_command03]
+repeats=10
+intervalSec=-10
+
+
+[MM-MMF-MIDI-PublicAPI-0167-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0167-001-SetStopTimeL_command03]
+intervalSec=-20
+
+
+[MM-MMF-MIDI-PublicAPI-0168-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0168-001-SetStopTimeL_command03]
+intervalSec=9999999
+
+
+[MM-MMF-MIDI-PublicAPI-0169-001-SetStopTimeL_command02]
+intervalSec=200
+
+
+[MM-MMF-MIDI-PublicAPI-0170-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0170-001-SetSyncUpdateCallbackIntervalL_command03]
+microSeconds=-20
+
+
+[MM-MMF-MIDI-PublicAPI-0171-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0171-001-SetSyncUpdateCallbackIntervalL_command04]
+microBeats=-20
+microSeconds=5
+
+
+[MM-MMF-MIDI-PublicAPI-0172-001-SetSyncUpdateCallbackIntervalL_command03]
+microBeats=10
+microSeconds=10
+
+
+[MM-MMF-MIDI-PublicAPI-0173-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0173-001-SetTempoL_command03]
+tempo=-20
+
+
+[MM-MMF-MIDI-PublicAPI-0174-001-SetTempoL_command02]
+tempo=200
+
+
+[MM-MMF-MIDI-PublicAPI-0175-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0175-001-SetTrackMuteL_command03]
+track=-20
+mute=true
+
+
+[MM-MMF-MIDI-PublicAPI-0176-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0176-001-SetTrackMuteL_command03]
+track=99999
+mute=true
+
+
+[MM-MMF-MIDI-PublicAPI-0177-001-SetTrackMuteL_command02]
+track=1
+mute=true
+
+
+[MM-MMF-MIDI-PublicAPI-0178-001-SetVolumeL_command02]
+volume=-5
+
+
+[MM-MMF-MIDI-PublicAPI-0179-001-SetVolumeL_command02]
+volume=9999999
+
+
+[MM-MMF-MIDI-PublicAPI-0180-001-SetVolumeRampL_command02]
+intervalSec=-5
+
+
+[MM-MMF-MIDI-PublicAPI-0181-001-SetVolumeRampL_command02]
+intervalSec=9999999
+
+
+[MM-MMF-MIDI-PublicAPI-0182-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0182-001-Stop_command05]
+intervalSec=-5
+
+
+[MM-MMF-MIDI-PublicAPI-0183-001-OpenFile_command02]
+rfile=true
+fileName={default_mmf, midifilename}
+
+
+[MM-MMF-MIDI-PublicAPI-0183-001-Stop_command05]
+intervalSec=9999999
+
+
+[MM-MMF-MIDI-PublicAPI-0188-001-UnloadCustomBankL_command02]
+bankId=-1
+
+
+[MM-MMF-MIDI-PublicAPI-0189-001-UnloadCustomBankL_command02]
+bankId=99999999
+
+
+[MM-MMF-MIDI-PublicAPI-0190-001-UnloadCustomBankL_command02]
+bankId=15
+
+
+[MM-MMF-MIDI-PublicAPI-0191-001-UnloadCustomInstrumentL_command02]
+instrumentId=-2
+bankId=10
+
+
+[MM-MMF-MIDI-PublicAPI-0192-001-UnloadCustomInstrumentL_command02]
+instrumentId=160
+bankId=10
+
+
+[MM-MMF-MIDI-PublicAPI-0193-001-UnloadCustomInstrumentL_command02]
+instrumentId=10
+bankId=15
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/group/T_VideoPlayerUtility.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+TARGET			t_videoplayerutility.exe
+TARGETTYPE		exe
+UID				0x1000007A 0x20000F7C
+VENDORID		0x70000001
+
+CAPABILITY		UserEnvironment MultimediaDD
+
+SOURCEPATH		../src
+
+SOURCE			../../../common/src/DataWrapperBase.cpp
+SOURCE			../../../common/src/T_MMUtil.cpp
+
+SOURCE			T_VideoPlayerUtilityServer.cpp
+SOURCE			T_MMDataVideoPlayerUtility.cpp
+
+USERINCLUDE		../inc
+USERINCLUDE		../../../common/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE	/epoc32/include/test
+
+LIBRARY			euser.lib
+LIBRARY			efsrv.lib
+LIBRARY			ws32.lib
+LIBRARY			testexecuteutils.lib
+LIBRARY			testexecutelogclient.lib
+LIBRARY			bafl.lib
+LIBRARY			mediaclientvideo.lib
+LIBRARY			mmfcontrollerframework.lib
+LIBRARY			mmcommon.lib
+LIBRARY			imageconversion.lib
+LIBRARY			iniparser.lib
+
+SMPSAFE
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,41 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTEXPORTS
+t_videoplayerutility.iby							/epoc32/rom/include/t_videoplayerutility.iby
+t_videoplayerutility_binaries.iby					/epoc32/rom/include/t_videoplayerutility_binaries.iby
+t_videoplayerutility_testdata.iby					/epoc32/rom/include/t_videoplayerutility_testdata.iby
+
+../pkg/T_VideoPlayerUtility.pkg						/epoc32/pkg/t_videoplayerutility.pkg
+../pkg/tvideoplayerutility.bat						/epoc32/pkg/tvideoplayerutility.bat
+../scripts/MM-MMF-VCLNT-PLYR-PublicAPI.script		/epoc32/pkg/mm-mmf-vclnt-plyr-publicapi.script
+
+../testdata/MM-MMF-VCLNT-PLYR-PublicAPI.ini			/epoc32/pkg/mm-mmf-vclnt-plyr-publicapi.ini
+../../../../testdata/mmf/T_VideoPlayerUtility/alter.mp4							/epoc32/pkg/t_videoplayerutility/alter.mp4
+../../../../testdata/mmf/T_VideoPlayerUtility/xvid_clock.avi							/epoc32/pkg/t_videoplayerutility/xvid_clock.avi
+../../../../testdata/mmf/T_VideoPlayerUtility/corrupted.avi							/epoc32/pkg/t_videoplayerutility/corrupted.avi
+
+../scripts/setup-MM-MMF-VCLNT-PLYR-PublicAPI.script	z:/multimedia/setup-mm-mmf-vclnt-plyr-publicapi.script
+../scripts/MM-MMF-VCLNT-PLYR-PublicAPI.script		z:/multimedia/mm-mmf-vclnt-plyr-publicapi.script
+
+../testdata/MM-MMF-VCLNT-PLYR-PublicAPI.ini			z:/multimedia/mm-mmf-vclnt-plyr-publicapi.ini
+../../../../testdata/mmf/T_VideoPlayerUtility/alter.mp4							z:/multimedia/t_videoplayerutility/alter.mp4
+../../../../testdata/mmf/T_VideoPlayerUtility/xvid_clock.avi							z:/multimedia/t_videoplayerutility/xvid_clock.avi
+../../../../testdata/mmf/T_VideoPlayerUtility/corrupted.avi							z:/multimedia/t_videoplayerutility/corrupted.avi
+
+PRJ_TESTMMPFILES
+T_VideoPlayerUtility.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/group/t_videoplayerutility.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,24 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_VIDEOPLAYERUTILITY_IBY__)
+#define __T_VIDEOPLAYERUTILITY_IBY__
+
+#include <t_videoplayerutility_binaries.iby>
+#include <t_videoplayerutility_testdata.iby>
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/group/t_videoplayerutility_binaries.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_VIDEOPLAYERUTILITY_BINARIES_IBY__)
+#define __T_VIDEOPLAYERUTILITY_BINARIES_IBY__
+
+#include <testexecute.iby>
+
+#if (!defined EKA2)
+file=ABI_DIR\BUILD_DIR\t_videoplayerutility.exe 	system\libs\t_videoplayerutility.exe
+#else
+file=ABI_DIR\BUILD_DIR\t_videoplayerutility.exe 	system\bin\t_videoplayerutility.exe
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/group/t_videoplayerutility_testdata.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,28 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_VIDEOPLAYERUTILITY_TESTDATA_IBY__)
+#define __T_VIDEOPLAYERUTILITY_TESTDATA_IBY__
+
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.script			multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.script
+
+data=EPOCROOT##Epoc32\data\z\multimedia\setup-MM-MMF-VCLNT-PLYR-PublicAPI.script	multimedia\setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini				multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+data=EPOCROOT##Epoc32\data\z\multimedia\t_videoplayerutility\alter.mp4			multimedia\t_videoplayerutility\alter.mp4
+data=EPOCROOT##Epoc32\data\z\multimedia\t_videoplayerutility\xvid_clock.avi			multimedia\t_videoplayerutility\xvid_clock.avi
+data=EPOCROOT##Epoc32\data\z\multimedia\t_videoplayerutility\corrupted.avi			multimedia\t_videoplayerutility\corrupted.avi
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/inc/T_MMDataVideoPlayerUtility.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,158 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MM_DATA_VIDEO_PLAYER_UTILITY_H__)
+#define __T_MM_DATA_VIDEO_PLAYER_UTILITY_H__
+
+//	EPOC includes
+#include <videoplayer.h>
+
+//	User Includes
+#include "DataWrapperBase.h"
+
+const TInt KMaxdataFromText = 255;
+
+/**
+CVideoPlayerUtility API test commands
+@internalComponent
+*/
+class CT_MMDataVideoPlayerUtility : public CDataWrapperBase,
+									private MVideoPlayerUtilityObserver,
+									private MVideoLoadingObserver
+	{
+public:
+	/**
+	* Two phase constructor
+	*/
+	static CT_MMDataVideoPlayerUtility*	NewL();
+
+	/**
+	* Public destructor
+	*/
+	~CT_MMDataVideoPlayerUtility();
+
+	virtual TAny*	GetObject();
+	virtual void	SetObjectL(TAny* aObject);
+	virtual void	DisownObjectL();
+	virtual TBool	DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+
+protected:
+	/**
+	* Protected constructor. First phase construction
+	*/
+	CT_MMDataVideoPlayerUtility();
+
+	void	ConstructL();
+
+private:
+	inline	void			DoCmdConstructor(const TDesC& aSection);
+	inline	void			DoCmdOpenFileL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline	void			DoCmdOpenDesL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline	void			DoCmdOpenUrlL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline	void			DoCmdPrepare(const TInt aAsyncErrorIndex);
+	inline	void			DoCmdClose();
+	inline	void			DoCmdPlay(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline	void			DoCmdStop();
+	inline	void			DoCmdPauseL();
+	inline	void			DoCmdSetPriorityL(const TDesC& aSection);
+	inline	void			DoCmdPriorityL(const TDesC& aSection);
+	inline	void			DoCmdSetDisplayWindowL(const TDesC& aSection);
+	inline	void			DoCmdRegisterForVideoLoadingNotification();
+	inline	void			DoCmdGetVideoLoadingProgressL(const TDesC& aSection);
+	inline	void			DoCmdGetFrameL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline	void			DoCmdRefreshFrameL();
+	inline	void			DoCmdVideoFrameRateL(const TDesC& aSection);
+	inline	void			DoCmdSetVideoFrameRateL(const TDesC& aSection);
+	inline	void			DoCmdVideoFrameSizeL(const TDesC& aSection);
+	inline	void			DoCmdVideoFormatMimeTypeL(const TDesC& aSection);
+	inline	void			DoCmdVideoBitRateL(const TDesC& aSection);
+	inline	void			DoCmdAudioBitRateL(const TDesC& aSection);
+	inline	void			DoCmdAudioTypeL(const TDesC& aSection);
+	inline	void			DoCmdAudioEnabledL(const TDesC& aSection);
+	inline	void			DoCmdSetPositionL(const TDesC& aSection);
+	inline	void			DoCmdPositionL(const TDesC& aSection);
+	inline	void			DoCmdDurationL(const TDesC& aSection);
+	inline	void			DoCmdSetVolumeL(const TDesC& aSection);
+	inline	void			DoCmdVolume(const TDesC& aSection);
+	inline	void			DoCmdMaxVolume(const TDesC& aSection);
+	inline	void			DoCmdSetBalanceL(const TDesC& aSection);
+	inline	void			DoCmdBalance(const TDesC& aSection);
+	inline	void			DoCmdSetRotationL(const TDesC& aSection);
+	inline	void			DoCmdRotationL(const TDesC& aSection);
+	inline	void			DoCmdSetScaleFactorL(const TDesC& aSection);
+	inline	void			DoCmdGetScaleFactorL(const TDesC& aSection);
+	inline	void			DoCmdSetCropRegionL(const TDesC& aSection);
+	inline	void			DoCmdGetCropRegionL(const TDesC& aSection);
+	inline	void			DoCmdNumberOfMetaDataEntriesL(const TDesC& aSection);
+	inline	void			DoCmdMetaDataEntryL(const TDesC& aSection);
+	inline	void			DoCmdControllerImplementationInformationL();
+	inline	void			DoCmdCustomCommandSyncL(const TDesC& aSection);
+	inline	void			DoCmdCustomCommandASyncL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline	void			DoCmdGetDRMCustomCommand();
+	inline	void			DoCmdStopDirectScreenAccessL();
+	inline	void			DoCmdStartDirectScreenAccessL();
+	inline	void 			DoCmdDestructor();
+
+	//	MVideoPlayerUtilityObserver implementation
+	virtual void			MvpuoOpenComplete(TInt aError);
+	virtual void			MvpuoPrepareComplete(TInt aError);
+	virtual void			MvpuoFrameReady(CFbsBitmap &aFrame, TInt aError);
+	virtual void			MvpuoPlayComplete(TInt aError);
+	virtual void			MvpuoEvent(const TMMFEvent &aEvent);
+
+	//	MVideoLoadingObserver implementation
+	virtual void 			MvloLoadingStarted();
+	virtual void 			MvloLoadingComplete();
+
+	//	Helper methods
+	void					DestroyData();
+	void					SetDefaultVideoControllerL();
+
+	//	MT_MMActiveCallback implementation
+ 	virtual void			RunL(CActive* aActive, TInt aIndex);
+ 	virtual void			DoCancel(CActive* aActive);
+ 	inline void				RunCustomCommandAsyncL(TInt aIndex);
+ 	inline void				DoCancelCustomCommandAsync();
+
+private:
+	CVideoPlayerUtility*	iVideoPlayerUtility;
+	TInt 					iApiAsyncErrorIndex;
+
+	// vars neccessary for CVideoPlayerUtility
+	RWsSession				iWsSession;
+	RWsSession				iInvalidWsSession;
+	TBool					iWsSessionConnected;
+	CWsScreenDevice* 		iScrDevice;
+	CWsScreenDevice* 		iInvalidScrDevice;
+	RWindowGroup*			iWindowGroup;
+	RWindow*				iWindow;
+	RWindow*				iInvalidWindow;
+	CActiveCallback*		iActiveCustomCommandAsync;
+	TBuf8<KMaxdataFromText>	iDataFromText;
+	TUid					iVideoControllerUid;
+	TUid					iVideoFormatUid;
+
+	RFs						iFs;
+	TBool					iFileOpened;
+	RFile					iFile;
+	HBufC8*					iBuffer;
+	TPtr8*					iBufferPtr;
+	};
+
+#endif /* __T_VIDEO_PLAYER_UTILITY_STEP_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/inc/T_VideoPlayerUtilityServer.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_VIDEO_PLAYER_UTILITY_SERVER_H__)
+#define __T_VIDEO_PLAYER_UTILITY_SERVER_H__
+
+//	EPOC Includes
+#include <testblockcontroller.h>
+#include <testserver2.h>
+
+class CT_VideoPlayerUtilityServer : public CTestServer2
+	{
+private:
+	class CT_VideoPlayerUtility : public CTestBlockController
+		{
+	public:
+		inline CT_VideoPlayerUtility();
+		inline ~CT_VideoPlayerUtility();
+
+		inline CDataWrapper*	CreateDataL(const TDesC& aData);
+		};
+
+public:
+	inline ~CT_VideoPlayerUtilityServer();
+
+	inline void	DeleteActiveSchedulerL();
+
+	static CT_VideoPlayerUtilityServer* NewL();
+
+	inline CTestBlockController*	CreateTestBlock();
+
+protected:
+	inline CT_VideoPlayerUtilityServer();
+	};
+
+#include "T_VideoPlayerUtilityServer.inl"
+
+#endif /* __T_VIDEO_PLAYER_UTILITY_SERVER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/inc/T_VideoPlayerUtilityServer.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataVideoPlayerUtility.h"
+
+_LIT(KDataVideoPlayerUtility,	"CVideoPlayerUtility");
+
+CT_VideoPlayerUtilityServer::CT_VideoPlayerUtility::CT_VideoPlayerUtility()
+:	CTestBlockController()
+	{
+	}
+
+CT_VideoPlayerUtilityServer::CT_VideoPlayerUtility::~CT_VideoPlayerUtility()
+	{
+	}
+
+CDataWrapper* CT_VideoPlayerUtilityServer::CT_VideoPlayerUtility::CreateDataL(const TDesC& aData)
+	{
+	CDataWrapper* wrapper = NULL;
+	if( KDataVideoPlayerUtility() == aData )
+		{
+		wrapper = CT_MMDataVideoPlayerUtility::NewL();
+		}
+	return wrapper;
+	}
+
+CT_VideoPlayerUtilityServer::CT_VideoPlayerUtilityServer()
+	{
+	}
+
+CT_VideoPlayerUtilityServer::~CT_VideoPlayerUtilityServer()
+	{
+	}
+
+void CT_VideoPlayerUtilityServer::DeleteActiveSchedulerL()
+	{
+	}
+
+CTestBlockController* CT_VideoPlayerUtilityServer::CreateTestBlock()
+	{
+	return new CT_VideoPlayerUtility();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/pkg/T_VideoPlayerUtility.pkg	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,52 @@
+;
+; Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+;
+;
+; Install file for T_VideoPlayerUtility.exe
+;
+
+; Languages -
+&EN
+
+; Installation header
+; UID is the app's UID
+#{"T_VideoPlayerUtility"},(0x20000F7C),1,0,0
+
+;%{"Vendor-EN"}
+;:"Symbian"
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+
+"T_VideoPlayerUtility.exe"-"!:\sys\bin\T_VideoPlayerUtility.exe"
+"tvideoplayerutility.bat"-"!:\multimedia\tvideoplayerutility.bat"
+"MM-MMF-VCLNT-PLYR-PublicAPI.script"-"!:\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.script"
+"t_multimedia.tcs"-"!:\multimedia\t_multimedia.tcs"
+"MM-MMF-VCLNT-PLYR-PublicAPI.ini"-"!:\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini"
+"t_videoplayerutility\alter.mp4"-"!:\multimedia\t_videoplayerutility\alter.mp4"
+"t_videoplayerutility\xvid_clock.avi"-"!:\multimedia\t_videoplayerutility\xvid_clock.avi"
+"t_videoplayerutility\corrupted.avi"-"!:\multimedia\t_videoplayerutility\corrupted.avi"
+"t_multimedia.ini"-"!:\multimedia\t_multimedia.ini"
+
+; Required files
+; None
+
+; Component .sis files
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/pkg/tvideoplayerutility.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testexecute \multimedia\MM-MMF-VCLNT-PLYR-PublicAPI
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/scripts/MM-MMF-VCLNT-PLYR-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,4071 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName		MM-MMF-VCLNT-PLYR-PublicAPI
+//! @SYMScriptTestEnvironment	This test script requires a basic ROM.
+/////////////////////////////////////////////////////////////////////
+// MM-MMF-VCLNT-PLYR-PublicAPI.script
+//
+// Tests all public elements of the CVideoPlayerUtility class
+// as a means of confidence that the APIs work as expected.
+//
+// The purpose is to provide a regression test suite of PublishedAll APIs for CVideoPlayerUtility.
+// Negative testing is performed to confirm that correct errors are returned when incorrect parameters are given.
+// The tests are fully automated.
+/////////////////////////////////////////////////////////////////////
+
+LOAD_SUITE	T_VideoPlayerUtility
+
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0001
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0001
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		05/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open and play video file without specifying controller plugin.
+//!				Uses API elements: NewL(),
+//!				OpenFileL(const TDesC aFileName, TUid aControllerUid=TUid::Null()),
+//!				Prepare(), Play(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open file to be played.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video file is opened and played without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0001-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0001-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0001
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0002
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0002
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		05/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open and play video file using certain controller plugin.
+//!				Uses API elements: NewL(),
+//!				OpenFileL(const TDesC aFileName, TUid aControllerUid=TUid::Null()),
+//!				Prepare(), Play(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open file to be played.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video file is opened and played without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0002-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0002-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0002
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0003
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0003
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		05/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open and play video file using RFile.
+//!				Uses API elements: NewL(),
+//!				OpenFileL(const RFile aFileName, TUid aControllerUid=TUid::Null()),
+//!				Prepare(), Play(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open file to be played.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video file is opened and played without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0003-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0003-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0003
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0004
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0004
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		05/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open and play video file using TMMSource.
+//!				Uses API elements: NewL(),
+//!				OpenFileL(const TMMSource aSource, TUid aControllerUid=TUid::Null()),
+//!				Prepare(), Play(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open file to be played.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video file is opened and played without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0004-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0004-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0004
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0005
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0005
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		05/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open and play video file from descriptor.
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), Play(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open video clip in a descriptor.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video file is opened and played without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0005-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenDesL	MM-MMF-VCLNT-PLYR-PublicAPI-0005-001-OpenDesL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0005
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0006
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0006
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		05/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open and play video file from URL.
+//!				Uses API elements: NewL(), OpenUrlL(), Prepare(), Play(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from a URL.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video file is opened and played without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0006-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenUrlL	MM-MMF-VCLNT-PLYR-PublicAPI-0006-001-OpenUrlL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0006
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0007
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0007
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		05/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Play video from file at the specified start and end points.
+//!				Uses API elements: NewL(), OpenUrlL(), Prepare(), Play(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open file to be played.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video file is played without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0007-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenUrlL	MM-MMF-VCLNT-PLYR-PublicAPI-0007-001-OpenUrlL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play		MM-MMF-VCLNT-PLYR-PublicAPI-0007-001-Play_command04
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0007
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0008
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0008
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		05/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Play the video from file and stop it.
+//!				Uses API elements: NewL(), OpneFileL(), Prepare(), Play(), Stop(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open file to be played.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Stop play.
+//!				6. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Play of video is stopped.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0008-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0008-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play
+		ASYNC_DELAY	5000
+		COMMAND		VideoPlayerUtility1	Stop
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0008
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0009
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0009
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		05/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Play the video from file, pause it. Start playing againg and stop it.
+//!				Uses API elements: NewL(), OpneFileL(), Prepare(), Play(), PauseL(), Play(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open file to be played.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Pause playing.
+//!				6. Start playing.
+//!				7. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The video playing is paused and continued without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0009-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0009-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play
+		ASYNC_DELAY	5000
+		COMMAND		VideoPlayerUtility1	PauseL
+		COMMAND		VideoPlayerUtility1	Play
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0009
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0010
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0010
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open the videofile and set the playback priority.
+//!				Uses API elements: NewL(), OpneFileL(), SetPriorityL(), PriorityL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open file to be played.
+//!				3. Set the playback priority.
+//!				4. Check the playback priority.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The playback priority is set.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0010-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0010-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetPriorityL	MM-MMF-VCLNT-PLYR-PublicAPI-0010-001-SetPriorityL_command03
+		COMMAND		VideoPlayerUtility1	PriorityL		MM-MMF-VCLNT-PLYR-PublicAPI-0010-001-PriorityL_command04
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0010
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0011
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0011
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open the videofile and set the display window.
+//!				Uses API elements: NewL(), OpneFileL(), SetDisplayWindowL(), Prepare(), Play(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open file to be played.
+//!				3. Set the display windowy.
+//!				4. Prepare playing.
+//!				5. Start playing.
+//!				6. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The display window is set and video is played at new window.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0011-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL			MM-MMF-VCLNT-PLYR-PublicAPI-0011-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetDisplayWindowL	MM-MMF-VCLNT-PLYR-PublicAPI-0011-001-SetDisplayWindowL_command03
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0011
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0012
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0012
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Register to receive notifications of video clip loading. Open video clip from URL.
+//!				Get video loading progress and start playing the video.
+//!				Uses API elements: NewL(), RegisterForVideoLoadingNotification(), OpenUrlL(),
+//!				Prepare(), GetVideoLoadingProgressL(), Play(), GetVideoLoadingProgressL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Register to receive notifications of video clip loading/rebuffering
+//!				3. Open a video clip from a URL.
+//!				4. Prepare playing.
+//!				5. Gets the progress of video clip loading/rebuffering
+//!				6. Start playing.
+//!				7. Gets the progress of video clip loading/rebuffering
+//!				8. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The video loading notifications are received and video loading progress is queried.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL									MM-MMF-VCLNT-PLYR-PublicAPI-0012-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	RegisterForVideoLoadingNotification
+		COMMAND		VideoPlayerUtility1	OpenUrlL								MM-MMF-VCLNT-PLYR-PublicAPI-0012-001-OpenUrlL_command03
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	GetVideoLoadingProgressL				MM-MMF-VCLNT-PLYR-PublicAPI-0012-001-GetVideoLoadingProgressL_command05
+		COMMAND		VideoPlayerUtility1	Play
+		ASYNC_DELAY	10000
+		COMMAND		VideoPlayerUtility1	GetVideoLoadingProgressL
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0012
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0013
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0013
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the current frame without DRM Intent.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), Play(), GetFrameL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Get the current frame.
+//!				6. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The current frame is queried.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0013-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0013-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play
+		ASYNC_DELAY	10000
+		COMMAND		VideoPlayerUtility1	GetFrameL	MM-MMF-VCLNT-PLYR-PublicAPI-0013-001-GetFrameL_command06
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0013
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0014
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0014
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the current frame with DRM Intent.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), Play(), GetFrameL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Get the current frame.
+//!				6. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The current frame is queried.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0014-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0014-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play
+		ASYNC_DELAY	10000
+		COMMAND		VideoPlayerUtility1	GetFrameL	MM-MMF-VCLNT-PLYR-PublicAPI-0014-001-GetFrameL_command06
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0014
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0015
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0015
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Refresh (redraw) the current frame.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), Play(), RefreshFrameL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Redraw the current frame.
+//!				6. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The current frame is refreshed.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0015-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0015-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play
+		COMMAND		VideoPlayerUtility1	RefreshFrameL
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0015
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0016
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0016
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set video frame rate.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), Play(),
+//!				VideoFrameRateL(), SetVideoFrameRateL(), VideoFrameRateL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Query video frame rate
+//!				6. Set the video frame rate.
+//!				7. Query video frame rate
+//!				8. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The frame rate is set.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0016-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL			MM-MMF-VCLNT-PLYR-PublicAPI-0016-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	VideoFrameRateL
+		COMMAND		VideoPlayerUtility1	SetVideoFrameRateL	MM-MMF-VCLNT-PLYR-PublicAPI-0016-001-SetVideoFrameRateL_command06
+		COMMAND		VideoPlayerUtility1	VideoFrameRateL		MM-MMF-VCLNT-PLYR-PublicAPI-0016-001-VideoFrameRateL_command07
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0016
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0017
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0017
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the video frame size.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), VideoFrameSizeL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip
+//!				4. Get the video frame size.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The video frame size is queried.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0017-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0017-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	VideoFrameSizeL	MM-MMF-VCLNT-PLYR-PublicAPI-0017-001-VideoFrameSizeL_command04
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0017
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0018
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0018
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the video format's MIME type.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), VideoFormatMimeType(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip
+//!				4. Get the video format's MIME type.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The video format's MIME type is queried.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0018-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0018-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	VideoFormatMimeType	MM-MMF-VCLNT-PLYR-PublicAPI-0018-001-VideoFormatMimeType_command04
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0018
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0019
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0019
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the video bit rate.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), VideoBitRateL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip
+//!				4. Get the video bit rate.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The video bit rate is queried.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0019-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0019-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	VideoBitRateL	MM-MMF-VCLNT-PLYR-PublicAPI-0019-001-VideoBitRateL_command04
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0019
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0020
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0020
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the audio bit rate in bits/second.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), AudioBitRateL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip
+//!				4. Get the audio bit rate.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The audio bit rate is queried.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0020-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0020-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	AudioBitRateL	MM-MMF-VCLNT-PLYR-PublicAPI-0020-001-AudioBitRateL_command04
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0020
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0021
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0021
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the codec used for the audio component of the video clip.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), AudioTypeL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip
+//!				4. Get the codec used for the audio.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The audio codec is queried.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0021-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0021-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	AudioTypeL	MM-MMF-VCLNT-PLYR-PublicAPI-0021-001-AudioTypeL_command04
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0021
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0022
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0022
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get whether the current clip has an audio stream.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), AudioEnabledL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip
+//!				4. Get whether the current clip has an audio stream.
+//!				5. Close file.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The audio enabled value (TRUE/FALSE) is queried.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0022-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0022-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	AudioEnabledL		MM-MMF-VCLNT-PLYR-PublicAPI-0022-001-AudioEnabledL_command04
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0022
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0023
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0023
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set and check the position within the video clip from where to start playback.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), SetPositionL(), PositionL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip
+//!				4. Set the position within the video clip.
+//!				5. Get the current playback position
+//!				6. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The position is set within the audio clip.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0023-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0023-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetPositionL	MM-MMF-VCLNT-PLYR-PublicAPI-0023-001-SetPositionL_command04
+		COMMAND		VideoPlayerUtility1	PositionL		MM-MMF-VCLNT-PLYR-PublicAPI-0023-001-PositionL_command05
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0023
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0024
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0024
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the duration of video clip in mircoseconds.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), DurationL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip
+//!				4. Get the duration of video clip.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The video clip duration is queried.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0024-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0024-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	DurationL	MM-MMF-VCLNT-PLYR-PublicAPI-0024-001-DurationL_command04
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0024
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0025
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0025
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get max. volume. Set and check volume for the audio track.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), MaxVolume(), SetVolumeL(), Volume(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip.
+//!				4. Get the maximum volume that the audio track can support.
+//!				5. Sets the playback volume for the audio track of the video clip.
+//!				6. Get the current playback volume for the audio track of the video clip.
+//!				7. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The max. volume is queried and custom volume is set for the audio track.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0025-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0025-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	MaxVolume		MM-MMF-VCLNT-PLYR-PublicAPI-0025-001-MaxVolume_command03
+		COMMAND		VideoPlayerUtility1	SetVolumeL		MM-MMF-VCLNT-PLYR-PublicAPI-0025-001-SetVolumeL_command04
+		COMMAND		VideoPlayerUtility1	Volume			MM-MMF-VCLNT-PLYR-PublicAPI-0025-001-Volume_command05
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0025
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0026
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0026
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set and check the current playback balance for the audio track of the video clip.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), Balance(), SetBalanceL(), Balance(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip.
+//!				4. Get the current balance setting for the audio track.
+//!				5. Set the current playback balance.
+//!				6. Get the current balance setting for the audio track.
+//!				7. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The custom balance setting for the audio track is set.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0026-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0026-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Balance
+		COMMAND		VideoPlayerUtility1	SetBalanceL		MM-MMF-VCLNT-PLYR-PublicAPI-0026-001-SetBalanceL_command04
+		COMMAND		VideoPlayerUtility1	Balance			MM-MMF-VCLNT-PLYR-PublicAPI-0026-001-Balance_command05
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0026
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0027
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0027
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set and check the rotation of the video image on the screen.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), SetRotationL(), RotationL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip.
+//!				4. Change the video image rotation on the screen.
+//!				5. Get the rotation that is currently applied to the video image.
+//!				6. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The custom rotation is applied to the video image.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0027-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0027-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetRotationL	MM-MMF-VCLNT-PLYR-PublicAPI-0027-001-SetRotationL_command04
+		COMMAND		VideoPlayerUtility1	RotationL		MM-MMF-VCLNT-PLYR-PublicAPI-0027-001-RotationL_command05
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0027
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0028
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0028
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set and check the scale of the video image (percentage of its original size).
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), SetScaleFactorL(), GetScaleFactorL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip.
+//!				4. Set the scale of the video image.
+//!				5. Get the scale of the video image.
+//!				6. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The custom scale is applied to the video image.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0028-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL			MM-MMF-VCLNT-PLYR-PublicAPI-0028-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetScaleFactorL		MM-MMF-VCLNT-PLYR-PublicAPI-0028-001-SetScaleFactorL_command04
+		COMMAND		VideoPlayerUtility1	GetScaleFactorL		MM-MMF-VCLNT-PLYR-PublicAPI-0028-001-GetScaleFactorL_command05
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0028
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0029
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0029
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set and check a region of the video image to be displayed.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), SetCropRegionL(), GetCropRegionL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip.
+//!				4. Set a region of the video image to be displayed.
+//!				5. Get the crop region currently applied to the image.
+//!				6. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The custom region of the video image to be displayed is set.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0029-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0029-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetCropRegionL	MM-MMF-VCLNT-PLYR-PublicAPI-0029-001-SetCropRegionL_command04
+		COMMAND		VideoPlayerUtility1	GetCropRegionL	MM-MMF-VCLNT-PLYR-PublicAPI-0029-001-GetCropRegionL_command05
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0029
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0030
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0030
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		08/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the number of meta data entries associated with this clip.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), NumberOfMetaDataEntriesL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip.
+//!				4. Get the number of meta data entries.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The number of meta data entries is queried.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL						MM-MMF-VCLNT-PLYR-PublicAPI-0030-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL					MM-MMF-VCLNT-PLYR-PublicAPI-0030-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	NumberOfMetaDataEntriesL	MM-MMF-VCLNT-PLYR-PublicAPI-0030-001-NumberOfMetaDataEntriesL_command04
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0030
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0031
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0031
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get a meta data entry from the clip.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), MetaDataEntryL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip.
+//!				4. Get a meta data entry.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The meta data entry is queried.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0031-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL			MM-MMF-VCLNT-PLYR-PublicAPI-0031-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	MetaDataEntryL		MM-MMF-VCLNT-PLYR-PublicAPI-0031-001-MetaDataEntryL_command04
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0031
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0032
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0032
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the controller implementation information associated with the current controller.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), ControllerImplementationInformationL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip.
+//!				4. Get the controller implementation information.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The controller implementation information is queried.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL									MM-MMF-VCLNT-PLYR-PublicAPI-0032-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL								MM-MMF-VCLNT-PLYR-PublicAPI-0032-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	ControllerImplementationInformationL
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0032
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0033
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0033
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send a synchronous custom command to the controller with respond (aDataFrom).
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), CustomCommandSync(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip.
+//!				4. Send a synchronous custom command.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	CustomCommandSync will return the error KErrNotSupported.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0033-001-NewL_command01
+		COMMAND			VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0033-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND	!Error=-5	VideoPlayerUtility1	CustomCommandSync	MM-MMF-VCLNT-PLYR-PublicAPI-0033-001-CustomCommandSync_command04
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0033
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0034
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0034
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send a synchronous custom command to the controller without respond.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), CustomCommandSync(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip.
+//!				4. Send a synchronous custom command.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	CustomCommandSync will return the error KErrNotSupported.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0034-001-NewL_command01
+		COMMAND			VideoPlayerUtility1	OpenFileL				MM-MMF-VCLNT-PLYR-PublicAPI-0034-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND	!Error=-5 VideoPlayerUtility1	CustomCommandSync	MM-MMF-VCLNT-PLYR-PublicAPI-0034-001-CustomCommandSync_command04
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0034
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0035
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0035
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send an asynchronous custom command to the controller with respond (aDataFrom).
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), CustomCommandAsync(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip.
+//!				4. Send an asynchronous custom command.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	CustomCommandAsync will return the error KErrNotSupported.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL						MM-MMF-VCLNT-PLYR-PublicAPI-0035-001-NewL_command01
+		COMMAND			VideoPlayerUtility1	OpenFileL					MM-MMF-VCLNT-PLYR-PublicAPI-0035-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	VideoPlayerUtility1	CustomCommandAsync	MM-MMF-VCLNT-PLYR-PublicAPI-0035-001-CustomCommandAsync_command04
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0035
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0036
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0036
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send an asynchronous custom command to the controller without respond.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), CustomCommandAsync(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip.
+//!				4. Send an asynchronous custom command.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	CustomCommandAsync will return the error KErrNotSupported.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL						MM-MMF-VCLNT-PLYR-PublicAPI-0036-001-NewL_command01
+		COMMAND			VideoPlayerUtility1	OpenFileL					MM-MMF-VCLNT-PLYR-PublicAPI-0036-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND	!AsyncError=-5	VideoPlayerUtility1	CustomCommandAsync	MM-MMF-VCLNT-PLYR-PublicAPI-0036-001-CustomCommandAsync_command04
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0036
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0037
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0037
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get a controller's DRM custom command implementation.
+//!				Uses API elements: NewL(), OpenFileL(), GetDRMCustomCommand(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Get a controller's DRM custom command implementation.
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The controller's DRM custom command implementation is queried.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0037-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL				MM-MMF-VCLNT-PLYR-PublicAPI-0037-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	GetDRMCustomCommand
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0037
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0038
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0038
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Stop the video player from using direct screen access (DSA).
+//!				Uses API elements: NewL(), StopDirectScreenAccessL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Stop the video player from using direct screen access.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The video player is not using direct screen access anymore.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0038-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	StopDirectScreenAccessL
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0038
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0039
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0039
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Start the video player to use direct screen access (DSA).
+//!				Uses API elements: NewL(), StopDirectScreenAccessL(), StartDirectScreenAccessL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Stop the video player from using direct screen access.
+//!				3. Start the video player to use direct screen access.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The video player is using direct screen access.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL						MM-MMF-VCLNT-PLYR-PublicAPI-0039-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	StopDirectScreenAccessL
+		COMMAND		VideoPlayerUtility1	StartDirectScreenAccessL
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0039
+
+//////////////////******************************************************//////////////////////////
+//
+//			Phase 2 (negative tests) are beginning here
+//
+/////////////////******************************************************///////////////////////////
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0040
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0040
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Construct a new instance of the video player utility with aPriority lower than EMdaPriorityMin.
+//!				Uses API elements: NewL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Returns no errors. Object is created
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0040-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0040
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0041
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0041
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Construct a new instance of the video player utility with aPriority hihger than EMdaPriorityMax.
+//!				Uses API elements: NewL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Returns no errors. Object is created
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0041-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0041
+
+//! START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0042
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0042
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Construct a new instance of the video player utility with invalid window server session id.
+//!				Uses API elements: NewL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KERN-EXEC panic (3) is raised because of dereferencing NULL
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+//! 		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+//! 		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0042-001-NewL_command01
+//! 		COMMAND		VideoPlayerUtility1	~
+//! 	END_TEST_BLOCK	!PanicCode=3
+//! END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0042
+
+//! START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0043
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0043
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Construct a new instance of the video player utility with invalid software device screen.
+//!				Uses API elements: NewL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KERN-EXEC panic (3) is raised because of dereferencing NULL
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+//! 		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+//! 		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0043-001-NewL_command01
+//! 		COMMAND		VideoPlayerUtility1	~
+//! 	END_TEST_BLOCK	!PanicCode=3
+//! END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0043
+
+//! START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0044
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0044
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Construct a new instance of the video player utility with invalid display window.
+//!				Uses API elements: NewL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	WSERV panic (6) is raised because of invalid window handle.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+//! 		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+//! 		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0044-001-NewL_command01
+//! 		COMMAND		VideoPlayerUtility1	~
+//! 	END_TEST_BLOCK	!PanicCode=6
+//! END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0044
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0045
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0045
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Construct a new instance of the video player utility with negative dimensions of the display window.
+//!				Uses API elements: NewL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Returns no errors. Object is created
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0045-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0045
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0046
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0046
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Construct a new instance of the video player utility with negative dimensions area of the video clip to display.
+//!				Uses API elements: NewL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Returns no errors. Object is created
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0046-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0046
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0047
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0047
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open nonexisting video clip from a file.
+//!				Uses API elements: NewL(), OpenFileL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Call OpenFileL(const TDesC aFileName, TUid aControllerUid=TUid::Null())
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() will return the error KErrNotFound.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0047-001-NewL_command01
+		COMMAND	!AsyncError=-1	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0047-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0047
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0048
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0048
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open corrupted video clip from a file.
+//!				Uses API elements: NewL(), OpenFileL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Call OpenFileL(const TDesC aFileName, TUid aControllerUid=TUid::Null())
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0048-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0048-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0048
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0049
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0049
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open corrupted video clip from a file and prepare it.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Call OpenFileL(const TDesC aFileName, TUid aControllerUid=TUid::Null())
+//!				3. Call Prepare().
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20) and Prepare() returns KErrNotReady(-18);
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0049-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0049-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0049
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0050
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0050
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open corrupted video clip from a file and play it.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), Play()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Call OpenFileL(const TDesC aFileName, TUid aControllerUid=TUid::Null())
+//!				3. Prepare the video clip.
+//!				4. Start playing.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20) and Prepare() and Play() returns KErrNotReady(-18);
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0050-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0050-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Play
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0050
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0051
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0051
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open video clip from a file with invalid controller id.
+//!				Uses API elements: NewL(), OpenFileL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Call OpenFileL(const TDesC aFileName, TUid aControllerUid=TUid::Null())
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() will return the error KErrNotFound.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0051-001-NewL_command01
+		COMMAND	!AsyncError=-1	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0051-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0051
+
+//! START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0052
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0052
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open video clip from a file with not initialised RFile object.
+//!				Uses API elements: NewL(), OpenFileL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Call OpenFileL(const RFile aFileName, TUid aControllerUid=TUid::Null())
+//!				3. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL will raise panic.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+//! 		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+//! 		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0052-001-NewL_command01
+//! 		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0052-001-OpenFileL_command02
+//! 		OUTSTANDING
+//! 		COMMAND		VideoPlayerUtility1	Close
+//! 		COMMAND		VideoPlayerUtility1	~
+//! 	END_TEST_BLOCK	!PanicCode=0
+//! END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0052
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0053
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0053
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open corrupted video clip from a file using RFile.
+//!				Uses API elements: NewL(), OpenFileL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Call OpenFileL(const RFile aFileName, TUid aControllerUid=TUid::Null()).
+//!				3. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0053-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0053-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0053
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0054
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0054
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open video clip from a file with invalid controller id using RFile.
+//!				Uses API elements: NewL(), OpenFileL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Call OpenFileL(const RFile aFileName, TUid aControllerUid=TUid::Null()).
+//!				3. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() will return the error KErrNotFound.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0054-001-NewL_command01
+		COMMAND	!AsyncError=-1	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0054-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0054
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0055
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0055
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open nonexisting video clip from a file using TMMSource.
+//!				Uses API elements: NewL(), OpenFileL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Call OpenFileL(const TMMSource aSource, TUid aControllerUid=TUid::Null()).
+//!				3. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() will return the error KErrNotFound.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0055-001-NewL_command01
+		COMMAND	!AsyncError=-1	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0055-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0055
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0056
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0056
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open corrupted video clip from a file using TMMSource.
+//!				Uses API elements: NewL(), OpenFileL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Call OpenFileL(const TMMSource aSource, TUid aControllerUid=TUid::Null()).
+//!				3. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0056-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0056-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0056
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0057
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0057
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open video clip from a file with invalid controller id using TMMSource.
+//!				Uses API elements: NewL(), OpenFileL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Call OpenFileL(const TMMSource aSource, TUid aControllerUid=TUid::Null()).
+//!				3. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() will return the error KErrNotFound.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0057-001-NewL_command01
+		COMMAND	!AsyncError=-1	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0057-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0057
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0058
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0058
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open an corrupted video clip contained in a descriptor.
+//!				Uses API elements: NewL(), OpenDesL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip contained in a descriptor.
+//!				3. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Returns no errors. File is opened.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0058-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenDesL	MM-MMF-VCLNT-PLYR-PublicAPI-0058-001-OpenDesL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0058
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0059
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0059
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open a video clip contained in a descriptor with invalid controller id.
+//!				Uses API elements: NewL(), OpenDesL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip contained in a descriptor.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenDesL() will return the error KErrNotFound.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0059-001-NewL_command01
+		COMMAND	!AsyncError=-1	VideoPlayerUtility1	OpenDesL	MM-MMF-VCLNT-PLYR-PublicAPI-0059-001-OpenDesL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0059
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0060
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0060
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open a video clip from a wrong URL.
+//!				Uses API elements: NewL(), OpenUrlL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from a URL.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenUrlL() will return the error KErrNotFound.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0060-001-NewL_command01
+		COMMAND	!AsyncError=-1	VideoPlayerUtility1	OpenUrlL	MM-MMF-VCLNT-PLYR-PublicAPI-0060-001-OpenUrlL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	Play
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0060
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0061
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0061
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open corrupted video clip from a URL.
+//!				Uses API elements: NewL(), OpenUrlL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from a URL.
+//!				3. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Returns no errors. File is opened.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0061-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenUrlL	MM-MMF-VCLNT-PLYR-PublicAPI-0061-001-OpenUrlL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0061
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0062
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0062
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		09/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open a video clip from a URL with invalid controller id.
+//!				Uses API elements: NewL(), OpenUrlL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from a URL.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenUrlL() will return the error KErrNotFound.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0062-001-NewL_command01
+		COMMAND	!AsyncError=-1	VideoPlayerUtility1	OpenUrlL	MM-MMF-VCLNT-PLYR-PublicAPI-0062-001-OpenUrlL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0062
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0063
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0063
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		15/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open a video clip from a URL with invalid internet access point.
+//!				Uses API elements: NewL(), OpenUrlL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from a URL.
+//!				3. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Returns no errors. File is opened.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0063-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenUrlL	MM-MMF-VCLNT-PLYR-PublicAPI-0063-001-OpenUrlL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0063
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0064
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0064
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		15/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Open a video clip from a URL with invalid MIME type.
+//!				Uses API elements: NewL(), OpenUrlL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from a URL.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Returns no errors. File is opened.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0064-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenUrlL	MM-MMF-VCLNT-PLYR-PublicAPI-0064-001-OpenUrlL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0064
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0065
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0065
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		15/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Prepare playing without opening video clip first.
+//!				Uses API elements: NewL(), Prepare()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Prepare playing.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Prepare() will return error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0065-001-NewL_command01
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0065
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0066
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0066
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		15/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Close the video clip without opening video clip first.
+//!				Uses API elements: NewL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Close video clip.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Close function will be called without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0066-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0066
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0067
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0067
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		15/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Play the video clip without preparing it first.
+//!				Uses API elements: NewL(), OpenFileL(), Play()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open file to be played.
+//!				3. Start playing.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Play() will return error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0067-001-NewL_command01
+		COMMAND			VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0067-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Play
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0067
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0068
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0068
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		15/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Play the video clip without opening it first.
+//!				Uses API elements: NewL(), Play()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Start playing.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Play() will return error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0068-001-NewL_command01
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Play
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0068
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0070
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0070
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		15/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Play the video clip with specific start and end points without opening it first.
+//!				Uses API elements: NewL(), Play()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Start playing.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Play() will return error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0070-001-NewL_command01
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Play	MM-MMF-VCLNT-PLYR-PublicAPI-0070-001-Play_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0070
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0071
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0071
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		15/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Start playing the video clip from negative position.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), Play(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open file to be played.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video clip will play without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0071-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0071-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play		MM-MMF-VCLNT-PLYR-PublicAPI-0071-001-Play_command04
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0071
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0073
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0073
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		15/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Start to play the video clip starting with very big position and ending with negative position.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), Play(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open file to be played.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video clip will play without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0073-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0073-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play		MM-MMF-VCLNT-PLYR-PublicAPI-0073-001-Play_command04
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0073
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0074
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0074
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		15/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Stop the play without starting playing the video clip first.
+//!				Uses API elements: NewL(), Stop()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Stop playback of the video clip.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Stop() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0074-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	Stop
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0074
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0075
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0075
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		15/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Pause the play without starting playing the video clip first.
+//!				Uses API elements: NewL(), PauseL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Pause playing.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Pause() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0075-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	PauseL
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0075
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0076
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0076
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		15/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set playback priority lower than EMdaPriorityMin (-100).
+//!				Uses API elements: NewL(), OpenFileL(), SetPriorityL(),
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open file to be played.
+//!				3. Set the playback priority.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	New priority is set without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0076-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0076-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetPriorityL	MM-MMF-VCLNT-PLYR-PublicAPI-0076-001-SetPriorityL_command03
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0076
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0077
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0077
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		15/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set playback priority higher than EMdaPriorityMax (100).
+//!				Uses API elements: NewL(), OpenFileL(), SetPriorityL(),
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open file to be played.
+//!				3. Set the playback priority.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	New priority is set without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0077-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0077-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetPriorityL	MM-MMF-VCLNT-PLYR-PublicAPI-0077-001-SetPriorityL_command03
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0077
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0078
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0078
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		15/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set invalid playback time and quality preference.
+//!				Uses API elements: NewL(), OpenFileL(), SetPriorityL(),
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open file to be played.
+//!				3. Set the playback priority.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	New priority is set without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0078-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0078-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetPriorityL		MM-MMF-VCLNT-PLYR-PublicAPI-0078-001-SetPriorityL_command03
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0078
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0079
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0079
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		15/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set play priority without opening files first.
+//!				Uses API elements: NewL(), SetPriorityL(),
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Set the playback priority.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	SetPriorityL() will return without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50			T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0079-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	SetPriorityL		MM-MMF-VCLNT-PLYR-PublicAPI-0079-001-SetPriorityL_command02
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0079
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0080
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0080
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		16/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Query playing priority without opening files first.
+//!				Uses API elements: NewL(), PriorityL(),
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get the current playback priority
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Current priority will be queried without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0080-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	PriorityL
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0080
+
+//! START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0081
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0081
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		16/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set display window with invalid window server session id.
+//!				Uses API elements: NewL(), SetDisplayWindowL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Set the display window.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	SetDisplayWindowL() will raise panic.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+//! 		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+//! 		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0081-001-NewL_command01
+//! 		COMMAND		VideoPlayerUtility1	SetDisplayWindowL	MM-MMF-VCLNT-PLYR-PublicAPI-0081-001-SetDisplayWindowL_command02
+//! 		COMMAND		VideoPlayerUtility1	~
+//! 	END_TEST_BLOCK	!PanicCode=3
+//! END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0081
+
+//! START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0082
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0082
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		16/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set display window with invalid software device screen.
+//!				Uses API elements: NewL(), SetDisplayWindowL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Set the display window.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	SetDisplayWindowL() will raise panic.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+//! 		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+//! 		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0082-001-NewL_command01
+//! 		COMMAND		VideoPlayerUtility1	SetDisplayWindowL	MM-MMF-VCLNT-PLYR-PublicAPI-0082-001-SetDisplayWindowL_command02
+//! 		COMMAND		VideoPlayerUtility1	~
+//! 	END_TEST_BLOCK	!PanicCode=3
+//! END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0082
+
+//! START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0083
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0083
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		16/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set display window with invalid window to display.
+//!				Uses API elements: NewL(), SetDisplayWindowL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Set the display window.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	SetDisplayWindowL() will raise panic.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+//! 		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+//! 		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0083-001-NewL_command01
+//! 		COMMAND		VideoPlayerUtility1	SetDisplayWindowL	MM-MMF-VCLNT-PLYR-PublicAPI-0083-001-SetDisplayWindowL_command02
+//! 		COMMAND		VideoPlayerUtility1	~
+//! 	END_TEST_BLOCK	!PanicCode=6
+//! END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0083
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0084
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0084
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		16/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set display window with negative dimensions of the display window.
+//!				Uses API elements: NewL(), SetDisplayWindowL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Set the display window.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	New display window is set without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0084-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	SetDisplayWindowL	MM-MMF-VCLNT-PLYR-PublicAPI-0084-001-SetDisplayWindowL_command02
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0084
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0085
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0085
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		16/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set display window with negative dimensions area of the video clip to display.
+//!				Uses API elements: NewL(), SetDisplayWindowL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Set the display window.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	New display window is set without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0085-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	SetDisplayWindowL		MM-MMF-VCLNT-PLYR-PublicAPI-0085-001-SetDisplayWindowL_command02
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0085
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0086
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0086
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		16/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get video loading progress without opening video clip first.
+//!				Uses API elements: NewL(), RegisterForVideoLoadingNotification(), GetVideoLoadingProgressL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Register to receive notifications of video clip loading/rebuffering
+//!				3. Get the progress of video clip loading/rebuffering.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	GetVideoLoadingProgressL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL									MM-MMF-VCLNT-PLYR-PublicAPI-0086-001-NewL_command01
+		COMMAND			VideoPlayerUtility1	RegisterForVideoLoadingNotification
+		COMMAND	!Error=-18	VideoPlayerUtility1	GetVideoLoadingProgressL			MM-MMF-VCLNT-PLYR-PublicAPI-0086-001-GetVideoLoadingProgressL_command03
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0086
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0087
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0087
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		16/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get frame without opening video clip first.
+//!				Uses API elements: NewL(), GetFrameL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get the current frame.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	GetFrameL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0087-001-NewL_command01
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	GetFrameL		MM-MMF-VCLNT-PLYR-PublicAPI-0087-001-GetFrameL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0087
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0089
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0089
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Marek Sokk
+//! @SYMCreationDate		16/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get frame with DRM intent and without opening video clip first.
+//!				Uses API elements: NewL(), GetFrameL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get the current frame.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	GetFrameL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0089-001-NewL_command01
+		COMMAND	!ASyncError=-18	VideoPlayerUtility1	GetFrameL		MM-MMF-VCLNT-PLYR-PublicAPI-0089-001-GetFrameL_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0089
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0091
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0091
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Refresh (redraw) the current frame when video clip is not opened.
+//!				Uses API elements: NewL(), RefreshFrameL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Redraw the current frame.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	RefreshFrameL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0091-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	RefreshFrameL
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0091
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0092
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0092
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Refresh (redraw) the current frame when video clip is paused.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), Play(), PauseL(), RefreshFrameL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Pause playing.
+//!				6. Redraw the current frame.
+//!				7. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The current frame will be redrawn without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0092-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0092-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play
+		ASYNC_DELAY	100
+		COMMAND		VideoPlayerUtility1	PauseL
+		COMMAND		VideoPlayerUtility1	RefreshFrameL
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0092
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0093
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0093
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the video frame rate in frames/second when video clip is not opened.
+//!				Uses API elements: NewL(), VideoFrameRateL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get video frame rate
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	VideoFrameRateL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0093-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	VideoFrameRateL		MM-MMF-VCLNT-PLYR-PublicAPI-0093-001-VideoFrameRateL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0093
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0094
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0094
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the video frame rate in frames/second in corrupted video file.
+//!				Uses API elements: NewL(), OpenFileL(), VideoFrameRateL(), Close()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Get video frame rate.
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20), and VideoFrameRateL() KErrNotReady(-18).
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0094-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0094-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-18	VideoPlayerUtility1	VideoFrameRateL		MM-MMF-VCLNT-PLYR-PublicAPI-0094-001-VideoFrameRateL_command03
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0094
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0095
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0095
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set the video frame rate in frames/second when video clip is not opened.
+//!				Uses API elements: NewL(), SetVideoFrameRateL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Set video frame rate
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	SetVideoFrameRateL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL						MM-MMF-VCLNT-PLYR-PublicAPI-0095-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	SetVideoFrameRateL		MM-MMF-VCLNT-PLYR-PublicAPI-0095-001-SetVideoFrameRateL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0095
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0096
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0096
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set the video frame rate in frames/second with negative number of frames per second.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), SetVideoFrameRateL(), VideoFrameRateL(), 					Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare video clip
+//!				4. Set video frame rate
+//!				5. Check video frame rate
+//!				6. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	SetVideoFrameRateL will set frame rate without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0096-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL			MM-MMF-VCLNT-PLYR-PublicAPI-0096-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetVideoFrameRateL	MM-MMF-VCLNT-PLYR-PublicAPI-0096-001-SetVideoFrameRateL_command04
+		COMMAND		VideoPlayerUtility1	VideoFrameRateL		MM-MMF-VCLNT-PLYR-PublicAPI-0096-001-VideoFrameRateL_command05
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0096
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0097
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0097
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set the video frame rate in frames/second when video clip are played.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), Play(), SetVideoFrameRateL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare playing.
+//!				4. Start playing.
+//!				5. Set the video frame rate.
+//!				6. Query video frame rate
+//!				7. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	SetVideoFrameRateL() will set frame rate without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0097-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL			MM-MMF-VCLNT-PLYR-PublicAPI-0097-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Play
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetVideoFrameRateL	MM-MMF-VCLNT-PLYR-PublicAPI-0097-001-SetVideoFrameRateL_command05
+		COMMAND		VideoPlayerUtility1	VideoFrameRateL		MM-MMF-VCLNT-PLYR-PublicAPI-0097-001-VideoFrameRateL_command06
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0097
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0098
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0098
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the video frame size when video clip is not opened.
+//!				Uses API elements: NewL(), VideoFrameSizeL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get the video frame size.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	VideoFrameSizeL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0098-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	VideoFrameSizeL		MM-MMF-VCLNT-PLYR-PublicAPI-0098-001-VideoFrameSizeL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0098
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0099
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0099
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the video frame size in corrupted video file.
+//!				Uses API elements: NewL(), OpenFileL(), VideoFrameSizeL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Get the video frame size.
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20), and Prepare() and VideoFrameRateL() KErrNotReady(-18).
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0099-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0099-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND	!Error=-18	VideoPlayerUtility1	VideoFrameSizeL		MM-MMF-VCLNT-PLYR-PublicAPI-0099-001-VideoFrameSizeL_command04
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0099
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0100
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0100
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the video format's MIME type when video clip is not opened.
+//!				Uses API elements: NewL(), VideoFormatMimeType().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get MIME type.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	VideoFormatMimeType will return empty string.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0100-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	VideoFormatMimeType		MM-MMF-VCLNT-PLYR-PublicAPI-0100-001-VideoFormatMimeType_command02
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0100
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0101
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0101
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the video format's MIME type in corrupted video file.
+//!				Uses API elements: NewL(), OpenFileL(), VideoFormatMimeType(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Get MIME type
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20), and Prepare() KErrNotReady(-18),
+//!				VideoFormatMimeType will return empty string.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0101-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0101-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	VideoFormatMimeType	MM-MMF-VCLNT-PLYR-PublicAPI-0101-001-VideoFormatMimeType_command04
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0101
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0102
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0102
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the video bit rate when video clip is not opened.
+//!				Uses API elements: NewL(), VideoBitRateL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get the video bit rate.
+//! @SYMTestStatus		Not Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	VideoBitRateL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0102-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	VideoBitRateL		MM-MMF-VCLNT-PLYR-PublicAPI-0102-001-VideoBitRateL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0102
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0103
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0103
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the video bit rate in corrupted video file.
+//!				Uses API elements: NewL(), OpenFileL(), VideoBitRateL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Get the video bit rate.
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20), and Prepare() and VideoBitRateL() KErrNotReady(-18),
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0103-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0103-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND	!Error=-18	VideoPlayerUtility1	VideoBitRateL	MM-MMF-VCLNT-PLYR-PublicAPI-0103-001-VideoBitRateL_command04
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0103
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0104
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0104
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the audio bit rate when video clip is not opened.
+//!				Uses API elements: NewL(), AudioBitRateL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get the audio bit rate.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	AudioBitRateL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0104-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	AudioBitRateL	MM-MMF-VCLNT-PLYR-PublicAPI-0104-001-AudioBitRateL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0104
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0105
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0105
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the audio bit rate in corrupted video file.
+//!				Uses API elements: NewL(), OpenFileL(), AudioBitRateL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Get the audio bit rate.
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20), and Prepare() and AudioBitRateL() KErrNotReady(-18),
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0105-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0105-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND	!Error=-18	VideoPlayerUtility1	AudioBitRateL	MM-MMF-VCLNT-PLYR-PublicAPI-0105-001-AudioBitRateL_command04
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0105
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0106
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0106
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the codec used for the audio component of the video clip when video clip is not opened.
+//!				Uses API elements: NewL(), AudioTypeL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get the codec used for the audio component of the video.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	AudioTypeL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0106-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	AudioTypeL		MM-MMF-VCLNT-PLYR-PublicAPI-0106-001-AudioTypeL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0106
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0107
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0107
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the codec used for the audio component of the video clip in corrupted video file.
+//!				Uses API elements: NewL(), OpenFileL(), AudioTypeL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Get the codec used for the audio component of the video.
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20), and Prepare() and AudioTypeL() KErrNotReady(-18),
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0107-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0107-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND	!Error=-18	VideoPlayerUtility1	AudioTypeL	MM-MMF-VCLNT-PLYR-PublicAPI-0107-001-AudioTypeL_command04
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0107
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0108
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0108
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Checking an audio stream in the current clip when video clip is not opened.
+//!				Uses API elements: NewL(), AudioEnabledL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Returns whether the current clip has an audio stream.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	AudioEnabledL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0108-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	AudioEnabledL		MM-MMF-VCLNT-PLYR-PublicAPI-0108-001-AudioEnabledL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0108
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0109
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0109
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set the position when video clip is not opened.
+//!				Uses API elements: NewL(), SetPositionL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Set the position within the video clip.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	SetPositionL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0109-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	SetPositionL		MM-MMF-VCLNT-PLYR-PublicAPI-0109-001-SetPositionL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0109
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0110
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0110
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set the position above duration of video clip.
+//!				Uses API elements: NewL(), OpenFileL(), DurationL(), PositionL(), SetPositionL(), PositionL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Get the duration of video clip in mircoseconds.
+//!				5. Get the current playback position
+//!				4. Set the position within the video clip.
+//!				5. Get the current playback position
+//!				6. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	New position will be set to maximum (position = duration).
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0110-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0110-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	DurationL
+		COMMAND		VideoPlayerUtility1	PositionL		MM-MMF-VCLNT-PLYR-PublicAPI-0110-001-PositionL_command05
+		COMMAND		VideoPlayerUtility1	SetPositionL	MM-MMF-VCLNT-PLYR-PublicAPI-0110-001-SetPositionL_command06
+		COMMAND		VideoPlayerUtility1	PositionL		MM-MMF-VCLNT-PLYR-PublicAPI-0110-001-PositionL_command07
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0110
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0111
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0111
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set the position to negative number.
+//!				Uses API elements: NewL(), OpenFileL(), SetPositionL(), PositionL(), SetPositionL(), PositionL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Set the position within the video clip.
+//!				4. Get the current playback position.
+//!				5. Set the position within the video clip.
+//!				6. Get the current playback position.
+//!				7. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	New position will be set to minimum (0).
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0111-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0111-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetPositionL	MM-MMF-VCLNT-PLYR-PublicAPI-0111-001-SetPositionL_command04
+		COMMAND		VideoPlayerUtility1	PositionL		MM-MMF-VCLNT-PLYR-PublicAPI-0111-001-PositionL_command05
+		COMMAND		VideoPlayerUtility1	SetPositionL	MM-MMF-VCLNT-PLYR-PublicAPI-0111-001-SetPositionL_command06
+		COMMAND		VideoPlayerUtility1	PositionL		MM-MMF-VCLNT-PLYR-PublicAPI-0111-001-PositionL_command07
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0111
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0112
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0112
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the position when video clip is not opened.
+//!				Uses API elements: NewL(), PositionL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get the current playback position
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	PositionL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0112-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	PositionL		MM-MMF-VCLNT-PLYR-PublicAPI-0112-001-PositionL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0112
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0113
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0113
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the duration of video clip in mircoseconds when video clip is not opened.
+//!				Uses API elements: NewL(), DurationL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get the duration of video clip in mircoseconds.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	DurationL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0113-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	DurationL		MM-MMF-VCLNT-PLYR-PublicAPI-0113-001-DurationL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0113
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0114
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0114
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the duration of video clip in mircoseconds in corrupted video file.
+//!				Uses API elements: NewL(), OpenFileL(), DurationL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Get the duration of video clip in mircoseconds.
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20), and Prepare() and DurationL() KErrNotReady(-18),
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0114-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0114-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND	!Error=-18	VideoPlayerUtility1	DurationL	MM-MMF-VCLNT-PLYR-PublicAPI-0114-001-DurationL_command04
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0114
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0115
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0115
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set the volume when video clip is not opened.
+//!				Uses API elements: NewL(), SetVolumeL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Set the playback volume for the audio track of the video clip.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	SetVolumeL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0115-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	SetVolumeL		MM-MMF-VCLNT-PLYR-PublicAPI-0115-001-SetVolumeL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0115
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0116
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0116
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set the volume above maximum volume.
+//!				Uses API elements: NewL(), OpenFileL(), MaxVolume(), VolumeL(), SetVolumeL(), VolumeL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Get the maximum volume that the audio track can support.
+//!				4. Get current playback volume for the audio track of the video clip.
+//!				5. Set the playback volume for the audio track of the video clip.
+//!				6. Get current playback volume for the audio track of the video clip.
+//!				7. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors are returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0116-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0116-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	MaxVolume
+		COMMAND		VideoPlayerUtility1	Volume
+		COMMAND		VideoPlayerUtility1	SetVolumeL		MM-MMF-VCLNT-PLYR-PublicAPI-0116-001-SetVolumeL_command05
+		COMMAND		VideoPlayerUtility1	Volume
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0116
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0117
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0117
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set the volume with negative number.
+//!				Uses API elements: NewL(), OpenFileL(), SetVolumeL(), VolumeL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Set the playback volume for the audio track of the video clip.
+//!				4. Get current playback volume for the audio track of the video clip.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	No errors are returned.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0117-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0117-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetVolumeL		MM-MMF-VCLNT-PLYR-PublicAPI-0117-001-SetVolumeL_command03
+		COMMAND		VideoPlayerUtility1	Volume
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0117
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0118
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0118
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the current volume when video clip is not opened.
+//!				Uses API elements: NewL(), VolumeL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get current playback volume for the audio track of the video clip.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	VolumeL will return zero (0).
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0118-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	Volume		MM-MMF-VCLNT-PLYR-PublicAPI-0118-001-Volume_command02
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0118
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0119
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0119
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the maximum volume when video clip is not opened.
+//!				Uses API elements: NewL(), MaxVolume().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get the maximum volume that the audio track can support.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0119-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	MaxVolume
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0119
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0120
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0120
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set the current playback balance for the audio track when video clip is not opened.
+//!				Uses API elements: NewL(), SetBalanceL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Sets the current playback balance for the audio track of the video clip.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	SetBalanceL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0120-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	SetBalanceL		MM-MMF-VCLNT-PLYR-PublicAPI-0120-001-SetBalanceL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0120
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0121
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0121
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set the current playback balance for the audio track above maximum.
+//!				Uses API elements: NewL(), OpenFileL(), SetBalanceL(), BalanceL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Sets the current playback balance for the audio track of the video clip.
+//!				4. Get the current balance setting for the audio track of the video clip.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Balance will be set without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0121-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0121-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetBalanceL		MM-MMF-VCLNT-PLYR-PublicAPI-0121-001-SetBalanceL_command03
+		COMMAND		VideoPlayerUtility1	Balance			MM-MMF-VCLNT-PLYR-PublicAPI-0121-001-Balance_command04
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0121
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0122
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0122
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Set the current playback balance for the audio track with negative number.
+//!				Uses API elements: NewL(), OpenFileL(), SetBalanceL(), BalanceL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Sets the current playback balance for the audio track of the video clip.
+//!				4. Get the current balance setting for the audio track of the video clip.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Balance will be set without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0122-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0122-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetBalanceL		MM-MMF-VCLNT-PLYR-PublicAPI-0122-001-SetBalanceL_command03
+		COMMAND		VideoPlayerUtility1	Balance			MM-MMF-VCLNT-PLYR-PublicAPI-0122-001-Balance_command04
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0122
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0123
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0123
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the current playback balance for the audio track when video clip is not opened.
+//!				Uses API elements: NewL(), BalanceL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get the current playback balance for the audio track of the video clip.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Balance will be queried without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0123-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	Balance		MM-MMF-VCLNT-PLYR-PublicAPI-0123-001-Balance_command02
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0123
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0124
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0124
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Rotates the video image on the screen when video clip is not opened.
+//!				Uses API elements: NewL(), SetRotationL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Rotates the video image on the screen.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	SetRotationL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0124-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	SetRotationL	MM-MMF-VCLNT-PLYR-PublicAPI-0124-001-SetRotationL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0124
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0125
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0125
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Rotates the video image on the screen in corrupted video file.
+//!				Uses API elements: NewL(), OpenFileL(), SetRotationL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Rotates the video image on the screen.
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20), and Prepare() and SetRotationL() KErrNotReady(-18),
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0125-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0125-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND	!Error=-18	VideoPlayerUtility1	SetRotationL	MM-MMF-VCLNT-PLYR-PublicAPI-0125-001-SetRotationL_command04
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0125
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0126
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0126
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Rotates the video image on the screen with invalid value.
+//!				Uses API elements: NewL(), OpenFileL(), SetRotationL(), RotationL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				2. Sets the current playback balance for the audio track of the video clip.
+//!				4. Get the rotation that is currently applied to the video image.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video is rotated without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0126-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0126-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetRotationL	MM-MMF-VCLNT-PLYR-PublicAPI-0126-001-SetRotationL_command04
+		COMMAND		VideoPlayerUtility1	RotationL		MM-MMF-VCLNT-PLYR-PublicAPI-0126-001-RotationL_command05
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0126
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0127
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0127
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the rotation that is currently applied to the video image when video clip is not opened.
+//!				Uses API elements: NewL(), RotationL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get the rotation that is currently applied to the video image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	RotationL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0127-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	RotationL	MM-MMF-VCLNT-PLYR-PublicAPI-0127-001-RotationL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0127
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0128
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0128
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the rotation in corrupted file.
+//!				Uses API elements: NewL(), OpenFileL(), RotationL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Get the rotation that is currently applied to the video image.
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20), and RotationL() KErrNotReady(-18),
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0128-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0128-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!Error=-18	VideoPlayerUtility1	RotationL	MM-MMF-VCLNT-PLYR-PublicAPI-0128-001-RotationL_command03
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0128
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0129
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0129
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the rotation if no rotation has been set before.
+//!				Uses API elements: NewL(), OpenFileL(), RotationL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Get the rotation that is currently applied to the video image.
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Rotation will be queried without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0129-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0129-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	RotationL	MM-MMF-VCLNT-PLYR-PublicAPI-0129-001-RotationL_command03
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0129
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0130
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0130
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Scales the video image to a specified percentage of its original size when video clip is not opened.
+//!				Uses API elements: NewL(), SetScaleFactorL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Scales the video image to a specified percentage of its original size.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	SetScaleFactorL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0130-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	SetScaleFactorL		MM-MMF-VCLNT-PLYR-PublicAPI-0130-001-SetScaleFactorL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0130
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0131
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0131
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to scale the video image with negative width and height scale of the video image with using anti-aliasing.
+//!				Uses API elements: NewL(), OpenFileL(), SetScaleFactorL(), GetScaleFactorL, Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Scales the video image to a specified percentage of its original size.
+//!				4. Gets the scale factor currently applied to the video image.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video is scaled without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0131-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL			MM-MMF-VCLNT-PLYR-PublicAPI-0131-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetScaleFactorL		MM-MMF-VCLNT-PLYR-PublicAPI-0131-001-SetScaleFactorL_command04
+		COMMAND		VideoPlayerUtility1	GetScaleFactorL		MM-MMF-VCLNT-PLYR-PublicAPI-0131-001-GetScaleFactorL_command05
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0131
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0132
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0132
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to scale the video image with negative width and height scale of the video image without using anti-aliasing.
+//!				Uses API elements: NewL(), OpenFileL(), SetScaleFactorL(), GetScaleFactorL, Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Scales the video image to a specified percentage of its original size.
+//!				4. Gets the scale factor currently applied to the video image.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video is scaled without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0132-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL			MM-MMF-VCLNT-PLYR-PublicAPI-0132-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetScaleFactorL		MM-MMF-VCLNT-PLYR-PublicAPI-0132-001-SetScaleFactorL_command04
+		COMMAND		VideoPlayerUtility1	GetScaleFactorL		MM-MMF-VCLNT-PLYR-PublicAPI-0132-001-GetScaleFactorL_command05
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0132
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0133
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0133
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Gets the scale factor currently applied to the video image when video clip is not opened.
+//!				Uses API elements: NewL(), GetScaleFactorL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Gets the scale factor currently applied to the video image.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	GetScaleFactorL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0133-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	GetScaleFactorL		MM-MMF-VCLNT-PLYR-PublicAPI-0133-001-GetScaleFactorL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0133
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0134
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0134
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Gets the scale factor if no scale factor has been set before.
+//!				Uses API elements: NewL(), OpenFileL(), GetScaleFactorL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Gets the scale factor currently applied to the video image.
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The scale factor is queried without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0134-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL			MM-MMF-VCLNT-PLYR-PublicAPI-0134-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	GetScaleFactorL		MM-MMF-VCLNT-PLYR-PublicAPI-0134-001-GetScaleFactorL_command03
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0134
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0135
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0135
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to select a region of the video image to be displayed when video clip is not opened.
+//!				Uses API elements: NewL(), SetCropRegionL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Selects a region of the video image to be displayed.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	SetCropRegionL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0135-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	SetCropRegionL		MM-MMF-VCLNT-PLYR-PublicAPI-0135-001-SetCropRegionL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0135
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0136
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0136
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Tryng to select a region of the video image to be displayed with negative dimensions.
+//!				Uses API elements: NewL(), OpenFileL(), SetCropRegionL(), GetCropRegionL, Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Selects a region of the video image to be displayed.
+//!				4. Gets the crop region currently applied to the image.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The region is selected witout errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0136-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL			MM-MMF-VCLNT-PLYR-PublicAPI-0136-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	SetCropRegionL		MM-MMF-VCLNT-PLYR-PublicAPI-0136-001-SetCropRegionL_command04
+		COMMAND		VideoPlayerUtility1	GetCropRegionL		MM-MMF-VCLNT-PLYR-PublicAPI-0136-001-GetCropRegionL_command05
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0136
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0137
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0137
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Tryng to get the crop region currently applied to the image when video clip is not opened.
+//!				Uses API elements: NewL(), GetCropRegionL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Gets the crop region currently applied to the image
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	GetCropRegionL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0137-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	GetCropRegionL	MM-MMF-VCLNT-PLYR-PublicAPI-0137-001-GetCropRegionL_command02
+		COMMAND			VideoPlayerUtility1	~					MM-MMF-VCLNT-PLYR-PublicAPI-0137-001-~_command03
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0137
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0138
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0138
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Trying to get the crop region if no crop region has been applied before.
+//!				Uses API elements: NewL(), OpenFileL(), GetCropRegionL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Gets the crop region currently applied to the image
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The region is queried without errors.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0138-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0138-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	GetCropRegionL	MM-MMF-VCLNT-PLYR-PublicAPI-0138-001-GetCropRegionL_command04
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0138
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0139
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0139
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the number of meta data entries associated with this clip when video clip is not opened.
+//!				Uses API elements: NewL(), NumberOfMetaDataEntriesL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get the number of meta data entries associated with this clip.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	NumberOfMetaDataEntriesL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL							MM-MMF-VCLNT-PLYR-PublicAPI-0139-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	NumberOfMetaDataEntriesL	MM-MMF-VCLNT-PLYR-PublicAPI-0139-001-NumberOfMetaDataEntriesL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0139
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0140
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0140
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the number of meta data entries associated with this clip in corrupted file.
+//!				Uses API elements: NewL(), OpenFileL(), NumberOfMetaDataEntriesL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Get the number of meta data entries associated with this clip.
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20), and Prepare() and NumberOfMetaDataEntriesL() KErrNotReady(-18),
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0140-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL			MM-MMF-VCLNT-PLYR-PublicAPI-0140-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND	!Error=-18	VideoPlayerUtility1	NumberOfMetaDataEntriesL	MM-MMF-VCLNT-PLYR-PublicAPI-0140-001-NumberOfMetaDataEntriesL_command04
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0140
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0141
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0141
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the meta data entry when video clip is not opened.
+//!				Uses API elements: NewL(), MetaDataEntryL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get a meta data entry from the clip.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	MetaDataEntryL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0141-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	MetaDataEntryL		MM-MMF-VCLNT-PLYR-PublicAPI-0141-001-MetaDataEntryL_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0141
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0142
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0142
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the meta data entry with negative index from the clip.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), MetaDataEntryL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip.
+//!				4. Get a meta data entry from the clip.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	MetaDataEntryL will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL			MM-MMF-VCLNT-PLYR-PublicAPI-0142-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL		MM-MMF-VCLNT-PLYR-PublicAPI-0142-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	MetaDataEntryL	MM-MMF-VCLNT-PLYR-PublicAPI-0142-001-MetaDataEntryL_command04
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0142
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0143
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0143
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the meta data entry with negative index from corrupted video clip.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), MetaDataEntryL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Prepare the video clip.
+//!				4. Get a meta data entry from the clip.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	OpenFileL() returns KErrCorrupt(-20), and Prepare() and MetaDataEntryL() KErrNotReady(-18),
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL		MM-MMF-VCLNT-PLYR-PublicAPI-0143-001-NewL_command01
+		COMMAND	!AsyncError=-20	VideoPlayerUtility1	OpenFileL	MM-MMF-VCLNT-PLYR-PublicAPI-0143-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	Prepare
+		OUTSTANDING
+		COMMAND	!Error=-18	VideoPlayerUtility1	MetaDataEntryL	MM-MMF-VCLNT-PLYR-PublicAPI-0143-001-MetaDataEntryL_command04
+		COMMAND			VideoPlayerUtility1	Close
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0143
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0144
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0144
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get the controller implementation information associated with the current controller when video clip is not opened.
+//!				Uses API elements: NewL(), ControllerImplementationInformationL().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get the controller implementation information associated with the current controller.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	ControllerImplementationInformationL() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL										MM-MMF-VCLNT-PLYR-PublicAPI-0144-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	ControllerImplementationInformationL
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0144
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0145
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0145
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Sends a synchronous custom command to the controller when video clip is not opened.
+//!				Uses API elements: NewL(), CustomCommandSync().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Sends a synchronous custom command to the controller.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	CustomCommandSync() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL						MM-MMF-VCLNT-PLYR-PublicAPI-0145-001-NewL_command01
+		COMMAND	!Error=-18	VideoPlayerUtility1	CustomCommandSync		MM-MMF-VCLNT-PLYR-PublicAPI-0145-001-CustomCommandSync_command02
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0145
+
+//! START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0146
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0146
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send a synchronous custom command to the controller with negative function number with reference to an "DataFrom".
+//!				Uses API elements: NewL(), OpenFileL(), CustomCommandSync(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Sends a synchronous custom command to the controller
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	CustomCommandSync() will raise panic.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+//! 		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+//! 		COMMAND		VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0146-001-NewL_command01
+//! 		COMMAND		VideoPlayerUtility1	OpenFileL				MM-MMF-VCLNT-PLYR-PublicAPI-0146-001-OpenFileL_command02
+//! 		OUTSTANDING
+//! 		COMMAND		VideoPlayerUtility1	Prepare
+//! 		OUTSTANDING
+//! 		COMMAND		VideoPlayerUtility1	CustomCommandSync		MM-MMF-VCLNT-PLYR-PublicAPI-0146-001-CustomCommandSync_command04
+//! 		COMMAND		VideoPlayerUtility1	Close
+//! 		COMMAND		VideoPlayerUtility1	~
+//! 	END_TEST_BLOCK	!PanicCode=72
+//! END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0146
+
+//! START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0147
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0147
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send a synchronous custom command to the controller with negative function number without reference to an "DataFrom".
+//!				Uses API elements: NewL(), OpenFileL(), CustomCommandSync(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Sends a synchronous custom command to the controller
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	CustomCommandSync() will raise panic.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+//! 		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+//! 		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0147-001-NewL_command01
+//! 		COMMAND		VideoPlayerUtility1	OpenFileL			MM-MMF-VCLNT-PLYR-PublicAPI-0147-001-OpenFileL_command02
+//! 		OUTSTANDING
+//! 		COMMAND		VideoPlayerUtility1	Prepare
+//! 		OUTSTANDING
+//! 		COMMAND		VideoPlayerUtility1	CustomCommandSync	MM-MMF-VCLNT-PLYR-PublicAPI-0147-001-CustomCommandSync_command04
+//! 		COMMAND		VideoPlayerUtility1	Close
+//! 		COMMAND		VideoPlayerUtility1	~
+//! 	END_TEST_BLOCK	!PanicCode=72
+//! END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0147
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0148
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0148
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Sends an asynchronous custom command to the controller when video clip is not opened.
+//!				Uses API elements: NewL(), CustomCommandAsync().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Sends an asynchronous custom command to the controller.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	CustomCommandASync() will return the error KErrNotReady.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND			VideoPlayerUtility1	NewL							MM-MMF-VCLNT-PLYR-PublicAPI-0148-001-NewL_command01
+		COMMAND	!AsyncError=-18	VideoPlayerUtility1	CustomCommandAsync		MM-MMF-VCLNT-PLYR-PublicAPI-0148-001-CustomCommandAsync_command02
+		OUTSTANDING
+		COMMAND			VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0148
+
+//! START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0149
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0149
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send an asynchronous custom command to the controller with negative function number with reference to an "DataFrom".
+//!				Uses API elements: NewL(), OpenFileL(), CustomCommandAsync(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Sends an asynchronous custom command to the controller
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	CustomCommandASync() will raise panic.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+//! 		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+//! 		COMMAND		VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0149-001-NewL_command01
+//! 		COMMAND		VideoPlayerUtility1	OpenFileL				MM-MMF-VCLNT-PLYR-PublicAPI-0149-001-OpenFileL_command02
+//! 		OUTSTANDING
+//! 		COMMAND		VideoPlayerUtility1	Prepare
+//! 		OUTSTANDING
+//! 		COMMAND		VideoPlayerUtility1	CustomCommandAsync		MM-MMF-VCLNT-PLYR-PublicAPI-0149-001-CustomCommandAsync_command04
+//! 		OUTSTANDING
+//! 		COMMAND		VideoPlayerUtility1	Close
+//! 		COMMAND		VideoPlayerUtility1	~
+//! 	END_TEST_BLOCK	!PanicCode=72
+//! END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0149
+
+//! START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0150
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0150
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Send an asynchronous custom command to the controller with negative function number without reference to an "DataFrom".
+//!				Uses API elements: NewL(), OpenFileL(), CustomCommandAsync(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Sends an asynchronous custom command to the controller
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	CustomCommandASync() will raise panic.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+//! 		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+//! 		COMMAND		VideoPlayerUtility1	NewL				MM-MMF-VCLNT-PLYR-PublicAPI-0150-001-NewL_command01
+//! 		COMMAND		VideoPlayerUtility1	OpenFileL			MM-MMF-VCLNT-PLYR-PublicAPI-0150-001-OpenFileL_command02
+//! 		OUTSTANDING
+//! 		COMMAND		VideoPlayerUtility1	Prepare
+//! 		OUTSTANDING
+//! 		COMMAND		VideoPlayerUtility1	CustomCommandAsync	MM-MMF-VCLNT-PLYR-PublicAPI-0150-001-CustomCommandAsync_command04
+//! 		OUTSTANDING
+//! 		COMMAND		VideoPlayerUtility1	Close
+//! 		COMMAND		VideoPlayerUtility1	~
+//! 	END_TEST_BLOCK	!PanicCode=72
+//! END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0150
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0151
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0151
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Get a controller's DRM custom command implementation when video clip is not opened.
+//!				Uses API elements: NewL(), GetDRMCustomCommand().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Get a controller's DRM custom command implementation.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The controller's DRM custom command implementation is queried.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL					MM-MMF-VCLNT-PLYR-PublicAPI-0151-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	GetDRMCustomCommand
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0151
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0152
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0152
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Stop the video player from using direct screen access (DSA) when video clip is not opened.
+//!				Uses API elements: NewL(), OpenFileL(), StopDirectScreenAccessL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Stop the video player from using direct screen access.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The video player is not using direct screen access anymore.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL						MM-MMF-VCLNT-PLYR-PublicAPI-0152-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	StopDirectScreenAccessL
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0152
+
+START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0153
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0153
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Stop the video player from using direct screen access (DSA) without start using direct screen access (DSA) it before.
+//!				Uses API elements: NewL(), StopDirectScreenAccessL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Stop the video player from using direct screen access.
+//!				4. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	The video player is not using direct screen access anymore.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+		COMMAND		VideoPlayerUtility1	NewL						MM-MMF-VCLNT-PLYR-PublicAPI-0153-001-NewL_command01
+		COMMAND		VideoPlayerUtility1	OpenFileL					MM-MMF-VCLNT-PLYR-PublicAPI-0153-001-OpenFileL_command02
+		OUTSTANDING
+		COMMAND		VideoPlayerUtility1	StopDirectScreenAccessL
+		COMMAND		VideoPlayerUtility1	Close
+		COMMAND		VideoPlayerUtility1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0153
+
+//! START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0154
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0154
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Start the video player to use direct screen access (DSA) when video clip is not opened..
+//!				Uses API elements: NewL(), StartDirectScreenAccessL()
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Start the video player to use direct screen access.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	StartDirectScreenAccessL() will raise panic.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+//! 		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+//! 		COMMAND		VideoPlayerUtility1	NewL							MM-MMF-VCLNT-PLYR-PublicAPI-0154-001-NewL_command01
+//! 		COMMAND		VideoPlayerUtility1	StartDirectScreenAccessL
+//! 		COMMAND		VideoPlayerUtility1	~
+//! 	END_TEST_BLOCK	!PanicCode=59
+//! END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0154
+
+//! START_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0155
+//! @SYMTestCaseID		MM-MMF-VCLNT-PLYR-PublicAPI-0155
+//! @SYMAPI			CVideoPlayerUtility
+//! @SYMAuthor			Sergei Tveritin
+//! @SYMCreationDate		11/05/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+//! @SYMTestCaseDesc		Start twice the video player to use direct screen access (DSA).
+//!				Uses API elements: NewL(), OpenFileL(), StartDirectScreenAccessL(),  StartDirectScreenAccessL(), Close().
+//! @SYMTestActions		1. Create CVideoPlayerUtility object.
+//!				2. Open a video clip from file.
+//!				3. Start the video player to use direct screen access.
+//!				4. Start the video player to use direct screen access.
+//!				5. Close file.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	StartDirectScreenAccessL() will raise panic after second attempt.
+//! @SYMTestType		CIT
+//! 	START_TEST_BLOCK	50	T_VideoPlayerUtility	\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+//! 		CREATE_OBJECT	CVideoPlayerUtility	VideoPlayerUtility1
+//! 		COMMAND		VideoPlayerUtility1	NewL							MM-MMF-VCLNT-PLYR-PublicAPI-0155-001-NewL_command01
+//! 		COMMAND		VideoPlayerUtility1	OpenFileL						MM-MMF-VCLNT-PLYR-PublicAPI-0155-001-OpenFileL_command02
+//! 		OUTSTANDING
+//! 		COMMAND		VideoPlayerUtility1	StartDirectScreenAccessL
+//! 		COMMAND		VideoPlayerUtility1	StartDirectScreenAccessL
+//! 		COMMAND		VideoPlayerUtility1	Close
+//! 		COMMAND		VideoPlayerUtility1	~
+//! 	END_TEST_BLOCK	!PanicCode=59
+//! END_TESTCASE 			MM-MMF-VCLNT-PLYR-PublicAPI-0155
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/scripts/setup-MM-MMF-VCLNT-PLYR-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,37 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\t_videoplayerutility\
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.script	${SYSDRIVE}\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.script
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.script
+
+RUN_UTILS CopyFile	z:\multimedia\t_multimedia.tcs		${SYSDRIVE}\multimedia\t_multimedia.tcs
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia.tcs
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini		${SYSDRIVE}\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini
+
+RUN_UTILS CopyFile	z:\multimedia\t_videoplayerutility\alter.mp4	${SYSDRIVE}\multimedia\t_videoplayerutility\alter.mp4
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_videoplayerutility\alter.mp4
+
+RUN_UTILS CopyFile	z:\multimedia\t_videoplayerutility\xvid_clock.avi	${SYSDRIVE}\multimedia\t_videoplayerutility\xvid_clock.avi
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_videoplayerutility\xvid_clock.avi
+
+RUN_UTILS CopyFile	z:\multimedia\t_videoplayerutility\corrupted.avi	${SYSDRIVE}\multimedia\t_videoplayerutility\corrupted.avi
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_videoplayerutility\corrupted.avi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/src/T_MMDataVideoPlayerUtility.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,2143 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataVideoPlayerUtility.h"
+#include "T_MMUtil.h"
+
+/*@{*/
+_LIT(KScreenRectax,					"screenrectax");
+_LIT(KScreenRectay,					"screenrectay");
+_LIT(KScreenRectbx,					"screenrectbx");
+_LIT(KScreenRectby,					"screenrectby");
+_LIT(KClipRectax,					"cliprectax");
+_LIT(KClipRectay,					"cliprectay");
+_LIT(KClipRectbx,					"cliprectbx");
+_LIT(KClipRectby,					"cliprectby");
+_LIT(KInvalidSession,				"invalidsession");
+_LIT(KInvalidScreenDevice,			"invalidscreendevice");
+_LIT(KInvalidWindow,				"invalidwindow");
+_LIT(KFileName,						"filename");
+_LIT(KVideoControllerUid,			"videocontrolleruid");
+_LIT(KOpenFileType,					"openfiletype");
+_LIT(KAccessPointID,				"accesspointid");
+_LIT(KMimeType,						"mimetype");
+_LIT(KUrl,							"url");
+_LIT(KStartPoint,					"startpoint");
+_LIT(KEndPoint,						"endpoint");
+_LIT(KVideoLoadingProgress,			"videoloadingprogress");
+_LIT(KDisplayMode,					"displaymode");
+_LIT(KVideoFrameRate,				"videoframerate");
+_LIT(KVideoFrameWidth,				"videoframewidth");
+_LIT(KVideoFrameHeight,				"videoframeheight");
+_LIT(KVideoFormat,					"videoformat");
+_LIT(KVideoBitRate,					"videobitrate");
+_LIT(KAudioBitRate,					"audiobitrate");
+_LIT(KAudioEnabled,					"audioenabled");
+_LIT(KPosition,						"position");
+_LIT(KDuration,						"duration");
+_LIT(KVolume,						"volume");
+_LIT(KBalance,						"balance");
+_LIT(KRotation,						"rotation");
+_LIT(KWidthPercentage,				"widthpercentage");
+_LIT(KHeightPercentage,				"heightpercentage");
+_LIT(KAntiAliasing,					"antialiasing");
+_LIT(KNrOfMetaDataEntries,			"nrofmetadataentries");
+_LIT(KMetaDataEntryIndex,			"metadataentryindex");
+_LIT(KFunction,						"function");
+_LIT(KUseDataFrom,					"usedatafrom");
+_LIT(KDataTo1,						"datato1");
+_LIT(KDataTo2,						"datato2");
+_LIT(KInvalidFileHandle,			"invalidfilehandle");
+_LIT(KName,							"name");
+_LIT(KValue,						"value");
+
+_LIT(KCmdNewL,						"NewL");
+_LIT(KCmdOpenFileL,					"OpenFileL");
+_LIT(KCmdOpenDesL,					"OpenDesL");
+_LIT(KCmdOpenUrlL,					"OpenUrlL");
+_LIT(KCmdPrepare,					"Prepare");
+_LIT(KCmdClose,						"Close");
+_LIT(KCmdPlay,						"Play");
+_LIT(KCmdStop,						"Stop");
+_LIT(KCmdPauseL,					"PauseL");
+_LIT(KCmdSetPriorityL,				"SetPriorityL");
+_LIT(KCmdPriorityL,					"PriorityL");
+_LIT(KCmdSetDisplayWindowL,			"SetDisplayWindowL");
+_LIT(KCmdRegLoadNotification,		"RegisterForVideoLoadingNotification");
+_LIT(KCmdGetVideoLoadingProgressL,	"GetVideoLoadingProgressL");
+_LIT(KCmdGetFrameL,					"GetFrameL");
+_LIT(KCmdRefreshFrameL,				"RefreshFrameL");
+_LIT(KCmdVideoFrameRateL,			"VideoFrameRateL");
+_LIT(KCmdSetVideoFrameRateL,		"SetVideoFrameRateL");
+_LIT(KCmdVideoFrameSizeL,			"VideoFrameSizeL");
+_LIT(KCmdVideoFormatMimeType,		"VideoFormatMimeType");
+_LIT(KCmdVideoBitRateL,				"VideoBitRateL");
+_LIT(KCmdAudioBitRateL,				"AudioBitRateL");
+_LIT(KCmdAudioTypeL,				"AudioTypeL");
+_LIT(KCmdAudioEnabledL,				"AudioEnabledL");
+_LIT(KCmdSetPositionL,				"SetPositionL");
+_LIT(KCmdPositionL,					"PositionL");
+_LIT(KCmdDurationL,					"DurationL");
+_LIT(KCmdSetVolumeL,				"SetVolumeL");
+_LIT(KCmdVolume,					"Volume");
+_LIT(KCmdMaxVolume,					"MaxVolume");
+_LIT(KCmdSetBalanceL,				"SetBalanceL");
+_LIT(KCmdBalance,					"Balance");
+_LIT(KCmdSetRotationL,				"SetRotationL");
+_LIT(KCmdRotationL,					"RotationL");
+_LIT(KCmdSetScaleFactorL,			"SetScaleFactorL");
+_LIT(KCmdGetScaleFactorL,			"GetScaleFactorL");
+_LIT(KCmdSetCropRegionL,			"SetCropRegionL");
+_LIT(KCmdGetCropRegionL,			"GetCropRegionL");
+_LIT(KCmdNumberOfMetaDataEntriesL,	"NumberOfMetaDataEntriesL");
+_LIT(KCmdMetaDataEntryL,			"MetaDataEntryL");
+_LIT(KCmdControllerImplInfoL,		"ControllerImplementationInformationL");
+_LIT(KCmdCustomCommandSync,			"CustomCommandSync");
+_LIT(KCmdCustomCommandASync,		"CustomCommandAsync");
+_LIT(KCmdGetDRMCustomCommand,		"GetDRMCustomCommand");
+_LIT(KCmdStopDirectScreenAccessL,	"StopDirectScreenAccessL");
+_LIT(KCmdStartDirectScreenAccessL,	"StartDirectScreenAccessL");
+_LIT(KCmdDestructor,				"~");
+
+_LIT(KTDesC,						"TDesC");
+_LIT(KRFile,						"RFile");
+_LIT(KTMMSource,					"TMMSource");
+/*@}*/
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+/**
+Two phase constructor
+@internalComponent
+@return Data Dictionary object
+@pre None
+@post None
+*/
+CT_MMDataVideoPlayerUtility* CT_MMDataVideoPlayerUtility::NewL()
+	{
+	CT_MMDataVideoPlayerUtility*	ret = new (ELeave) CT_MMDataVideoPlayerUtility();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+/**
+CT_MMDataVideoPlayerUtility constructor.
+@internalComponent
+@return N/A
+@pre None
+@post CT_MMDataVideoPlayerUtility 1st stage constructor
+*/
+CT_MMDataVideoPlayerUtility::CT_MMDataVideoPlayerUtility()
+:	iVideoPlayerUtility(NULL)
+,	iApiAsyncErrorIndex(0)
+,	iWsSessionConnected(EFalse)
+,	iScrDevice(NULL)
+,	iInvalidScrDevice(NULL)
+,	iWindowGroup(NULL)
+,	iWindow(NULL)
+,	iInvalidWindow(NULL)
+,	iActiveCustomCommandAsync(NULL)
+,	iFileOpened(EFalse)
+,	iBuffer(NULL)
+,	iBufferPtr(NULL)
+	{
+	}
+
+void CT_MMDataVideoPlayerUtility::ConstructL()
+/**
+ * Second phase construction
+ *
+ * @internalComponent
+ *
+ * @return	N/A
+ *
+ * @pre		None
+ * @post	None
+ *
+ * @leave	system wide error
+ */
+	{
+	User::LeaveIfError(iFs.Connect());
+
+	User::LeaveIfError(iWsSession.Connect());
+	iWsSessionConnected = ETrue;
+
+	iScrDevice = new (ELeave) CWsScreenDevice(iWsSession);
+	User::LeaveIfError(iScrDevice->Construct());
+
+	iInvalidScrDevice = new (ELeave) CWsScreenDevice(iWsSession);
+
+	iWindowGroup = new (ELeave) RWindowGroup(iWsSession);
+	User::LeaveIfError(iWindowGroup->Construct(reinterpret_cast<TUint32>(iWindowGroup), EFalse));
+
+	iWindow = new (ELeave) RWindow(iWsSession);
+	User::LeaveIfError(iWindow->Construct(*iWindowGroup, reinterpret_cast<TUint32>(iWindowGroup+1)));
+    iWindow->SetExtent(TPoint(0,0), TSize(100,100));
+    iWindow->SetVisible(ETrue);
+    iWindow->Activate();
+    iWsSession.Flush();
+
+	iInvalidWindow = new (ELeave) RWindow(iWsSession);
+	iActiveCustomCommandAsync = CActiveCallback::NewL(*this);
+	}
+
+/**
+CT_MMDataVideoPlayerUtility destructor
+@internalComponent
+@return N/A
+@pre None
+@post releases CT_MMDataVideoPlayerUtility heap memory
+*/
+CT_MMDataVideoPlayerUtility::~CT_MMDataVideoPlayerUtility()
+	{
+	DestroyData();
+
+	if ( iWindow != NULL )
+		{
+		iWindow->Close();
+		delete iWindow;
+		iWindow = NULL;
+		}
+
+	if ( iInvalidWindow != NULL )
+		{
+		delete iInvalidWindow;
+		iInvalidWindow = NULL;
+		}
+
+	if ( iWindowGroup != NULL )
+		{
+		iWindowGroup->Close();
+		delete iWindowGroup;
+		}
+
+	delete iScrDevice;
+	iScrDevice = NULL;
+
+	delete iInvalidScrDevice;
+	iInvalidScrDevice = NULL;
+
+	if ( iWsSessionConnected )
+		{
+		iWsSession.Close();
+		iWsSessionConnected=EFalse;
+		}
+
+	iFs.Close();
+
+	delete iActiveCustomCommandAsync;
+	iActiveCustomCommandAsync = NULL;
+	}
+
+TAny* CT_MMDataVideoPlayerUtility::GetObject()
+/**
+ * Return a pointer to the object that the data wraps
+ *
+ * @return pointer to the object that the data wraps
+ */
+	{
+	return iVideoPlayerUtility;
+	}
+
+void CT_MMDataVideoPlayerUtility::SetObjectL(TAny* aObject)
+	{
+	DestroyData();
+	iVideoPlayerUtility	= static_cast<CVideoPlayerUtility*> (aObject);
+	}
+
+void CT_MMDataVideoPlayerUtility::DisownObjectL()
+	{
+	iVideoPlayerUtility = NULL;
+	}
+
+/**
+Releases CT_MMDataVideoPlayerUtility dynamic memory.
+@internalComponent
+@return void
+@pre None
+@post All dynamic memory deallocated
+*/
+void CT_MMDataVideoPlayerUtility::DestroyData()
+	{
+	delete iVideoPlayerUtility;
+	iVideoPlayerUtility = NULL;
+
+	if (iFileOpened)
+		{
+		iFile.Close();
+		iFileOpened = EFalse;
+		}
+
+	delete iBuffer;
+	iBuffer	= NULL;
+
+	delete iBufferPtr;
+	iBufferPtr	= NULL;
+	}
+
+TBool CT_MMDataVideoPlayerUtility::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+/**
+ * Process a command read from the ini file
+ *
+ * @param aCommand			The command to process
+ * @param aSection			The section in the ini containing data for the command
+ * @param aAsyncErrorIndex	Command index for async calls to return errors to
+ *
+ * @return					ETrue if the command is processed
+ *
+ * @leave					System wide error
+ */
+	{
+	TBool	ret=ETrue;
+
+	if (aCommand == KCmdNewL)
+		{
+		DoCmdConstructor(aSection);
+		}
+	else if(aCommand == KCmdOpenFileL)
+		{
+		DoCmdOpenFileL(aSection, aAsyncErrorIndex);
+		}
+	else if(aCommand == KCmdOpenDesL)
+		{
+		DoCmdOpenDesL(aSection, aAsyncErrorIndex);
+		}
+	else if(aCommand == KCmdOpenUrlL)
+		{
+		DoCmdOpenUrlL(aSection, aAsyncErrorIndex);
+		}
+	else if(aCommand == KCmdPrepare)
+		{
+		DoCmdPrepare(aAsyncErrorIndex);
+		}
+	else if(aCommand == KCmdClose)
+		{
+		DoCmdClose();
+		}
+	else if(aCommand == KCmdPlay)
+		{
+		DoCmdPlay(aSection, aAsyncErrorIndex);
+		}
+	else if(aCommand == KCmdStop)
+		{
+		DoCmdStop();
+		}
+	else if(aCommand == KCmdPauseL)
+		{
+		DoCmdPauseL();
+		}
+	else if(aCommand == KCmdSetPriorityL)
+		{
+		DoCmdSetPriorityL(aSection);
+		}
+	else if(aCommand == KCmdPriorityL)
+		{
+		DoCmdPriorityL(aSection);
+		}
+	else if(aCommand == KCmdSetDisplayWindowL)
+		{
+		DoCmdSetDisplayWindowL(aSection);
+		}
+	else if(aCommand == KCmdRegLoadNotification)
+		{
+		DoCmdRegisterForVideoLoadingNotification();
+		}
+	else if(aCommand == KCmdGetVideoLoadingProgressL)
+		{
+		DoCmdGetVideoLoadingProgressL(aSection);
+		}
+	else if(aCommand == KCmdGetFrameL)
+		{
+		DoCmdGetFrameL(aSection, aAsyncErrorIndex);
+		}
+	else if(aCommand == KCmdRefreshFrameL)
+		{
+		DoCmdRefreshFrameL();
+		}
+	else if(aCommand == KCmdVideoFrameRateL)
+		{
+		DoCmdVideoFrameRateL(aSection);
+		}
+	else if(aCommand == KCmdSetVideoFrameRateL)
+		{
+		DoCmdSetVideoFrameRateL(aSection);
+		}
+	else if(aCommand == KCmdVideoFrameSizeL)
+		{
+		DoCmdVideoFrameSizeL(aSection);
+		}
+	else if(aCommand == KCmdVideoFormatMimeType)
+		{
+		DoCmdVideoFormatMimeTypeL(aSection);
+		}
+	else if(aCommand == KCmdVideoBitRateL)
+		{
+		DoCmdVideoBitRateL(aSection);
+		}
+	else if(aCommand == KCmdAudioBitRateL)
+		{
+		DoCmdAudioBitRateL(aSection);
+		}
+	else if(aCommand == KCmdAudioTypeL)
+		{
+		DoCmdAudioTypeL(aSection);
+		}
+	else if(aCommand == KCmdAudioEnabledL)
+		{
+		DoCmdAudioEnabledL(aSection);
+		}
+	else if(aCommand == KCmdSetPositionL)
+		{
+		DoCmdSetPositionL(aSection);
+		}
+	else if(aCommand == KCmdPositionL)
+		{
+		DoCmdPositionL(aSection);
+		}
+	else if(aCommand == KCmdDurationL)
+		{
+		DoCmdDurationL(aSection);
+		}
+	else if(aCommand == KCmdSetVolumeL)
+		{
+		DoCmdSetVolumeL(aSection);
+		}
+	else if(aCommand == KCmdVolume)
+		{
+		DoCmdVolume(aSection);
+		}
+	else if(aCommand == KCmdMaxVolume)
+		{
+		DoCmdMaxVolume(aSection);
+		}
+	else if(aCommand == KCmdSetBalanceL)
+		{
+		DoCmdSetBalanceL(aSection);
+		}
+	else if(aCommand == KCmdBalance)
+		{
+		DoCmdBalance(aSection);
+		}
+	else if(aCommand == KCmdSetRotationL)
+		{
+		DoCmdSetRotationL(aSection);
+		}
+	else if(aCommand == KCmdRotationL)
+		{
+		DoCmdRotationL(aSection);
+		}
+	else if(aCommand == KCmdSetScaleFactorL)
+		{
+		DoCmdSetScaleFactorL(aSection);
+		}
+	else if(aCommand == KCmdGetScaleFactorL)
+		{
+		DoCmdGetScaleFactorL(aSection);
+		}
+	else if(aCommand == KCmdSetCropRegionL)
+		{
+		DoCmdSetCropRegionL(aSection);
+		}
+	else if(aCommand == KCmdGetCropRegionL)
+		{
+		DoCmdGetCropRegionL(aSection);
+		}
+	else if(aCommand == KCmdNumberOfMetaDataEntriesL)
+		{
+		DoCmdNumberOfMetaDataEntriesL(aSection);
+		}
+	else if(aCommand == KCmdMetaDataEntryL)
+		{
+		DoCmdMetaDataEntryL(aSection);
+		}
+	else if(aCommand == KCmdControllerImplInfoL)
+		{
+		DoCmdControllerImplementationInformationL();
+		}
+	else if(aCommand == KCmdCustomCommandSync)
+		{
+		DoCmdCustomCommandSyncL(aSection);
+		}
+	else if(aCommand == KCmdCustomCommandASync)
+		{
+		DoCmdCustomCommandASyncL(aSection, aAsyncErrorIndex);
+		}
+	else if(aCommand == KCmdGetDRMCustomCommand)
+		{
+		DoCmdGetDRMCustomCommand();
+		}
+	else if(aCommand == KCmdStopDirectScreenAccessL)
+		{
+		DoCmdStopDirectScreenAccessL();
+		}
+	else if(aCommand == KCmdStartDirectScreenAccessL)
+		{
+		DoCmdStartDirectScreenAccessL();
+		}
+	else if(aCommand == KCmdDestructor)
+		{
+		DoCmdDestructor();
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdConstructor(const TDesC& aSection)
+	{
+	// Read priority from INI file
+	TInt	priority;
+	if ( !CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		priority=EMdaPriorityNormal;
+		}
+
+	// Read priorityPreference from INI file
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceTimeAndQuality;
+		}
+
+	// Read session parameter from INI file
+	TBool	invalidSession;
+	if ( !GetBoolFromConfig(aSection, KInvalidSession(), invalidSession) )
+		{
+		invalidSession = EFalse;
+		}
+
+	RWsSession*	wSession = NULL;
+	if (!invalidSession)
+		{
+		wSession = &iWsSession;
+		}
+	else
+		{
+		wSession = &iInvalidWsSession;
+		}
+
+	// Read screenDevice parameter from INI file
+	TBool	invalidScrDevice = EFalse;
+	GetBoolFromConfig(aSection, KInvalidScreenDevice(), invalidScrDevice);
+
+	CWsScreenDevice*	scrDevice = iScrDevice;
+	if (invalidScrDevice)
+		{
+		scrDevice = iInvalidScrDevice;
+		}
+
+	// Read window parameter from INI file
+	TBool	invalidWindow = EFalse;
+	GetBoolFromConfig(aSection, KInvalidWindow(), invalidWindow);
+
+	RWindow*	window = iWindow;
+	if (invalidWindow)
+		{
+		window = iInvalidWindow;
+		}
+
+	// Temporary coordinate variables
+	TInt	ax = 0;
+	TInt	ay = 0;
+	TInt	bx = 0;
+	TInt	by = 0;
+
+	// Read screenRectangle coordinates from INI file
+	GetIntFromConfig(aSection, KScreenRectax(), ax);
+	GetIntFromConfig(aSection, KScreenRectay(), ay);
+	GetIntFromConfig(aSection, KScreenRectbx(), bx);
+	GetIntFromConfig(aSection, KScreenRectby(), by);
+
+	TRect	screenRect(ax, ay, bx, by);
+
+	ax = 0;
+	ay = 0;
+	bx = 0;
+	by = 0;
+
+	// Read clipRectangle coordinates from INI file
+	GetIntFromConfig(aSection, KClipRectax(), ax);
+	GetIntFromConfig(aSection, KClipRectay(), ay);
+	GetIntFromConfig(aSection, KClipRectbx(), bx);
+	GetIntFromConfig(aSection, KClipRectby(), by);
+
+	TRect	clipRect(ax, ay, bx, by);
+
+	TRAPD(err, iVideoPlayerUtility = CVideoPlayerUtility::NewL(*this, priority, priorityPreference, *wSession, *scrDevice, *window, screenRect, clipRect));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::NewL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdOpenFileL(const TDesC& aSection, TInt aAsyncErrorIndex)
+	{
+	iApiAsyncErrorIndex = aAsyncErrorIndex;
+
+	// Read filename from INI file
+	TPtrC filename;
+	if (!GetStringFromConfig(aSection, KFileName(), filename))
+		{
+		ERR_PRINTF2(_L("Can not call OpenFileL. Parameter %S is missing in INI file."), &KFileName());
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		CT_MMUtil::GetControllerAndFormatUidL(*this, filename, KUidMediaTypeVideo, EFalse, iVideoControllerUid, iVideoFormatUid);
+		}
+
+	// Use default video controller Uid unless one is passed in
+	TInt	videoControllerId;
+	if ( GetHexFromConfig(aSection, KVideoControllerUid(), videoControllerId) )
+		{
+		iVideoControllerUid=TUid::Uid(videoControllerId);
+		}
+
+	// Read Open type (TDesC, RFile, TMMSource) from INI file
+	TPtrC 	openFileType = KTDesC();
+	GetStringFromConfig(aSection, KOpenFileType(), openFileType);
+
+	if (openFileType == KRFile())
+		{
+		if (iFileOpened)
+			{
+			iFile.Close();
+			iFileOpened = EFalse;
+			}
+		TBool	invalidFileHandle = EFalse;
+		GetBoolFromConfig(aSection, KInvalidFileHandle(), invalidFileHandle);
+		if (!invalidFileHandle)
+			{
+			User::LeaveIfError(iFile.Open(iFs, filename, EFileShareReadersOnly));
+			iFileOpened = ETrue;
+			}
+		TRAPD(err, iVideoPlayerUtility->OpenFileL(iFile, iVideoControllerUid));
+		if ( err != KErrNone )
+			{
+			ERR_PRINTF2(_L("CVideoPlayerUtility::OpenFileL failed with error %d."), err);
+			SetError(err);
+			}
+		else
+			{
+			IncOutstanding();
+			}
+		}
+	else if (openFileType == KTMMSource())
+		{
+		TMMFileSource	videoSource(filename);
+		TRAPD(err, iVideoPlayerUtility->OpenFileL(videoSource, iVideoControllerUid));
+		if ( err != KErrNone )
+			{
+			ERR_PRINTF2(_L("CVideoPlayerUtility::OpenFileL failed with error %d."), err);
+			SetError(err);
+			}
+		else
+			{
+			IncOutstanding();
+			}
+		}
+	else
+		{
+		TRAPD(err, iVideoPlayerUtility->OpenFileL(filename, iVideoControllerUid));
+		if (err != KErrNone)
+			{
+			ERR_PRINTF2(_L("CVideoPlayerUtility::OpenFileL failed with error %d."), err);
+			SetError(err);
+			}
+		else
+			{
+			IncOutstanding();
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdOpenDesL(const TDesC& aSection, TInt aAsyncErrorIndex)
+	{
+	iApiAsyncErrorIndex = aAsyncErrorIndex;
+
+	// Read filename from INI file
+	TPtrC	filename;
+	if (!GetStringFromConfig(aSection, KFileName(), filename))
+		{
+		ERR_PRINTF2(_L("Can not call OpenFileL. Parameter %S is missing in INI file."), &KFileName());
+		SetBlockResult(EFail);
+		}
+	CT_MMUtil::GetControllerAndFormatUidL(*this, filename, KUidMediaTypeVideo, EFalse, iVideoControllerUid, iVideoFormatUid);
+
+	// Use default video controller Uid unless one is passed in
+	TInt	videoControllerId;
+	if ( GetHexFromConfig(aSection, KVideoControllerUid(), videoControllerId) )
+		{
+		iVideoControllerUid=TUid::Uid(videoControllerId);
+		}
+
+	if ( iFileOpened )
+		{
+   		iFile.Close();
+   		iFileOpened=EFalse;
+   		}
+
+	User::LeaveIfError(iFile.Open(iFs, filename, EFileShareReadersOnly));
+	iFileOpened = ETrue;
+	TInt	size = 0;
+	User::LeaveIfError(iFile.Size(size));
+
+    delete iBuffer;
+    iBuffer = HBufC8::NewL(size);
+    delete iBufferPtr;
+    iBufferPtr = new (ELeave) TPtr8(iBuffer->Des());
+    User::LeaveIfError(iFile.Read(*iBufferPtr));
+
+	TRAPD(err, iVideoPlayerUtility->OpenDesL(*iBufferPtr, iVideoControllerUid));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::OpenDesL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		IncOutstanding();
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdOpenUrlL(const TDesC& aSection, TInt aAsyncErrorIndex)
+	{
+	iApiAsyncErrorIndex = aAsyncErrorIndex;
+
+	// Read url from INI file
+	TPtrC	url;
+	if (!GetStringFromConfig(aSection, KUrl(), url))
+		{
+		ERR_PRINTF2(_L("Can not call OpenFileL. Parameter %S is missing in INI file."), &KFileName());
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		CT_MMUtil::GetControllerAndFormatUidL(*this, url, KUidMediaTypeVideo, EFalse, iVideoControllerUid, iVideoFormatUid);
+		}
+
+	// Read accesspoint ID from INI file
+	TInt	accessPointID = KUseDefaultIap;
+	GetIntFromConfig(aSection, KAccessPointID(), accessPointID);
+
+	// Read MIME type from INI file
+	HBufC8*	mimeType = NULL;
+	TPtrC	mimeTypeStr;
+	if (GetStringFromConfig(aSection, KMimeType(), mimeTypeStr))
+		{
+		mimeType = HBufC8::NewLC(mimeTypeStr.Length());
+		mimeType->Des().Copy(mimeTypeStr);
+		}
+	else
+		{
+		mimeType = HBufC8::NewLC(0);
+		mimeType->Des().Copy(KNullDesC8);
+		}
+
+	// Use default video controller Uid unless one is passed in
+	TInt	videoControllerId;
+	if ( GetHexFromConfig(aSection, KVideoControllerUid(), videoControllerId) )
+		{
+		iVideoControllerUid=TUid::Uid(videoControllerId);
+		}
+
+	TRAPD(err, iVideoPlayerUtility->OpenUrlL(url, accessPointID, *mimeType, iVideoControllerUid));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::OpenUrlL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		IncOutstanding();
+		}
+
+	CleanupStack::PopAndDestroy(1, mimeType);
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdPrepare(TInt aAsyncErrorIndex)
+	{
+	iApiAsyncErrorIndex = aAsyncErrorIndex;
+	iVideoPlayerUtility->Prepare();
+	IncOutstanding();
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdClose()
+	{
+	iVideoPlayerUtility->Close();
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdPlay(const TDesC& aSection, TInt aAsyncErrorIndex)
+	{
+	iApiAsyncErrorIndex = aAsyncErrorIndex;
+
+	// Read the point at which to start playback from INI file
+	TTimeIntervalMicroSeconds 	startPoint = 0;
+	TInt	tmpStartPoint;
+	if (GetIntFromConfig(aSection, KStartPoint(), tmpStartPoint))
+		{
+		startPoint = (TInt64)tmpStartPoint;
+		}
+
+	// Read the point at which to terminate playback from INI file
+	TTimeIntervalMicroSeconds 	endPoint = 0;
+	TInt	tmpEndPoint;
+	if (GetIntFromConfig(aSection, KEndPoint(), tmpEndPoint))
+		{
+		endPoint = (TInt64)tmpEndPoint;
+		iVideoPlayerUtility->Play(startPoint, endPoint);
+		}
+	else
+		{
+		iVideoPlayerUtility->Play();
+		}
+
+	IncOutstanding();
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdStop()
+	{
+	TInt 	err = iVideoPlayerUtility->Stop();
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::Stop failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdPauseL()
+	{
+	TRAPD(err, iVideoPlayerUtility->PauseL());
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::PauseL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdSetPriorityL(const TDesC& aSection)
+	{
+	// Read priority from INI file
+	TInt 	priority;
+	if ( !CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		priority = EMdaPriorityNormal;
+		ERR_PRINTF1(_L("Can not call SetPriorityL. Parameter is missing in INI file."));
+		SetBlockResult(EFail);
+		}
+
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceTimeAndQuality;
+		ERR_PRINTF1(_L("Can not call SetPriorityL. Parameter is missing in INI file."));
+		SetBlockResult(EFail);
+		}
+
+	TRAPD(err, iVideoPlayerUtility->SetPriorityL(priority, priorityPreference));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::SetPriorityL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdPriorityL(const TDesC& aSection)
+	{
+	TInt					priority;
+	TMdaPriorityPreference	priorityPref;
+	TRAPD(err, iVideoPlayerUtility->PriorityL(priority, priorityPref));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::PriorityL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF3(_L("Playback priority (%d) time and quality preference (%d)"), priority, priorityPref);
+
+		// Read expected priority from INI file
+		TInt	expectedPriority;
+		if ( CT_MMUtil::ReadMdaPriority(*this, aSection, expectedPriority) )
+			{
+			if ( priority != expectedPriority )
+				{
+				ERR_PRINTF3(_L("Playback priority actual(%d)!=expected(%d)"), priority, expectedPriority);
+				SetBlockResult(EFail);
+				}
+			}
+
+		// Read expected priorityPreference from INI file
+		TMdaPriorityPreference 	expectedPriorityPref;
+		if ( CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, expectedPriorityPref) )
+			{
+			if (priorityPref != expectedPriorityPref)
+				{
+				ERR_PRINTF3(_L("Playback time and quality preference actual(%d)!=expected(%d)"), priorityPref, expectedPriorityPref);
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdSetDisplayWindowL(const TDesC& aSection)
+	{
+	// Read session parameter from INI file
+	TBool	invalidSession = EFalse;
+	GetBoolFromConfig(aSection, KInvalidSession(), invalidSession);
+	RWsSession*	wSession = NULL;
+	if (!invalidSession)
+		{
+		wSession = &iWsSession;
+		}
+	else
+		{
+		wSession = &iInvalidWsSession;
+		}
+
+	// Read screenDevice parameter from INI file
+	TBool	invalidScrDevice = EFalse;
+	GetBoolFromConfig(aSection, KInvalidScreenDevice(), invalidScrDevice);
+	CWsScreenDevice*	scrDevice = iScrDevice;
+	if (invalidScrDevice)
+		{
+		scrDevice = iInvalidScrDevice;
+		}
+
+	// Read window parameter from INI file
+	TBool	invalidWindow = EFalse;
+	GetBoolFromConfig(aSection, KInvalidWindow(), invalidWindow);
+	RWindow*	window = iWindow;
+	if (invalidWindow)
+		{
+		window = iInvalidWindow;
+		}
+
+	// Temporary coordinate variables
+	TInt	ax = 0;
+	TInt	ay = 0;
+	TInt	bx = 0;
+	TInt	by = 0;
+
+	// Read screenRectangle coordinates from INI file
+	GetIntFromConfig(aSection, KScreenRectax(), ax);
+	GetIntFromConfig(aSection, KScreenRectay(), ay);
+	GetIntFromConfig(aSection, KScreenRectbx(), bx);
+	GetIntFromConfig(aSection, KScreenRectby(), by);
+	TRect	screenRect(ax, ay, bx, by);
+
+	ax = 0;
+	ay = 0;
+	bx = 0;
+	by = 0;
+
+	// Read clipRectangle coordinates from INI file
+	GetIntFromConfig(aSection, KClipRectax(), ax);
+	GetIntFromConfig(aSection, KClipRectay(), ay);
+	GetIntFromConfig(aSection, KClipRectbx(), bx);
+	GetIntFromConfig(aSection, KClipRectby(), by);
+	TRect	clipRect(ax, ay, bx, by);
+
+	TRAPD(err, iVideoPlayerUtility->SetDisplayWindowL(*wSession, *scrDevice, *window, screenRect, clipRect));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::SetDisplayWindowL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdRegisterForVideoLoadingNotification()
+	{
+	iVideoPlayerUtility->RegisterForVideoLoadingNotification(*this);
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdGetVideoLoadingProgressL(const TDesC& aSection)
+	{
+	TInt	videoLoadingProg = 0;
+	TRAPD(err, iVideoPlayerUtility->GetVideoLoadingProgressL(videoLoadingProg));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::GetVideoLoadingProgressL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		// Read expected VideoLoadingProgress from INI file
+		TInt 	expectedVidoLoadingProg = 0;
+		if (GetIntFromConfig(aSection, KVideoLoadingProgress(), expectedVidoLoadingProg))
+			{
+			if (videoLoadingProg != expectedVidoLoadingProg)
+				{
+				ERR_PRINTF3(_L("Video loading progress actual(%d)!=expected(%d)"),
+					videoLoadingProg, expectedVidoLoadingProg);
+				SetBlockResult(EFail);
+				}
+			}
+		else
+			{
+			INFO_PRINTF2(_L("Video loading progress: %d"), videoLoadingProg);
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdGetFrameL(const TDesC& aSection, TInt aAsyncErrorIndex)
+	{
+	iApiAsyncErrorIndex = aAsyncErrorIndex;
+	// Read displaymode from INI file
+	TPtrC 	displayModeStr;
+	TDisplayMode 	displayMode = ENone;
+	if (GetStringFromConfig(aSection, KDisplayMode(), displayModeStr))
+	    {
+	    if (!CT_MMUtil::ConvertToDisplayMode(displayModeStr, displayMode))
+	        {
+	        //Read INT for negative tests
+	        TInt	invalidDisplayMode = 0;
+	        if (!GetIntFromConfig(aSection, KDisplayMode(), invalidDisplayMode))
+	            {
+	            ERR_PRINTF2(_L("Can not call GetFrameL. Parameter %S has wrong value."), &KDisplayMode());
+	            SetBlockResult(EFail);
+	            }
+	        displayMode = (TDisplayMode)invalidDisplayMode;
+	        }
+	    }
+	else
+		{
+		ERR_PRINTF2(_L("Can not call GetFrameL. Parameter %S is missing in INI file or has wrong value."), &KDisplayMode());
+		SetBlockResult(EFail);
+		}
+
+	// Read intent from INI file
+    ContentAccess::TIntent	intent=ContentAccess::EUnknown;
+	if ( CT_MMUtil::ReadIntent(*this, aSection, intent) )
+		{
+		TRAPD(err, iVideoPlayerUtility->GetFrameL(displayMode, intent));
+		if (err != KErrNone)
+			{
+			ERR_PRINTF2(_L("CVideoPlayerUtility::GetFrameL failed with error %d."), err);
+			SetError(err);
+			}
+		else
+			{
+			IncOutstanding();
+			}
+		}
+	else
+		{
+		TRAPD(err, iVideoPlayerUtility->GetFrameL(displayMode));
+		if (err != KErrNone)
+			{
+			ERR_PRINTF2(_L("CVideoPlayerUtility::GetFrameL failed with error %d."), err);
+			SetError(err);
+			}
+		else
+			{
+			IncOutstanding();
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdRefreshFrameL()
+	{
+	TRAPD(err, iVideoPlayerUtility->RefreshFrameL());
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::RefreshFrameL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdVideoFrameRateL(const TDesC& aSection)
+	{
+	TReal32	videoFrameRate = 0;
+	TRAPD(err, videoFrameRate = iVideoPlayerUtility->VideoFrameRateL());
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::VideoFrameRateL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Video frame rate (%8.2f)"), videoFrameRate);
+
+		// Read expected VideoFrameRate from INI file
+		TInt 	expectedVideoFrameRate = 0;
+		if (GetIntFromConfig(aSection, KVideoFrameRate(), expectedVideoFrameRate) &&
+			(videoFrameRate != (TReal32)expectedVideoFrameRate))
+			{
+			ERR_PRINTF3(_L("Video frame rate actual(%8.2f) != expected(%d)"),
+				videoFrameRate, expectedVideoFrameRate);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdSetVideoFrameRateL(const TDesC& aSection)
+	{
+	// Read VideoFrameRate from INI file
+	TInt 	videoFrameRate = 0;
+	if (!GetIntFromConfig(aSection, KVideoFrameRate(), videoFrameRate))
+		{
+		ERR_PRINTF2(_L("Can not call SetVideoFrameRateL. Parameter %S is missing in INI file."), &KVideoFrameRate());
+		SetBlockResult(EFail);
+		}
+
+	TRAPD(err, iVideoPlayerUtility->SetVideoFrameRateL(videoFrameRate));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::SetVideoFrameRateL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdVideoFrameSizeL(const TDesC& aSection)
+	{
+	TSize 	videoFrameSize;
+	TRAPD(err, iVideoPlayerUtility->VideoFrameSizeL(videoFrameSize));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::VideoFrameSizeL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF3(_L("Video frame size width (%d) and height (%d)"),
+			videoFrameSize.iWidth, videoFrameSize.iHeight);
+
+		// Read expected VideoFrameWidth from INI file
+		TInt 	expectedVideoFrameWidth = 0;
+		if (GetIntFromConfig(aSection, KVideoFrameWidth(), expectedVideoFrameWidth) &&
+			(videoFrameSize.iWidth != expectedVideoFrameWidth))
+			{
+			ERR_PRINTF3(_L("Video frame size width actual (%d) != expected(%d)"),
+				videoFrameSize.iWidth, expectedVideoFrameWidth);
+			SetBlockResult(EFail);
+			}
+
+		// Read expected VideoFrameHeight from INI file
+		TInt 	expectedVideoFrameHeight = 0;
+		if (GetIntFromConfig(aSection, KVideoFrameHeight(), expectedVideoFrameHeight) &&
+			(videoFrameSize.iHeight != expectedVideoFrameHeight))
+			{
+			ERR_PRINTF3(_L("Video frame size height actual (%d) != expected(%d)"),
+				videoFrameSize.iHeight, expectedVideoFrameHeight);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdVideoFormatMimeTypeL(const TDesC& aSection)
+	{
+	TPtrC8	videoFormat = iVideoPlayerUtility->VideoFormatMimeType();
+	HBufC*	mime = HBufC::NewLC(videoFormat.Length());
+	TPtr	mimeDes = mime->Des();
+	mimeDes.Copy(videoFormat);
+	INFO_PRINTF2(_L("VideoFormatMimeType = %S"), &mimeDes);
+
+	TPtrC	expectedMimeType;
+	if(GetStringFromConfig(aSection, KVideoFormat(), expectedMimeType) &&
+		(mimeDes != expectedMimeType))
+		{
+		ERR_PRINTF3(_L("Video format actual (%S) != expected (%S)"), &mimeDes, &expectedMimeType);
+		SetBlockResult(EFail);
+		}
+
+	CleanupStack::PopAndDestroy(mime);
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdVideoBitRateL(const TDesC& aSection)
+	{
+	TInt	videoBitRate = 0;
+	TRAPD(err, videoBitRate = iVideoPlayerUtility->VideoBitRateL());
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::VideoBitRateL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Video bit rate (%d)"), videoBitRate);
+
+		// Read expected VideoBitRate from INI file
+		TInt 	expectedVideoBitRate = 0;
+		if (GetIntFromConfig(aSection, KVideoBitRate(), expectedVideoBitRate) &&
+			(videoBitRate != expectedVideoBitRate))
+			{
+			ERR_PRINTF3(_L("Video bit rate actual(%d) != expected(%d)"),
+				videoBitRate, expectedVideoBitRate);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdAudioBitRateL(const TDesC& aSection)
+	{
+	TInt	audioBitRate = 0;
+	TRAPD(err, audioBitRate = iVideoPlayerUtility->AudioBitRateL());
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::AudioBitRateL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Audio bit rate (%d)"), audioBitRate);
+
+		// Read expected AudioBitRate from INI file
+		TInt 	expectedAudioBitRate = 0;
+		if (GetIntFromConfig(aSection, KAudioBitRate(), expectedAudioBitRate) &&
+			(audioBitRate != expectedAudioBitRate))
+			{
+			ERR_PRINTF3(_L("Audio bit rate actual(%d) != expected(%d)"),
+				audioBitRate, expectedAudioBitRate);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdAudioTypeL(const TDesC& aSection)
+	{
+	TFourCC	audioType;
+	TRAPD(err, audioType = iVideoPlayerUtility->AudioTypeL());
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::AudioTypeL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Audio type (%d)"), audioType.FourCC());
+
+		// Read expected AudioType from INI file
+		TFourCC	expectedAudioType;
+		if ( CT_MMUtil::ReadFourCC(*this, aSection, expectedAudioType) )
+			{
+			if (expectedAudioType != audioType.FourCC())
+				{
+				ERR_PRINTF3(_L("Audio type actual(%d) != expected(%d)"), audioType.FourCC(), expectedAudioType.FourCC());
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdAudioEnabledL(const TDesC& aSection)
+	{
+	TBool	audioEnabled = EFalse;
+	TRAPD(err, audioEnabled = iVideoPlayerUtility->AudioEnabledL());
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::AudioEnabledL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Audio enabled = (%d)"), audioEnabled);
+
+		// Read expected AudioEnabled from INI file
+		TBool 	expectedAudioEnabled;
+		if ((GetBoolFromConfig(aSection, KAudioEnabled(), expectedAudioEnabled)) &&
+			(expectedAudioEnabled != audioEnabled))
+			{
+			ERR_PRINTF3(_L("Audio enabled actual(%d) != expected(%d)"),
+				audioEnabled, expectedAudioEnabled);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdSetPositionL(const TDesC& aSection)
+	{
+	// Read Position from INI file
+	TTimeIntervalMicroSeconds	position = 0;
+	TInt	pos = 0;
+	if (!GetIntFromConfig(aSection, KPosition(), pos))
+		{
+		ERR_PRINTF2(_L("Can not call SetPositionL. Parameter %S is missing in INI file."), &KPosition());
+		SetBlockResult(EFail);
+		}
+	else
+		{
+		position = (TTimeIntervalMicroSeconds)pos;
+		}
+
+	TRAPD(err, iVideoPlayerUtility->SetPositionL(position));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::SetPositionL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdPositionL(const TDesC& aSection)
+	{
+	TTimeIntervalMicroSeconds	position = 0;
+	TRAPD(err, position = iVideoPlayerUtility->PositionL());
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::PositionL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Current playback position = (%LD)"), position.Int64());
+
+		// Read expected Position from INI file
+		TInt	expectedPosition;
+		if ((GetIntFromConfig(aSection, KPosition(), expectedPosition)) &&
+			((TInt64)expectedPosition != position.Int64()))
+			{
+			ERR_PRINTF3(_L("Playback position actual(%LD) != expected(%d)"),
+				position.Int64(), expectedPosition);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdDurationL(const TDesC& aSection)
+	{
+	TTimeIntervalMicroSeconds	duration = 0;
+	TRAPD(err, duration = iVideoPlayerUtility->DurationL());
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::DurationL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("The duration of video clip = (%LD)"), duration.Int64());
+
+		// Read expected Duration from INI file
+		TInt	expectedDuration;
+		if ((GetIntFromConfig(aSection, KDuration(), expectedDuration)) &&
+			((TInt64)expectedDuration != duration.Int64()))
+			{
+			ERR_PRINTF3(_L("The duration of video clip actual(%LD) != expected(%d)"),
+				duration.Int64(), expectedDuration);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdSetVolumeL(const TDesC& aSection)
+	{
+	// Read Volume from INI file
+	TInt	volume = 0;
+	if (!GetIntFromConfig(aSection, KVolume(), volume))
+		{
+		ERR_PRINTF2(_L("Can not call SetVolumeL. Parameter %S is missing in INI file."), &KVolume());
+		SetBlockResult(EFail);
+		}
+
+	TRAPD(err, iVideoPlayerUtility->SetVolumeL(volume));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::SetVolumeL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdVolume(const TDesC& aSection)
+	{
+	TInt	volume = iVideoPlayerUtility->Volume();
+	INFO_PRINTF2(_L("Playback volume  = (%d)"), volume);
+
+	// Read expected Volume from INI file
+	TInt	expectedVolume;
+	if ((GetIntFromConfig(aSection, KVolume(), expectedVolume)) &&
+		(expectedVolume != volume))
+		{
+		ERR_PRINTF3(_L("Playback volume actual(%d) != expected(%d)"),
+			volume, expectedVolume);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdMaxVolume(const TDesC& aSection)
+	{
+	TInt	volume = iVideoPlayerUtility->MaxVolume();
+	INFO_PRINTF2(_L("Playback Max volume  = (%d)"), volume);
+
+	// Read expected Max Volume from INI file
+	TInt	expectedMaxVolume;
+	if ((GetIntFromConfig(aSection, KVolume(), expectedMaxVolume)) &&
+		(expectedMaxVolume != volume))
+		{
+		ERR_PRINTF3(_L("Playback Max volume actual(%d) != expected(%d)"),
+			volume, expectedMaxVolume);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdSetBalanceL(const TDesC& aSection)
+	{
+	// Read Balance from INI file
+	TInt	balance = KMMFBalanceCenter;
+	if (!GetIntFromConfig(aSection, KBalance(), balance))
+		{
+		ERR_PRINTF2(_L("Can not call SetBalanceL. Parameter %S is missing in INI file."), &KBalance());
+		SetBlockResult(EFail);
+		}
+
+	TRAPD(err, iVideoPlayerUtility->SetBalanceL(balance));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::SetBalanceL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdBalance(const TDesC& aSection)
+	{
+	TInt	balance = iVideoPlayerUtility->Balance();
+	INFO_PRINTF2(_L("Playback balance  = (%d)"), balance);
+
+	// Read expected Balance from INI file
+	TInt	expectedBalance;
+	if ((GetIntFromConfig(aSection, KBalance(), expectedBalance)) &&
+		(expectedBalance != balance))
+		{
+		ERR_PRINTF3(_L("Playback balance actual(%d) != expected(%d)"),
+			balance, expectedBalance);
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdSetRotationL(const TDesC& aSection)
+	{
+	// Read Rotation from INI file
+	TPtrC	rotationStr;
+	TVideoRotation	rotation = EVideoRotationNone;
+	if (GetStringFromConfig(aSection, KRotation(), rotationStr))
+	    {
+	    if ( !CT_MMUtil::ConvertToVideoRotation(rotationStr, rotation) )
+	        {
+	        //Read INT invalid rotation for negative tests
+	        TInt invalidRotation = 0;
+	        if ( !GetIntFromConfig(aSection, KRotation(), invalidRotation) )
+	            {
+	            ERR_PRINTF2(_L("Illegal rotation %S."), &KRotation());
+	            SetBlockResult(EFail);
+	            }
+	        rotation = (TVideoRotation)invalidRotation;
+	        }
+	    }
+	else
+		{
+		ERR_PRINTF2(_L("Can not call SetRotationL. Parameter %S is missing in INI file or has wrong value."), &KRotation());
+		SetBlockResult(EFail);
+		}
+
+	TRAPD(err, iVideoPlayerUtility->SetRotationL(rotation));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::SetRotationL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdRotationL(const TDesC& aSection)
+	{
+	TVideoRotation	rotation = EVideoRotationNone;
+	TRAPD(err, rotation = iVideoPlayerUtility->RotationL());
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::RotationL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Rotation of the video clip = (%S)"), &CT_MMUtil::GetVideoRotationString(rotation));
+
+		// Read expected Rotation from INI file
+		TPtrC	expectedRotationStr;
+		if (GetStringFromConfig(aSection, KRotation(), expectedRotationStr))
+			{
+			TVideoRotation	expectedRotation;
+			if (!CT_MMUtil::ConvertToVideoRotation(expectedRotationStr, expectedRotation))
+				{
+				//Read INT for negative tests
+				TInt invalidRotation = 0;
+		        if ( !GetIntFromConfig(aSection, KRotation(), invalidRotation) )
+		            {
+		            ERR_PRINTF2(_L("Illegal rotation %S."), &KRotation());
+		            SetBlockResult(EFail);
+		            }
+		        expectedRotation = (TVideoRotation)invalidRotation;
+				}
+			if (expectedRotation != rotation)
+				{
+				ERR_PRINTF3(_L("Rotation of the video clip actual(%S) != expected(%S)"),
+					&CT_MMUtil::GetVideoRotationString(rotation),
+					&CT_MMUtil::GetVideoRotationString(expectedRotation));
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdSetScaleFactorL(const TDesC& aSection)
+	{
+	// Read WidthPercentage from INI file
+	TInt	widthPercentage = 0;
+	if (!GetIntFromConfig(aSection, KWidthPercentage(), widthPercentage))
+		{
+		ERR_PRINTF2(_L("Can not call SetScaleFactorL. Parameter %S is missing in INI file."), &KWidthPercentage());
+		SetBlockResult(EFail);
+		}
+	// Read HeightPercentage from INI file
+	TInt	heightPercentage = 0;
+	if (!GetIntFromConfig(aSection, KHeightPercentage(), heightPercentage))
+		{
+		ERR_PRINTF2(_L("Can not call SetScaleFactorL. Parameter %S is missing in INI file."), &KHeightPercentage());
+		SetBlockResult(EFail);
+		}
+	// Read AntiAliasing from INI file
+	TBool	antiAliasing = EFalse;
+	if (!GetBoolFromConfig(aSection, KAntiAliasing(), antiAliasing))
+		{
+		ERR_PRINTF2(_L("Can not call SetScaleFactorL. Parameter %S is missing in INI file."), &KAntiAliasing());
+		SetBlockResult(EFail);
+		}
+
+	TRAPD(err, iVideoPlayerUtility->SetScaleFactorL(widthPercentage, heightPercentage, antiAliasing));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::SetScaleFactorL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdGetScaleFactorL(const TDesC& aSection)
+	{
+	TReal32 	widthPercentage = 0;
+	TReal32 	heightPercentage = 0;
+	TBool 	antiAliasing = EFalse;
+	TRAPD(err, iVideoPlayerUtility->GetScaleFactorL(widthPercentage, heightPercentage, antiAliasing));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::GetScaleFactorL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF4(_L("Scale factor of the video clip: width = (%3.0f) heigh = (%3.0f) antialiasing (%d)"),
+			widthPercentage, heightPercentage, antiAliasing);
+
+		// Read expected WidthPercentage from INI file
+		TInt	expectedWidthPercentage = 0;
+		if (GetIntFromConfig(aSection, KWidthPercentage(), expectedWidthPercentage) &&
+			(expectedWidthPercentage != widthPercentage))
+			{
+			ERR_PRINTF3(_L("Scale factor width actual(%3.0f) != expected(%d)"), widthPercentage,
+					expectedWidthPercentage);
+			SetBlockResult(EFail);
+			}
+		// Read expected HeightPercentage from INI file
+		TInt	expectedHeightPercentage = 0;
+		if (GetIntFromConfig(aSection, KHeightPercentage(), expectedHeightPercentage) &&
+			(expectedHeightPercentage != heightPercentage))
+			{
+			ERR_PRINTF3(_L("Scale factor height actual(%3.0f) != expected(%d)"), heightPercentage,
+					expectedHeightPercentage);
+			SetBlockResult(EFail);
+			}
+		// Read expected AntiAliasing from INI file
+		TBool 	expectedAntiAliasing = EFalse;
+		if (GetBoolFromConfig(aSection, KAntiAliasing(), expectedAntiAliasing) &&
+			(expectedAntiAliasing != antiAliasing))
+			{
+			ERR_PRINTF3(_L("Scale factor antialiasing actual(%d) != expected(%d)"), antiAliasing,
+					expectedAntiAliasing);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdSetCropRegionL(const TDesC& aSection)
+	{
+	// Temporary coordinate variables
+	TInt	ax = 0;
+	TInt	ay = 0;
+	TInt	bx = 0;
+	TInt	by = 0;
+	// Read CropRegion coordinates from INI file
+	if (!GetIntFromConfig(aSection, KScreenRectax(), ax))
+		{
+		ERR_PRINTF2(_L("Can not call DoCmdSetCropRegionL. Parameter %S is missing in INI file."), &KScreenRectax());
+		SetBlockResult(EFail);
+		}
+	if (!GetIntFromConfig(aSection, KScreenRectay(), ay))
+		{
+		ERR_PRINTF2(_L("Can not call DoCmdSetCropRegionL. Parameter %S is missing in INI file."), &KScreenRectay());
+		SetBlockResult(EFail);
+		}
+	if (!GetIntFromConfig(aSection, KScreenRectbx(), bx))
+		{
+		ERR_PRINTF2(_L("Can not call DoCmdSetCropRegionL. Parameter %S is missing in INI file."), &KScreenRectbx());
+		SetBlockResult(EFail);
+		}
+	if (!GetIntFromConfig(aSection, KScreenRectby(), by))
+		{
+		ERR_PRINTF2(_L("Can not call DoCmdSetCropRegionL. Parameter %S is missing in INI file."), &KScreenRectby());
+		SetBlockResult(EFail);
+		}
+	TRect	cropRegion(ax, ay, bx, by);
+
+	TRAPD(err, iVideoPlayerUtility->SetCropRegionL(cropRegion));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::SetCropRegionL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdGetCropRegionL(const TDesC& aSection)
+	{
+	TRect	cropRegion;
+	TRAPD(err, iVideoPlayerUtility->GetCropRegionL(cropRegion));
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::GetCropRegionL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF5(_L("Crop region of the video clip: ax = (%d) ay = (%d) bx = (%d) by = (%d)"),
+			cropRegion.iTl.iX, cropRegion.iTl.iY, cropRegion.iBr.iX, cropRegion.iBr.iY);
+
+		// Read expected coordinate Ax from INI file
+		TInt 	expectedAx = 0;
+		if (GetIntFromConfig(aSection, KScreenRectax(), expectedAx) &&
+			(cropRegion.iTl.iX != expectedAx))
+			{
+			ERR_PRINTF3(_L("Crop region coordinate Ax (%d) != expected(%d)"),
+				cropRegion.iTl.iX, expectedAx);
+			SetBlockResult(EFail);
+			}
+
+		// Read expected coordinate Ay from INI file
+		TInt 	expectedAy = 0;
+		if (GetIntFromConfig(aSection, KScreenRectay(), expectedAy) &&
+			(cropRegion.iTl.iY != expectedAy))
+			{
+			ERR_PRINTF3(_L("Crop region coordinate Ay (%d) != expected(%d)"),
+				cropRegion.iTl.iY, expectedAy);
+			SetBlockResult(EFail);
+			}
+
+		// Read expected coordinate Bx from INI file
+		TInt 	expectedBx = 0;
+		if (GetIntFromConfig(aSection, KScreenRectbx(), expectedBx) &&
+			(cropRegion.iBr.iX != expectedBx))
+			{
+			ERR_PRINTF3(_L("Crop region coordinate Bx (%d) != expected(%d)"),
+				cropRegion.iBr.iX, expectedBx);
+			SetBlockResult(EFail);
+			}
+
+		// Read expected coordinate By from INI file
+		TInt 	expectedBy = 0;
+		if (GetIntFromConfig(aSection, KScreenRectby(), expectedBy) &&
+			(cropRegion.iBr.iY != expectedBy))
+			{
+			ERR_PRINTF3(_L("Crop region coordinate By (%d) != expected(%d)"),
+				cropRegion.iBr.iY, expectedBy);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdNumberOfMetaDataEntriesL(const TDesC& aSection)
+	{
+	TInt	nrMetaDataEntries = 0;
+	TRAPD(err, nrMetaDataEntries = iVideoPlayerUtility->NumberOfMetaDataEntriesL());
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::NumberOfMetaDataEntriesL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("Number of meta data entries (%d)"), nrMetaDataEntries);
+
+		// Read expected nrMetaDataEntries from INI file
+		TInt	expectednrMetaDataEntries = 0;
+		if (GetIntFromConfig(aSection, KNrOfMetaDataEntries(), expectednrMetaDataEntries) &&
+			(expectednrMetaDataEntries != nrMetaDataEntries))
+			{
+			ERR_PRINTF3(_L("Number of meta data entries actual (%d) != expected (%d)"),
+				nrMetaDataEntries, expectednrMetaDataEntries);
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdMetaDataEntryL(const TDesC& aSection)
+	{
+	TInt	metaDataEntryIndex = 0;
+	GetIntFromConfig(aSection, KMetaDataEntryIndex(), metaDataEntryIndex);
+	CMMFMetaDataEntry*	metaDataEntry = NULL;
+	TRAPD(err, metaDataEntry = iVideoPlayerUtility->MetaDataEntryL(metaDataEntryIndex));
+	CleanupStack::PushL(metaDataEntry);
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("MetaDataEntryL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		const TDesC& name = metaDataEntry->Name();
+		const TDesC& value = metaDataEntry->Value();
+		INFO_PRINTF3(_L("MetaDataEntryL name = %S, value = %S"), &name, &value);
+
+		// Read expected MetaDataEntry name from INI file
+		TPtrC 	expectedName;
+		if (GetStringFromConfig(aSection, KName(), expectedName) &&
+			(name != expectedName))
+			{
+			ERR_PRINTF3(_L("MetaDataEntry name (%S) != expected(%S)"),
+				&name, &expectedName);
+			SetBlockResult(EFail);
+			}
+
+		// Read expected MetaDataEntry value from INI file
+		TPtrC 	expectedValue;
+		if (GetStringFromConfig(aSection, KValue(), expectedValue) &&
+			(value != expectedValue))
+			{
+			ERR_PRINTF3(_L("MetaDataEntry value (%S) != expected(%S)"),
+				&value, &expectedValue);
+			SetBlockResult(EFail);
+			}
+		}
+	CleanupStack::PopAndDestroy(metaDataEntry);
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdControllerImplementationInformationL()
+	{
+	const CMMFControllerImplementationInformation*	controllerInfo = NULL;
+	TRAPD(err, controllerInfo = &(iVideoPlayerUtility->ControllerImplementationInformationL()));
+	if ( err != KErrNone )
+		{
+		ERR_PRINTF2(_L("CT_MMDataVideoPlayerUtility::ControllerImplementationInformationL failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		CT_MMUtil::LogL(*this, *controllerInfo);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdCustomCommandSyncL(const TDesC& aSection)
+	{
+	TMMFMessageDestination		handleInfo(iVideoControllerUid);
+	TMMFMessageDestinationPckg	messageDest(handleInfo);
+
+	TInt	function = 0;
+	GetIntFromConfig(aSection, KFunction(), function);
+
+	TBool	useDataFrom = EFalse;
+	GetBoolFromConfig(aSection, KUseDataFrom(), useDataFrom);
+
+	// reference to the first chunk of data
+	HBufC8*	dataTo1 = NULL;
+	TPtrC	dataTo1Str;
+	if (GetStringFromConfig(aSection, KDataTo1(), dataTo1Str))
+		{
+		dataTo1 = HBufC8::NewLC(dataTo1Str.Length());
+		dataTo1->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo1 = HBufC8::NewLC(0);
+		dataTo1->Des().Copy(KNullDesC8);
+		}
+
+	// reference to the second chunk of data
+	HBufC8*	dataTo2 = NULL;
+	TPtrC	dataTo2Str;
+	if (GetStringFromConfig(aSection, KDataTo2(), dataTo2Str))
+		{
+		dataTo2 = HBufC8::NewLC(dataTo2Str.Length());
+		dataTo2->Des().Copy(dataTo2Str);
+		}
+	else
+		{
+		dataTo2 = HBufC8::NewLC(0);
+		dataTo2->Des().Copy(KNullDesC8);
+		}
+
+	TInt					err = KErrNone;
+	TBuf8<KMaxdataFromText>	dataFromText;
+	if (useDataFrom)
+		{
+		err = iVideoPlayerUtility->CustomCommandSync(messageDest, function, *dataTo1, *dataTo2, dataFromText);
+		}
+	else
+		{
+		err = iVideoPlayerUtility->CustomCommandSync(messageDest, function, *dataTo1, *dataTo2);
+		}
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::CustomCommandSync failed with error %d."), err);
+		SetError(err);
+		}
+	else
+		{
+		if (useDataFrom)
+			{
+			HBufC*	buffer = HBufC::NewLC(dataFromText.Length());
+			TPtr	bufferPtr = buffer->Des();
+			bufferPtr.Copy(dataFromText); // Create a 16 bit copy of the 8 bit original
+			INFO_PRINTF2(_L("DataFrom: %S"), &bufferPtr);
+			CleanupStack::PopAndDestroy(buffer);
+			}
+		}
+
+	CleanupStack::PopAndDestroy(2, dataTo1);
+}
+
+void CT_MMDataVideoPlayerUtility::DoCmdCustomCommandASyncL(const TDesC& aSection, TInt aAsyncErrorIndex)
+	{
+	TMMFMessageDestination		handleInfo(iVideoControllerUid);
+	TMMFMessageDestinationPckg	messageDest(handleInfo);
+
+	TInt	function = 0;
+	GetIntFromConfig(aSection, KFunction(), function);
+
+	TBool	useDataFrom = EFalse;
+	GetBoolFromConfig(aSection, KUseDataFrom(), useDataFrom);
+
+	// reference to the first chunk of data
+	HBufC8*	dataTo1 = NULL;
+	TPtrC	dataTo1Str;
+	if (GetStringFromConfig(aSection, KDataTo1(), dataTo1Str))
+		{
+		dataTo1 = HBufC8::NewLC(dataTo1Str.Length());
+		dataTo1->Des().Copy(dataTo1Str);
+		}
+	else
+		{
+		dataTo1 = HBufC8::NewLC(0);
+		dataTo1->Des().Copy(KNullDesC8);
+		}
+
+	// reference to the second chunk of data
+	HBufC8*	dataTo2 = NULL;
+	TPtrC	dataTo2Str;
+	if (GetStringFromConfig(aSection, KDataTo2(), dataTo2Str))
+		{
+		dataTo2 = HBufC8::NewLC(dataTo2Str.Length());
+		dataTo2->Des().Copy(dataTo2Str);
+		}
+	else
+		{
+		dataTo2 = HBufC8::NewLC(0);
+		dataTo2->Des().Copy(KNullDesC8);
+		}
+
+	if (useDataFrom)
+		{
+		iVideoPlayerUtility->CustomCommandAsync(messageDest, function, *dataTo1, *dataTo2, iDataFromText, iActiveCustomCommandAsync->iStatus);
+		}
+	else
+		{
+		iVideoPlayerUtility->CustomCommandAsync(messageDest, function, *dataTo1, *dataTo2, iActiveCustomCommandAsync->iStatus);
+		}
+
+	iActiveCustomCommandAsync->Activate(aAsyncErrorIndex);
+	IncOutstanding();
+	CleanupStack::PopAndDestroy(2, dataTo1);
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdGetDRMCustomCommand()
+	{
+	MMMFDRMCustomCommand* controllerHandle = NULL;
+	controllerHandle = iVideoPlayerUtility->GetDRMCustomCommand();
+	if (controllerHandle != NULL)
+		{
+		INFO_PRINTF1(_L("Controller DRM handle returned"));
+		}
+	else
+		{
+		INFO_PRINTF1(_L("Controller DRM handle not returned"));
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdStopDirectScreenAccessL()
+	{
+	TRAPD(err, iVideoPlayerUtility->StopDirectScreenAccessL());
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::StopDirectScreenAccessL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdStartDirectScreenAccessL()
+	{
+	TRAPD(err, iVideoPlayerUtility->StartDirectScreenAccessL());
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("CVideoPlayerUtility::StartDirectScreenAccessL failed with error %d."), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoPlayerUtility::DoCmdDestructor()
+	{
+	DestroyData();
+	}
+
+///////////////////////////////////////////////////////////////////
+//from the MVideoPlayerUtilityObserver interface  / / / / / / / /
+///////////////////////////////////////////////////////////////////
+
+/**
+Asynchronous callback called when CVideoPlayerUtility::Open completes
+@internalAll
+@return void
+@param aError Symbian error code on failure, KErrNone if opened ok
+@pre N/A
+@post N/A
+*/
+void CT_MMDataVideoPlayerUtility::MvpuoOpenComplete(TInt aError)
+	{
+	if (aError == KErrNone )
+		{
+		INFO_PRINTF1(_L("Open OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Open Error %d"), aError);
+		SetAsyncError(iApiAsyncErrorIndex, aError);
+		}
+
+	DecOutstanding();
+	}
+
+/**
+Asynchronous callback called when CVideoPlayerUtility::Prepare completes
+@internalAll
+@return void
+@param aError Symbian error code on failure, KErrNone if prepared ok
+@pre N/A
+@post N/A
+*/
+void CT_MMDataVideoPlayerUtility::MvpuoPrepareComplete(TInt aError)
+	{
+	if (aError == KErrNone)
+		{
+		INFO_PRINTF1(_L("Prepare OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Prepare Error %d"), aError);
+		SetAsyncError(iApiAsyncErrorIndex, aError);
+		}
+
+	DecOutstanding();
+	}
+
+/**
+Asynchronous callback called when CVideoPlayerUtility::GetFrameL completes
+@internalAll
+@return void
+@param aError Symbian error code on failure, KErrNone if GetFrame ok
+@pre N/A
+@post N/A
+*/
+void CT_MMDataVideoPlayerUtility::MvpuoFrameReady(CFbsBitmap& /*aFrame*/, TInt aError)
+	{
+	if (aError == KErrNone)
+		{
+		INFO_PRINTF1(_L("Get frame OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Get frame Error %d"), aError);
+		SetAsyncError(iApiAsyncErrorIndex, aError);
+		}
+
+	DecOutstanding();
+	}
+
+/**
+Asynchronous callback called when CVideoPlayerUtility::Play completes
+@internalAll
+@return void
+@param aError Symbian error code on failure, KErrNone if plaied ok
+@pre N/A
+@post N/A
+*/
+void CT_MMDataVideoPlayerUtility::MvpuoPlayComplete(TInt aError)
+	{
+	if (aError == KErrNone)
+		{
+		INFO_PRINTF1(_L("Play OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Play Error %d"), aError);
+		SetAsyncError(iApiAsyncErrorIndex, aError);
+		}
+
+	DecOutstanding();
+	}
+
+/**
+Asynchronous callback called when general event notification from controller received
+@internalAll
+@return void
+@param aEvent The event sent by the controller
+@pre N/A
+@post N/A
+*/
+void CT_MMDataVideoPlayerUtility::MvpuoEvent(const TMMFEvent &aEvent)
+	{
+	if(aEvent.iErrorCode == KErrNone)
+		{
+		INFO_PRINTF1(_L("MvpuoEvent OK"));
+		INFO_PRINTF2(_L("MvpuoEvent event type %d"), aEvent.iEventType);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("MvpuoEvent Error %d"), aEvent.iErrorCode);
+		SetAsyncError(iApiAsyncErrorIndex, aEvent.iErrorCode);
+		}
+
+	DecOutstanding();
+	}
+
+///////////////////////////////////////////////////////////////////
+//from the 	MVideoLoadingObserver interface  / / / / / / / /
+///////////////////////////////////////////////////////////////////
+
+/**
+Asynchronous callback called when video clip loading/rebuffering has started
+@internalAll
+@return void
+@param N/A
+@pre N/A
+@post N/A
+*/
+void CT_MMDataVideoPlayerUtility::MvloLoadingStarted()
+	{
+	INFO_PRINTF1(_L("Video clip loading/rebuffering has started"));
+	}
+
+/**
+Asynchronous callback called when video clip loading/rebuffering has completed
+@internalAll
+@return void
+@param N/A
+@pre N/A
+@post N/A
+*/
+void CT_MMDataVideoPlayerUtility::MvloLoadingComplete()
+	{
+	INFO_PRINTF1(_L("Video clip loading/rebuffering has completed"));
+	}
+
+/**
+ Virtual RunL - Called on completion of an aaSynchronous command
+ @internalComponent
+ @see MT_MMActiveCallback
+ @param aActive Active Object that RunL has been called on
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+void CT_MMDataVideoPlayerUtility::RunL(CActive* aActive, TInt aIndex)
+ 	{
+ 	if (aActive == iActiveCustomCommandAsync)
+ 		{
+ 		RunCustomCommandAsyncL(aIndex);
+ 		}
+ 	else
+ 		{
+ 		ERR_PRINTF1(_L("Stray signal"));
+ 		SetBlockResult(EFail);
+ 		}
+ 	}
+
+/**
+  Virtual DoCancel - Request to cancel the asynchronous command
+  @internalComponent
+  @see - MTPActiveCallback
+  @param aActive Active Object that DoCancel has been called on
+  @pre - N/A
+  @post - N/A
+  @leave system wide error code
+ */
+ void CT_MMDataVideoPlayerUtility::DoCancel(CActive* aActive)
+ 	{
+ 	if (aActive == iActiveCustomCommandAsync)
+ 		{
+ 		DoCancelCustomCommandAsync();
+ 		}
+ 	else
+ 		{
+ 		ERR_PRINTF1(_L("Stray signal"));
+ 		SetBlockResult(EFail);
+ 		}
+ 	}
+
+/**
+  RunActiveL - Process RunL for iActiveCustomCommandAsync
+  @internalComponent
+  @pre N/A
+  @post N/A
+  @leave system wide error code
+ */
+ void CT_MMDataVideoPlayerUtility::RunCustomCommandAsyncL(TInt aIndex)
+	{
+	HBufC*	buffer = HBufC::NewLC(iDataFromText.Length());
+	TPtr	bufferPtr = buffer->Des();
+	bufferPtr.Copy(iDataFromText); // Create a 16 bit copy of the 8 bit original
+	INFO_PRINTF2(_L("DataFrom: %S"), &bufferPtr);
+
+	TInt	err = iActiveCustomCommandAsync->iStatus.Int();
+	if (err != KErrNone)
+		{
+		ERR_PRINTF2(_L("RunL Error %d"), err);
+		SetAsyncError(aIndex, err);
+		}
+	DecOutstanding();
+	CleanupStack::PopAndDestroy(buffer);
+	}
+
+/**
+ DoCancelActive - Process DoCancel for iActive
+ @internalComponent
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+void CT_MMDataVideoPlayerUtility::DoCancelCustomCommandAsync()
+	{
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/src/T_VideoPlayerUtilityServer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_VideoPlayerUtilityServer.h"
+
+CT_VideoPlayerUtilityServer* CT_VideoPlayerUtilityServer::NewL()
+/**
+ * @return - Instance of the test server
+ * Same code for Secure and non-secure variants
+ * Called inside the MainL() function to create and start the
+ * CTestServer derived server.
+ */
+	{
+	CT_VideoPlayerUtilityServer*	server = new (ELeave) CT_VideoPlayerUtilityServer();
+	CleanupStack::PushL(server);
+	server->ConstructL();
+	CleanupStack::Pop(server);
+	return server;
+	}
+
+
+LOCAL_C void MainL()
+/**
+ * Secure variant
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+	{
+#if (defined __DATA_CAGING__)
+	RProcess().DataCaging(RProcess::EDataCagingOn);
+	RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+	CActiveScheduler*				sched=NULL;
+	sched=new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(sched);
+	CT_VideoPlayerUtilityServer*	server = NULL;
+	// Create the CTestServer derived server
+	TRAPD(err,server = CT_VideoPlayerUtilityServer::NewL());
+	if(!err)
+		{
+		// Sync with the client and enter the active scheduler
+		RProcess::Rendezvous(KErrNone);
+		sched->Start();
+		}
+	delete server;
+	delete sched;
+	}
+
+
+GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on process exit
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ */
+	{
+	CTrapCleanup* cleanup = CTrapCleanup::New();
+	if(cleanup == NULL)
+		{
+		return KErrNoMemory;
+		}
+	TRAP_IGNORE(MainL());
+	delete cleanup;
+	return KErrNone;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoPlayerUtility/testdata/MM-MMF-VCLNT-PLYR-PublicAPI.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,3033 @@
+[include]
+file1			=\multimedia\t_multimedia.ini
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0001-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0001-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0002-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0002-001-OpenFileL_command02]
+videocontrolleruid	={default_videocontroller,uid}
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0003-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0003-001-OpenFileL_command02]
+openfiletype		=RFile
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0004-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0004-001-OpenFileL_command02]
+openfiletype		=TMMSource
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0005-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0005-001-OpenDesL_command02]
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0006-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0006-001-OpenUrlL_command02]
+url			={default_videoplayer,urisample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0007-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0007-001-OpenUrlL_command02]
+url			={default_videoplayer,urisample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0007-001-Play_command04]
+endpoint		=1000000
+startpoint		=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0008-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0008-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0009-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0009-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0010-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0010-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0010-001-SetPriorityL_command03]
+priority		=-10
+prioritypreference	=Time
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0010-001-PriorityL_command04]
+priority		=-10
+prioritypreference	=Time
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0011-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0011-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0011-001-SetDisplayWindowL_command03]
+cliprectbx		=60
+cliprectby		=60
+cliprectay		=10
+screenrectax		=10
+screenrectbx		=60
+screenrectby		=60
+screenrectay		=10
+cliprectax		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0012-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0012-001-OpenUrlL_command03]
+url			={default_videoplayer,urisample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0012-001-GetVideoLoadingProgressL_command05]
+videoloadingprogress	=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0013-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0013-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0013-001-GetFrameL_command06]
+displaymode		=Gray2
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0014-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0014-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0014-001-GetFrameL_command06]
+intent=EPlay
+displaymode		=Gray2
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0015-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0015-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0016-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0016-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0016-001-SetVideoFrameRateL_command06]
+videoframerate		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0016-001-VideoFrameRateL_command07]
+videoframerate		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0017-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0017-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0017-001-VideoFrameSizeL_command04]
+videoframewidth		={default_video,framewidth}
+videoframeheight	={default_video,frameheight}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0018-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0018-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0018-001-VideoFormatMimeType_command04]
+videoformat		={default_videoplayer,format}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0019-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0019-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0019-001-VideoBitRateL_command04]
+videobitrate		=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0020-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0020-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0020-001-AudioBitRateL_command04]
+audiobitrate		=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0021-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0021-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0021-001-AudioTypeL_command04]
+fourcc			=KMMFFourCCCodeNULL
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0022-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0022-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0022-001-AudioEnabledL_command04]
+audioenabled		={default_videoplayer,audioenabled}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0023-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0023-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0023-001-SetPositionL_command04]
+position		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0023-001-PositionL_command05]
+position		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0024-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0024-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0024-001-DurationL_command04]
+duration		={default_videoplayer,duration}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0025-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0025-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0025-001-MaxVolume_command03]
+volume			={default_videoplayer,maxvolume}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0025-001-SetVolumeL_command04]
+volume			=95
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0025-001-Volume_command05]
+volume			=95
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0026-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0026-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0026-001-SetBalanceL_command04]
+balance			=50
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0026-001-Balance_command05]
+balance			=50
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0027-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0027-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0027-001-SetRotationL_command04]
+rotation		=Clockwise90
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0027-001-RotationL_command05]
+rotation		=Clockwise90
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0028-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0028-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0028-001-SetScaleFactorL_command04]
+antialiasing		=EFalse
+widthpercentage		=55
+heightpercentage	=55
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0028-001-GetScaleFactorL_command05]
+antialiasing		=EFalse
+widthpercentage		=55
+heightpercentage	=55
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0029-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0029-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0029-001-SetCropRegionL_command04]
+screenrectay		=10
+screenrectbx		=60
+screenrectby		=60
+screenrectax		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0029-001-GetCropRegionL_command05]
+screenrectay		=10
+screenrectbx		=60
+screenrectby		=60
+screenrectax		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0030-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0030-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0030-001-NumberOfMetaDataEntriesL_command04]
+nrofmetadataentries	=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0031-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0031-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0031-001-MetaDataEntryL_command04]
+metadataentryindex	=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0032-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0032-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0033-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0033-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0033-001-CustomCommandSync_command04]
+function		=1
+usedatafrom		=TRUE
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0034-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0034-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0034-001-CustomCommandSync_command04]
+function		=1
+usedatafrom		=FALSE
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0035-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0035-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0035-001-CustomCommandAsync_command04]
+function		=1
+usedatafrom		=TRUE
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0036-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0036-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0036-001-CustomCommandAsync_command04]
+function		=1
+usedatafrom		=FALSE
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0037-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0037-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0038-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0039-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0040-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=-999999999
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0041-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=999999999
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0042-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+invalidsession		=TRUE
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0043-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+invalidscreendevice	=TRUE
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0044-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+invalidwindow		=TRUE
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0045-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=-10
+screenrectax		=-10
+priority		=EMdaPriorityNormal
+screenrectbx		=-60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=-60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0046-001-NewL_command01]
+cliprectbx		=-60
+cliprectby		=-60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=-10
+cliprectax		=-10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0047-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0047-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		=\multimedia\t_videoplayerutility\nonexisting.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0048-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0048-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0049-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0049-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0050-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0050-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0051-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0051-001-OpenFileL_command02]
+videocontrolleruid	=FFFFFF
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0052-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0052-001-OpenFileL_command02]
+invalidfilehandle	=TRUE
+openfiletype		=RFile
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0053-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0053-001-OpenFileL_command02]
+openfiletype		=RFile
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0054-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0054-001-OpenFileL_command02]
+videocontrolleruid	=FFFFFF
+openfiletype		=RFile
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0055-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0055-001-OpenFileL_command02]
+openfiletype		=TMMSource
+filename		=\multimedia\t_videoplayerutility\nonexisting.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0056-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0056-001-OpenFileL_command02]
+openfiletype		=TMMSource
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0057-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0057-001-OpenFileL_command02]
+videocontrolleruid	=FFFFFF
+openfiletype		=TMMSource
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0058-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0058-001-OpenDesL_command02]
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0059-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0059-001-OpenDesL_command02]
+videocontrolleruid	=FFFFFF
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0060-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0060-001-OpenUrlL_command02]
+url			=file:///multimedia/t_videoplayerutility/nonexisting.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0061-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0061-001-OpenUrlL_command02]
+url			=file:///multimedia/t_videoplayerutility/corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0062-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0062-001-OpenUrlL_command02]
+url			={default_videoplayer,urisample}
+videocontrolleruid	=FFFFFF
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0063-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0063-001-OpenUrlL_command02]
+url			={default_videoplayer,urisample}
+accesspointid		=-9999
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0064-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0064-001-OpenUrlL_command02]
+mimetype		=InvalidMIME
+url			={default_videoplayer,urisample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0065-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0066-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0067-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0067-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0068-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0070-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0070-001-Play_command02]
+endpoint		=1
+startpoint		=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0071-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0071-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0071-001-Play_command04]
+endpoint		=1000000
+startpoint		=-999999
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0073-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0073-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0073-001-Play_command04]
+endpoint		=-9999999999
+startpoint		=99999999999
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0074-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0075-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0076-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0076-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0076-001-SetPriorityL_command03]
+priority		=-1000
+prioritypreference	=Time
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0077-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0077-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0077-001-SetPriorityL_command03]
+priority		=1000
+prioritypreference	=Time
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0078-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0078-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0078-001-SetPriorityL_command03]
+priority		=10
+prioritypreference	=-1000
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0079-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0079-001-SetPriorityL_command02]
+priority		=100
+prioritypreference	=Time
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0080-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0081-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0081-001-SetDisplayWindowL_command02]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+screenrectbx		=60
+screenrectby		=60
+invalidsession		=TRUE
+cliprectay		=10
+cliprectax		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0082-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0082-001-SetDisplayWindowL_command02]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+invalidscreendevice	=TRUE
+screenrectax		=10
+screenrectbx		=60
+screenrectby		=60
+cliprectay		=10
+cliprectax		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0083-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0083-001-SetDisplayWindowL_command02]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+invalidwindow		=TRUE
+screenrectax		=10
+screenrectbx		=60
+screenrectby		=60
+cliprectay		=10
+cliprectax		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0084-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0084-001-SetDisplayWindowL_command02]
+cliprectbx		=60
+cliprectby		=60
+cliprectay		=10
+screenrectax		=-10
+screenrectbx		=-60
+screenrectby		=-60
+screenrectay		=-10
+cliprectax		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0085-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0085-001-SetDisplayWindowL_command02]
+cliprectbx		=-60
+cliprectby		=-60
+cliprectay		=-10
+screenrectax		=10
+screenrectbx		=60
+screenrectby		=60
+screenrectay		=10
+cliprectax		=-10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0086-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0086-001-GetVideoLoadingProgressL_command03]
+videoloadingprogress	=100
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0087-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0087-001-GetFrameL_command02]
+displaymode		=Gray2
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0089-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0089-001-GetFrameL_command02]
+intent=EPlay
+displaymode		=Gray2
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0091-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0092-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0092-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0093-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0093-001-VideoFrameRateL_command02]
+videoframerate		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0094-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0094-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0094-001-VideoFrameRateL_command03]
+videoframerate		=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0095-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0095-001-SetVideoFrameRateL_command02]
+videoframerate		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0096-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0096-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0096-001-SetVideoFrameRateL_command04]
+videoframerate		=-10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0096-001-VideoFrameRateL_command05]
+videoframerate		=-10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0097-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0097-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0097-001-SetVideoFrameRateL_command05]
+videoframerate		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0097-001-VideoFrameRateL_command06]
+videoframerate		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0098-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0098-001-VideoFrameSizeL_command02]
+videoframewidth		=100
+videoframeheight	=50
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0099-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0099-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0099-001-VideoFrameSizeL_command04]
+videoframewidth		=100
+videoframeheight	=50
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0100-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0100-001-VideoFormatMimeType_command02]
+videoformat		=
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0101-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0101-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0101-001-VideoFormatMimeType_command04]
+videoformat		=
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0102-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0102-001-VideoBitRateL_command02]
+videobitrate		=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0103-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0103-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0103-001-VideoBitRateL_command04]
+videobitrate		=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0104-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0104-001-AudioBitRateL_command02]
+audiobitrate		=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0105-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0105-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0105-001-AudioBitRateL_command04]
+audiobitrate		=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0106-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0106-001-AudioTypeL_command02]
+fourcc			=KMMFFourCCCodeNULL
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0107-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0107-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0107-001-AudioTypeL_command04]
+fourcc			=KMMFFourCCCodeNULL
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0108-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0108-001-AudioEnabledL_command02]
+audioenabled		=TRUE
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0109-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0109-001-SetPositionL_command02]
+position		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0110-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0110-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0110-001-PositionL_command05]
+position		=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0110-001-SetPositionL_command06]
+position		=99999999
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0110-001-PositionL_command07]
+position		=1000000
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0111-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0111-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0111-001-SetPositionL_command04]
+position		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0111-001-PositionL_command05]
+position		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0111-001-SetPositionL_command06]
+position		=-10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0111-001-PositionL_command07]
+position		=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0112-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0112-001-PositionL_command02]
+position		=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0113-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0113-001-DurationL_command02]
+duration		=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0114-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0114-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0114-001-DurationL_command04]
+duration		=1000000
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0115-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0115-001-SetVolumeL_command02]
+volume			=95
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0116-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0116-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0116-001-SetVolumeL_command05]
+volume			=99999999
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0117-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0117-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0117-001-SetVolumeL_command03]
+volume			=-100
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0118-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0118-001-Volume_command02]
+volume			=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0119-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0120-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0120-001-SetBalanceL_command02]
+balance			=50
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0121-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0121-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0121-001-SetBalanceL_command03]
+balance			=1000
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0121-001-Balance_command04]
+balance			=1
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0122-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0122-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0122-001-SetBalanceL_command03]
+balance			=-50
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0122-001-Balance_command04]
+balance			=1
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0123-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0123-001-Balance_command02]
+balance			=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0124-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0124-001-SetRotationL_command02]
+rotation		=Clockwise90
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0125-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0125-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0125-001-SetRotationL_command04]
+rotation		=Clockwise90
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0126-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0126-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0126-001-SetRotationL_command04]
+rotation		=-1
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0126-001-RotationL_command05]
+rotation		=-1
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0127-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0127-001-RotationL_command02]
+rotation		=Clockwise90
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0128-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0128-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0128-001-RotationL_command03]
+rotation		=None
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0129-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0129-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0129-001-RotationL_command03]
+rotation		=None
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0130-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0130-001-SetScaleFactorL_command02]
+antialiasing		=EFalse
+widthpercentage		=55
+heightpercentage	=55
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0131-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0131-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0131-001-SetScaleFactorL_command04]
+antialiasing		=TRUE
+widthpercentage		=-55
+heightpercentage	=-55
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0131-001-GetScaleFactorL_command05]
+antialiasing		=TRUE
+widthpercentage		=-55
+heightpercentage	=-55
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0132-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0132-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0132-001-SetScaleFactorL_command04]
+antialiasing		=FALSE
+widthpercentage		=-55
+heightpercentage	=-55
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0132-001-GetScaleFactorL_command05]
+antialiasing		=FALSE
+widthpercentage		=-55
+heightpercentage	=-55
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0133-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0133-001-GetScaleFactorL_command02]
+antialiasing		=FALSE
+widthpercentage		=55
+heightpercentage	=55
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0134-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0134-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0134-001-GetScaleFactorL_command03]
+antialiasing		=FALSE
+widthpercentage		=0
+heightpercentage	=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0135-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0135-001-SetCropRegionL_command02]
+screenrectay		=10
+screenrectbx		=60
+screenrectby		=60
+screenrectax		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0136-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0136-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0136-001-SetCropRegionL_command04]
+screenrectay		=-10
+screenrectbx		=-60
+screenrectby		=-60
+screenrectax		=-10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0136-001-GetCropRegionL_command05]
+screenrectay		=-10
+screenrectbx		=-60
+screenrectby		=-60
+screenrectax		=-10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0137-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0137-001-GetCropRegionL_command02]
+screenrectbx		=60
+screenrectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0137-001-~_command03]
+screenrectay		=10
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0138-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0138-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0138-001-GetCropRegionL_command04]
+screenrectay		=0
+screenrectbx		=0
+screenrectby		=0
+screenrectax		=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0139-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0139-001-NumberOfMetaDataEntriesL_command02]
+nrofmetadataentries	=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0140-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0140-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0140-001-NumberOfMetaDataEntriesL_command04]
+nrofmetadataentries	=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0141-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0141-001-MetaDataEntryL_command02]
+metadataentryindex	=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0142-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0142-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0142-001-MetaDataEntryL_command04]
+metadataentryindex	=-1
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0143-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0143-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		=\multimedia\t_videoplayerutility\corrupted.avi
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0143-001-MetaDataEntryL_command04]
+metadataentryindex	=0
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0144-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0145-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0145-001-CustomCommandSync_command02]
+function		=1
+usedatafrom		=TRUE
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0146-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0146-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0146-001-CustomCommandSync_command04]
+function		=-1
+usedatafrom		=FALSE
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0147-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0147-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0147-001-CustomCommandSync_command04]
+function		=-1
+usedatafrom		=TRUE
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0148-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0148-001-CustomCommandAsync_command02]
+function		=1
+usedatafrom		=TRUE
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0149-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0149-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0149-001-CustomCommandAsync_command04]
+function		=-1
+usedatafrom		=FALSE
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0150-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0150-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0150-001-CustomCommandAsync_command04]
+function		=-1
+usedatafrom		=TRUE
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0151-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0152-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0153-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0153-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0154-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0155-001-NewL_command01]
+cliprectbx		=60
+cliprectby		=60
+screenrectay		=10
+screenrectax		=10
+priority		=EMdaPriorityNormal
+screenrectbx		=60
+prioritypreference	=None
+cliprectay		=10
+cliprectax		=10
+screenrectby		=60
+
+
+[MM-MMF-VCLNT-PLYR-PublicAPI-0155-001-OpenFileL_command02]
+openfiletype		=TDesC
+filename		={default_videoplayer,sample}
+
+
+[VideoPlayerUtility1]
+name			=VideoPlayerUtility1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/group/T_VideoRecorderUtility.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+TARGET			t_videorecorderutility.exe
+TARGETTYPE		exe
+UID				0x1000007A 0x20000F7D
+VENDORID		0x70000001
+
+CAPABILITY		UserEnvironment MultimediaDD
+
+SOURCEPATH		../src
+
+SOURCE			../../../common/src/DataWrapperBase.cpp
+SOURCE			../../../common/src/T_MMUtil.cpp
+SOURCE			../../../ecam/T_Camera/src/T_MMDataCamera.cpp
+
+SOURCE			T_MMDataVideoRecorderUtility.cpp
+SOURCE			T_VideoRecorderUtilityServer.cpp
+
+USERINCLUDE		../inc
+USERINCLUDE		../../../common/inc
+USERINCLUDE		../../../ecam/T_Camera/inc
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE	/epoc32/include/test
+
+LIBRARY			euser.lib
+LIBRARY			efsrv.lib
+LIBRARY			fbscli.lib
+LIBRARY			mmfcontrollerframework.lib
+LIBRARY			mediaclientvideo.lib
+LIBRARY			bafl.lib
+LIBRARY			ecam.lib
+LIBRARY			ws32.lib
+LIBRARY			testexecuteutils.lib
+LIBRARY			testexecutelogclient.lib
+LIBRARY			imageconversion.lib
+LIBRARY			iniparser.lib
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,35 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTEXPORTS
+t_videorecorderutility.iby								/epoc32/rom/include/t_videorecorderutility.iby
+t_videorecorderutility_binaries.iby						/epoc32/rom/include/t_videorecorderutility_binaries.iby
+t_videorecorderutility_testdata.iby						/epoc32/rom/include/t_videorecorderutility_testdata.iby
+
+../pkg/T_VideoRecorderUtility.pkg						/epoc32/pkg/t_videorecorderutility.pkg
+../pkg/tvideorecorderutility.bat						/epoc32/pkg/tvideorecorderutility.bat
+../scripts/MM-MMF-VCLNT-RCRDR-PublicAPI.script			/epoc32/pkg/mm-mmf-vclnt-rcrdr-publicapi.script
+
+../testdata/MM-MMF-VCLNT-RCRDR-PublicAPI.ini			/epoc32/pkg/mm-mmf-vclnt-rcrdr-publicapi.ini
+
+../scripts/setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script	z:/multimedia/setup-mm-mmf-vclnt-rcrdr-publicapi.script
+../scripts/MM-MMF-VCLNT-RCRDR-PublicAPI.script			z:/multimedia/mm-mmf-vclnt-rcrdr-publicapi.script
+
+../testdata/MM-MMF-VCLNT-RCRDR-PublicAPI.ini			z:/multimedia/mm-mmf-vclnt-rcrdr-publicapi.ini
+
+PRJ_TESTMMPFILES
+T_VideoRecorderUtility.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/group/t_videorecorderutility.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,24 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_VIDEORECORDERUTILITY_IBY__)
+#define __T_VIDEORECORDERUTILITY_IBY__
+
+#include <t_videorecorderutility_binaries.iby>
+#include <t_videorecorderutility_testdata.iby>
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/group/t_videorecorderutility_binaries.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,29 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_VIDEORECORDERUTILITY_BINARIES_IBY__)
+#define __T_VIDEORECORDERUTILITY_BINARIES_IBY__
+
+#include <testexecute.iby>
+
+#if (!defined EKA2)
+file=ABI_DIR\BUILD_DIR\t_videorecorderutility.exe 	system\libs\t_videorecorderutility.exe
+#else
+file=ABI_DIR\BUILD_DIR\t_videorecorderutility.exe 	system\bin\t_videorecorderutility.exe
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/group/t_videorecorderutility_testdata.iby	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,25 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+#if (!defined __T_VIDEORECORDERUTILITY_TESTDATA_IBY__)
+#define __T_VIDEORECORDERUTILITY_TESTDATA_IBY__
+
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.script			multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.script
+
+data=EPOCROOT##Epoc32\data\z\multimedia\setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script	multimedia\setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+data=EPOCROOT##Epoc32\data\z\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini			multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/inc/T_MMDataVideoRecorderUtility.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,141 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_MM_DATA_VIDEO_RECORDER_UTILITY_H__)
+#define __T_MM_DATA_VIDEO_RECORDER_UTILITY_H__
+
+//	User includes
+#include "DataWrapperBase.h"
+
+//	EPOC includes
+#include <videorecorder.h>
+#include <fbs.h>
+
+/**
+ * Test Active Notification class
+ *
+ */
+class CT_MMDataVideoRecorderUtility : public CDataWrapperBase, private MVideoRecorderUtilityObserver
+	{
+public:
+	/**
+	* Two phase constructor
+	*/
+	static CT_MMDataVideoRecorderUtility*	NewL();
+
+	/**
+	* Public destructor
+	*/
+	~CT_MMDataVideoRecorderUtility();
+
+	//	CTPDataWithDictionaryAccess implementation
+	virtual TAny*	GetObject();
+	virtual TBool	DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+
+protected:
+	/**
+	* Protected constructor. First phase construction
+	*/
+	CT_MMDataVideoRecorderUtility();
+
+	void					ConstructL();
+
+private:
+	inline void		DoCmdDestructor();
+	inline void		DoCmdAddMetaDataEntryL(const TDesC& aSection);
+	inline void		DoCmdAudioBitRateL(const TDesC& aSection);
+	inline void		DoCmdAudioEnabledL(const TDesC& aSection);
+	inline void		DoCmdAudioTypeL(const TDesC& aSection);
+	inline void		DoCmdClose();
+	inline void		DoCmdControllerImplementationInformationL();
+	inline void		DoCmdCustomCommandAsync(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void		DoCmdCustomCommandSync(const TDesC& aSection);
+	inline void		DoCmdDurationL(const TDesC& aSection);
+	inline void		DoCmdGainL(const TDesC& aSection);
+	inline void		DoCmdGetPriorityL(const TDesC& aSection);
+	inline void		DoCmdGetSupportedAudioTypesL();
+	inline void		DoCmdGetSupportedVideoTypesL();
+	inline void		DoCmdGetVideoFrameSizeL(const TDesC& aSection);
+	inline void		DoCmdMaxGainL(const TDesC& aSection);
+	inline void		DoCmdMetaDataEntryL(const TDesC& aSection);
+	inline void		DoCmdNewL(const TDesC& aSection);
+	inline void		DoCmdNumberOfMetaDataEntriesL(const TDesC& aSection);
+	inline void		DoCmdOpenDesL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void		DoCmdOpenFileL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void		DoCmdOpenUrlL(const TDesC& aSection, const TInt aAsyncErrorIndex);
+	inline void		DoCmdPauseL();
+	inline void		DoCmdPrepare(const TInt aAsyncErrorIndex);
+	inline void		DoCmdRecord(const TInt aAsyncErrorIndex);
+	inline void		DoCmdRecordTimeAvailable(const TDesC& aSection);
+	inline void		DoCmdRemoveMetaDataEntryL(const TDesC& aSection);
+	inline void		DoCmdReplaceMetaDataEntryL(const TDesC& aSection);
+	inline void		DoCmdSetAudioBitRateL(const TDesC& aSection);
+	inline void		DoCmdSetAudioEnabledL(const TDesC& aSection);
+	inline void		DoCmdSetAudioTypeL(const TDesC& aSection);
+	inline void		DoCmdSetGainL(const TDesC& aSection);
+	inline void		DoCmdSetMaxClipSizeL(const TDesC& aSection);
+	inline void		DoCmdSetPriorityL(const TDesC& aSection);
+	inline void		DoCmdSetVideoBitRateL(const TDesC& aSection);
+	inline void		DoCmdSetVideoFrameRateL(const TDesC& aSection);
+	inline void		DoCmdSetVideoFrameSizeL(const TDesC& aSection);
+	inline void		DoCmdSetVideoTypeL(const TDesC& aSection);
+	inline void		DoCmdStop();
+	inline void		DoCmdVideoBitRateL(const TDesC& aSection);
+	inline void		DoCmdVideoFormatMimeTypeL(const TDesC& aSection);
+	inline void		DoCmdVideoFrameRateL(const TDesC& aSection);
+
+	//	MVideoRecorderUtilityObserver implementation
+	virtual void			MvruoOpenComplete(TInt aError);
+	virtual void			MvruoPrepareComplete(TInt aError);
+	virtual void			MvruoRecordComplete(TInt aError);
+	virtual void			MvruoEvent(const TMMFEvent &aEvent);
+
+	//	MActiveCallback implementation
+	virtual void			RunL(CActive* aActive, TInt aIndex);
+ 	virtual void			DoCancel(CActive* aActive, TInt aIndex);
+	inline void				RunActiveL(TInt aIndex);
+	inline void				DoCancelActive();
+
+ 	//	Helper methods
+ 	void					DestroyData();
+ 	void					DeleteFile(const TDesC& aSection);
+
+	//	Helper
+	void					ReadCameraHandleL(const TDesC& aSection, TInt& aCameraHandle);
+
+private:
+	CVideoRecorderUtility*	iVideoRecorderUtility;
+	CActiveCallback*		iActiveCallback;
+	HBufC8*					iBuffer;
+	TPtr8*					iBufferPtr;
+	TInt					iBufferSize;
+	RFile					iFile;
+	TBool					iFileOpened;
+	TUid					iVideoControllerUid;
+	TUid					iVideoFormatUid;
+	RArray<TFourCC>			iSupportedAudioTypes;
+	/** For Asynchronous methods withound CActive **/
+	TInt 					iApiAsyncErrorIndex;
+	TBool					iRecordStarted;
+
+	/** RFs class instance for additional purpoces */
+	RFs						iFs;
+	};
+
+#endif /* __T_MM_DATA_VIDEO_RECORDER_UTILITY_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/inc/T_VideoRecorderUtilityServer.h	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#if (!defined __T_VIDEO_RECORDER_UTILITY_SERVER_H__)
+#define __T_VIDEO_RECORDER_UTILITY_SERVER_H__
+
+//	EPOC Includes
+#include <testblockcontroller.h>
+#include <testserver2.h>
+
+class CT_VideoRecorderUtilityServer : public CTestServer2
+	{
+private:
+	class CT_VideoRecorderUtilityBlock : public CTestBlockController
+		{
+	public:
+		inline CT_VideoRecorderUtilityBlock();
+		inline ~CT_VideoRecorderUtilityBlock();
+
+		inline CDataWrapper*	CreateDataL(const TDesC& aData);
+		};
+
+public:
+	inline ~CT_VideoRecorderUtilityServer();
+
+	inline void	DeleteActiveSchedulerL();
+
+	static CT_VideoRecorderUtilityServer* NewL();
+
+	inline CTestBlockController*	CreateTestBlock();
+
+protected:
+	inline CT_VideoRecorderUtilityServer();
+	};
+
+#include "T_VideoRecorderUtilityServer.inl"
+
+#endif /* __T_VIDEO_RECORDER_UTILITY_SERVER_H__ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/inc/T_VideoRecorderUtilityServer.inl	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataVideoRecorderUtility.h"
+#include "T_MMDataCamera.h"
+
+_LIT(KDataCamera,					"CCamera");
+_LIT(KDataVideoRecorderUtility,		"CVideoRecorderUtility");
+
+CT_VideoRecorderUtilityServer::CT_VideoRecorderUtilityBlock::CT_VideoRecorderUtilityBlock()
+	:	CTestBlockController()
+	{
+	}
+
+CT_VideoRecorderUtilityServer::CT_VideoRecorderUtilityBlock::~CT_VideoRecorderUtilityBlock()
+	{
+	}
+
+CDataWrapper* CT_VideoRecorderUtilityServer::CT_VideoRecorderUtilityBlock::CreateDataL(const TDesC& aData)
+	{
+	CDataWrapper*	wrapper = NULL;
+	if( KDataVideoRecorderUtility() == aData )
+		{
+		wrapper = CT_MMDataVideoRecorderUtility::NewL();
+		}
+	else if(KDataCamera() == aData)
+		{
+		wrapper = CT_MMDataCamera::NewL();
+		}
+	return wrapper;
+	}
+
+CT_VideoRecorderUtilityServer::CT_VideoRecorderUtilityServer()
+	{
+	}
+
+CT_VideoRecorderUtilityServer::~CT_VideoRecorderUtilityServer()
+	{
+	}
+
+void CT_VideoRecorderUtilityServer::DeleteActiveSchedulerL()
+	{
+	}
+
+CTestBlockController* CT_VideoRecorderUtilityServer::CreateTestBlock()
+	{
+	return new CT_VideoRecorderUtilityBlock();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/pkg/T_VideoRecorderUtility.pkg	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,50 @@
+;
+; Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+;
+;
+; Install file for T_VideoRecorderUtility.exe
+;
+
+; Languages - 
+&EN
+
+; Installation header
+; UID is the app's UID
+#{"T_VideoRecorderUtility"},(0x20000F7D),1,0,0
+
+;%{"Vendor-EN"}
+;:"Symbian"
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+
+"T_VideoRecorderUtility.exe"-"!:\sys\bin\T_VideoRecorderUtility.exe"
+"tvideorecorderutility.bat"-"!:\multimedia\tvideorecorderutility.bat"
+"MM-MMF-VCLNT-RCRDR-PublicAPI.script"-"!:\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.script"
+"t_multimedia.tcs"-"!:\multimedia\t_multimedia.tcs"
+"MM-MMF-VCLNT-RCRDR-PublicAPI.ini"-"!:\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini"
+"t_multimedia.ini"-"!:\multimedia\t_multimedia.ini"
+
+
+; Required files
+; None
+
+; Component .sis files
+; None
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/pkg/tvideorecorderutility.bat	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2005-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: 
+@rem
+
+testexecute \multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/scripts/MM-MMF-VCLNT-RCRDR-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1714 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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
+//! @SYMTestSuiteName		MM-MMF-VCLNT-RCRDR-PublicAPI
+//! @SYMScriptTestEnvironment	This test script requires a ROM with either a test Camera / video recorder implementation
+//!				or hardware that has one or more cameras with video recorder functionality.
+/////////////////////////////////////////////////////////////////////
+// MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//
+// Tests all public elements of the CVideoRecorderUtility class
+// as a means of confidence that the APIs work as expected.
+//
+// The purpose is to provide a regression test suite of PublishedAll APIs for CVideoRecorderUtility.
+// Negative testing is performed to confirm that correct errors are returned when incorrect parameters are given.
+// The tests are fully automated.
+/////////////////////////////////////////////////////////////////////
+
+LOAD_SUITE	T_VideoRecorderUtility
+
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0001
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0001
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		12/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, record to file using RFile and stop recording.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), Record(), Stop(), Close(), ControllerImplementationInformationL().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open file to record to. 3. Prepare recording.
+//!				4. Start recording. 5. Start timer. 6. Stop recording. 7. Close file. 8. Get controller implementation information.
+//!				9. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Video is recorded to file with no error
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0001-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0001-001-NewL_command05
+		COMMAND		videorecorderutility1	OpenFileL	MM-MMF-VCLNT-RCRDR-PublicAPI-0001-001-OpenFileL_command06
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Stop
+		COMMAND		videorecorderutility1	ControllerImplementationInformationL
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0001
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0002
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0002
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		12/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, record to file without using RFile and stop recording.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), Record(), Stop(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open file to record to. 3. Prepare recording.
+//!				4. Start recording. 5. Start timer. 6. Stop recording. 7. Close file. 8. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Video is recorded to file with no error
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0002-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetBrightnessL		MM-MMF-VCLNT-RCRDR-PublicAPI-0002-001-SetBrightnessL_command05
+		COMMAND		camera1	SetContrastL		MM-MMF-VCLNT-RCRDR-PublicAPI-0002-001-SetContrastL_command06
+		COMMAND		camera1	SetJpegQuality		MM-MMF-VCLNT-RCRDR-PublicAPI-0002-001-SetJpegQuality_command07
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0002-001-NewL_command09
+		COMMAND		videorecorderutility1	OpenFileL		MM-MMF-VCLNT-RCRDR-PublicAPI-0002-001-OpenFileL_command10
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Stop
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0002
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0003
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0003
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		12/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, record to descriptor and stop recording.
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), Record(), Stop(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to. 3. Prepare recording.
+//!				4. Start recording. 5. Start timer. 6. Stop recording. 7. Close descriptor. 8. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Video is recorded to descriptor with no error
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0003-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetBrightnessL		MM-MMF-VCLNT-RCRDR-PublicAPI-0003-001-SetBrightnessL_command05
+		COMMAND		camera1	SetContrastL		MM-MMF-VCLNT-RCRDR-PublicAPI-0003-001-SetContrastL_command06
+		COMMAND		camera1	SetJpegQuality		MM-MMF-VCLNT-RCRDR-PublicAPI-0003-001-SetJpegQuality_command07
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0003-001-NewL_command09
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0003-001-OpenDesL_command10
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Stop
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0003
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0004
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0004
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		12/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, record to URL and stop recording.
+//!				Uses API elements: NewL(), OpenUrlL(), Prepare(), Record(), Stop(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open URL to record to. 3. Prepare recording.
+//!				4. Start recording. 5. Start timer. 6. Stop recording. 7. Close URL. 8. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Video is recorded to URL with no error
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0004-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetBrightnessL		MM-MMF-VCLNT-RCRDR-PublicAPI-0004-001-SetBrightnessL_command05
+		COMMAND		camera1	SetContrastL		MM-MMF-VCLNT-RCRDR-PublicAPI-0004-001-SetContrastL_command06
+		COMMAND		camera1	SetJpegQuality		MM-MMF-VCLNT-RCRDR-PublicAPI-0004-001-SetJpegQuality_command07
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0004-001-NewL_command09
+		COMMAND		videorecorderutility1	OpenUrlL		MM-MMF-VCLNT-RCRDR-PublicAPI-0004-001-OpenUrlL_command10
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Stop
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0004
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0005
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0005
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		12/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, record to file without using RFile and pause, stop and restart recording.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), Record(), PauseL(), Close(), Stop().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open file to record to. 3. Prepare recording.
+//!				4. Start timer. 5. Start recording. 6. Pause recording. 7. Continue timer. 8. Close file.
+//!				9. Open file to record to. 10. Prepare recording. 11. Start timer. 12. Start recording.
+//!				13. Stop recording. 14. Close file. 15. Open file to record to. 16. Prepare recording.
+//!				17. Start recording. 18. Close file. 19. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Video is recorded to file with no error
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	120	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0005-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetViewFinderMirrorL		MM-MMF-VCLNT-RCRDR-PublicAPI-0005-001-SetViewFinderMirrorL_command05
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0005-001-NewL_command07
+		COMMAND		videorecorderutility1	OpenFileL		MM-MMF-VCLNT-RCRDR-PublicAPI-0005-001-OpenFileL_command08
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND		videorecorderutility1	PauseL
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	OpenFileL		MM-MMF-VCLNT-RCRDR-PublicAPI-0005-001-OpenFileL_command14
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Stop
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	OpenFileL		MM-MMF-VCLNT-RCRDR-PublicAPI-0005-001-OpenFileL_command20
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0005
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0006
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0006
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		12/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, open descriptor and call Priority get/set functions.
+//!				Uses API elements: NewL(), OpenDesL(), GetPriorityL(), SetPriorityL(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to.
+//!				3-9. Get and set every priority. 10. Close descriptor. 11. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	All Priority get/set functions work correctly
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetZoomFactorL		MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-SetZoomFactorL_command05
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-NewL_command07
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-OpenDesL_command08
+		OUTSTANDING
+		COMMAND		videorecorderutility1	GetPriorityL		MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-GetPriorityL_command09
+		COMMAND		videorecorderutility1	SetPriorityL		MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-SetPriorityL_command10
+		COMMAND		videorecorderutility1	GetPriorityL		MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-GetPriorityL_command11
+		COMMAND		videorecorderutility1	SetPriorityL		MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-SetPriorityL_command12
+		COMMAND		videorecorderutility1	GetPriorityL		MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-GetPriorityL_command13
+		COMMAND		videorecorderutility1	SetPriorityL		MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-SetPriorityL_command14
+		COMMAND		videorecorderutility1	GetPriorityL		MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-GetPriorityL_command15
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0006
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0007
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0007
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		12/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, open descriptor and call VideoFrameRate get/set functions.
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), VideoFrameRateL(), SetVideoFrameRateL(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to.
+//!				3. Prepare recording. 4-6. Get and set VideoFrameRates. 7. Close descriptor. 8. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	All VideoFrameRate get/set functions work correctly
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0007-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetZoomFactorL		MM-MMF-VCLNT-RCRDR-PublicAPI-0007-001-SetZoomFactorL_command05
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0007-001-NewL_command07
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0007-001-OpenDesL_command08
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	VideoFrameRateL
+		COMMAND		videorecorderutility1	SetVideoFrameRateL		MM-MMF-VCLNT-RCRDR-PublicAPI-0007-001-SetVideoFrameRateL_command11
+		COMMAND		videorecorderutility1	VideoFrameRateL		MM-MMF-VCLNT-RCRDR-PublicAPI-0007-001-VideoFrameRateL_command12
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0007
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0008
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0008
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		12/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, open descriptor and call VideoFrameSize get/set functions.
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), GetVideoFrameSizeL(), SetVideoFrameSizeL(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to.
+//!				3. Prepare recording. 4-6. Get and set VideoFrameSizes. 7. Close descriptor. 8. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	All VideoFrameSize get/set functions work correctly
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0008-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetDigitalZoomFactorL
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0008-001-NewL_command07
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0008-001-OpenDesL_command08
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	GetVideoFrameSizeL
+		COMMAND		videorecorderutility1	SetVideoFrameSizeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0008-001-SetVideoFrameSizeL_command11
+		COMMAND		videorecorderutility1	GetVideoFrameSizeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0008-001-GetVideoFrameSizeL_command12
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0008
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0009
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0009
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		12/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, open descriptor and call VideoBitRate get/set functions.
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), VideoBitRateL(), SetVideoBitRateL(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to.
+//!				3. Prepare recording. 4-6. Get and set VideoBitRates. 7. Close descriptor. 8. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	All VideoBitRate get/set functions work correctly
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0009-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetDigitalZoomFactorL
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0009-001-NewL_command07
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0009-001-OpenDesL_command08
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	VideoBitRateL
+		COMMAND		videorecorderutility1	SetVideoBitRateL		MM-MMF-VCLNT-RCRDR-PublicAPI-0009-001-SetVideoBitRateL_command11
+		COMMAND		videorecorderutility1	VideoBitRateL
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0009
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0010
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0010
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		12/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, open descriptor and call AudioBitRate get/set functions.
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), AudioBitRateL(), SetAudioBitRateL(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to.
+//!				3. Prepare recording. 4-6. Get and set AudioBitRates. 7. Close descriptor. 8. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	All AudioBitRate get/set functions work correctly
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0010-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetWhiteBalanceL		MM-MMF-VCLNT-RCRDR-PublicAPI-0010-001-SetWhiteBalanceL_command05
+		COMMAND		camera1	SetExposureL		MM-MMF-VCLNT-RCRDR-PublicAPI-0010-001-SetExposureL_command06
+		COMMAND		camera1	SetFlashL		MM-MMF-VCLNT-RCRDR-PublicAPI-0010-001-SetFlashL_command07
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0010-001-NewL_command09
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0010-001-OpenDesL_command10
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	AudioBitRateL
+		COMMAND		videorecorderutility1	SetAudioBitRateL		MM-MMF-VCLNT-RCRDR-PublicAPI-0010-001-SetAudioBitRateL_command13
+		COMMAND		videorecorderutility1	AudioBitRateL
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0010
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0011
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0011
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		12/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, open descriptor and call AudioEnabled get/set functions.
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), AudioEnabledL(), SetAudioEnabledL(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to.
+//!				3. Prepare recording. 4-8. Get and set AudioEnabled on/off. 9. Close descriptor. 10. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	All AudioEnabled get/set functions work correctly
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetWhiteBalanceL		MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-SetWhiteBalanceL_command05
+		COMMAND		camera1	SetExposureL		MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-SetExposureL_command06
+		COMMAND		camera1	SetFlashL		MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-SetFlashL_command07
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-NewL_command09
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-OpenDesL_command10
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	AudioEnabledL
+		COMMAND		videorecorderutility1	SetAudioEnabledL		MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-SetAudioEnabledL_command13
+		COMMAND		videorecorderutility1	AudioEnabledL		MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-AudioEnabledL_command14
+		COMMAND		videorecorderutility1	SetAudioEnabledL		MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-SetAudioEnabledL_command15
+		COMMAND		videorecorderutility1	AudioEnabledL		MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-AudioEnabledL_command16
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0011
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0012
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0012
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		28/11/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, record to descriptor and call Duration/RecordTimeAvailable/MaxClipSize get/set functions.
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), DurationL(), RecordTimeAvailable(), Record(),
+//!				SetMaxClipSizeL(), Stop(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to. 3. Prepare recording.
+//!				4. Get duration. 5. Get record time available. 6. Record video. 7. Get duration.
+//!				8. Get record time available. 9. Set max clip size. 10. Get record time available.
+//!				11. Stop recording. 12. Close descriptor. 13. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	Video is recorded to descriptor with no error and all Duration/RecordTimeAvailable/MaxClipSize get/set functions work correctly
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	60	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetWhiteBalanceL			MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-SetWhiteBalanceL_command05
+		COMMAND		camera1	SetExposureL				MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-SetExposureL_command06
+		COMMAND		camera1	SetFlashL				MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-SetFlashL_command07
+		COMMAND		videorecorderutility1	NewL			MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-NewL_command09
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-OpenDesL_command10
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	DurationL		MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-DurationL_command12
+		COMMAND		videorecorderutility1	RecordTimeAvailable	MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-RecordTimeAvailable_command13
+		COMMAND		videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND		videorecorderutility1	DurationL		MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-DurationL_command15
+		COMMAND		videorecorderutility1	RecordTimeAvailable	MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-RecordTimeAvailable_command16
+		COMMAND		videorecorderutility1	SetMaxClipSizeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-SetMaxClipSizeL_command17
+		COMMAND		videorecorderutility1	RecordTimeAvailable	MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-RecordTimeAvailable_command18
+		COMMAND		videorecorderutility1	Stop
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0012
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0013
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0013
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		12/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, open descriptor and call Gain get/set functions.
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), GainL(), MaxGainL(), SetGainL(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to.
+//!				3. Prepare recording. 4-9. Get and set Gains. 10. Close descriptor. 11. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	All Gain get/set functions work correctly
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetWhiteBalanceL		MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-SetWhiteBalanceL_command05
+		COMMAND		camera1	SetExposureL		MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-SetExposureL_command06
+		COMMAND		camera1	SetFlashL		MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-SetFlashL_command07
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-NewL_command09
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-OpenDesL_command10
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	GainL		MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-GainL_command12
+		COMMAND		videorecorderutility1	MaxGainL		MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-MaxGainL_command13
+		COMMAND		videorecorderutility1	SetGainL		MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-SetGainL_command14
+		COMMAND		videorecorderutility1	GainL		MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-GainL_command15
+		COMMAND		videorecorderutility1	SetGainL		MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-SetGainL_command16
+		COMMAND		videorecorderutility1	GainL
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0013
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0014
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0014
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		12/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, open descriptor and call AudioType get/set functions.
+//!				Uses API elements: NewL(), OpenDesL(), AudioTypeL(), SetAudioTypeL(), GetSupportedAudioTypesL(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to.
+//!				3-43. Get and set every AudioType. 44. Get all supported audio types.
+//!				45. Close descriptor. 46. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	All AudioType get/set functions work correctly
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetWhiteBalanceL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetWhiteBalanceL_command05
+		COMMAND		camera1	SetExposureL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetExposureL_command06
+		COMMAND		camera1	SetFlashL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetFlashL_command07
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-NewL_command09
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-OpenDesL_command10
+		OUTSTANDING
+		COMMAND		videorecorderutility1	GetSupportedAudioTypesL
+		COMMAND		videorecorderutility1	AudioTypeL
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command13
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command14
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command15
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command16
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command17
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command18
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command19
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command20
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command21
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command22
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command23
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command24
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command25
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command26
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command27
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command28
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command29
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command30
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command31
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command32
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command33
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command34
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command35
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command36
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command37
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command38
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command39
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command40
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command41
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command42
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command43
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command44
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command45
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command46
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command47
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command48
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command49
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command50
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command51
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command52
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0014
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0015
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0015
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		12/12/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, open descriptor and call VideoType get/set functions.
+//!				Uses API elements: NewL(), OpenDesL(), SetVideoTypeL(), GetSupportedVideoTypesL(), VideoFormatMimeType(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to.
+//!				3-4. Set VideoTypes. 5. Get all supported video types. 6. Get video format mime type.
+//!				7. Close descriptor. 8. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		Critical
+//! @SYMTestExpectedResults	All VideoType get/set functions work correctly
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetWhiteBalanceL		MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-SetWhiteBalanceL_command05
+		COMMAND		camera1	SetExposureL		MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-SetExposureL_command06
+		COMMAND		camera1	SetFlashL		MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-SetFlashL_command07
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-NewL_command09
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-OpenDesL_command10
+		OUTSTANDING
+		COMMAND		videorecorderutility1	SetVideoTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-SetVideoTypeL_command11
+		COMMAND		videorecorderutility1	SetVideoTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-SetVideoTypeL_command12
+		COMMAND		videorecorderutility1	GetSupportedVideoTypesL
+		COMMAND		videorecorderutility1	VideoFormatMimeType
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0015
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0016
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0016
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		28/11/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, open descriptor and call MetaDataEntry functions
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), NumberOfMetaDataEntriesL(), AddMetaDataEntryL(),
+//!				MetaDataEntryL(), ReplaceMetaDataEntryL(), RemoveMetaDataEntryL(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Open descriptor to record to. 3. Prepare recording.
+//!				4. Get number of meta data entries. 5. Add meta data entry. 6. Get number of meta data entries.
+//!				7. Get meta data entry. 8. Replace meta data entry. 9. Get number of meta data entries.
+//!				10. Remove meta data entry. 11. Get number of meta data entries. 12. Close file. 13. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	MetaData functions are not supported. Expect error KErrNotSupported(-5)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	SetWhiteBalanceL		MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-SetWhiteBalanceL_command05
+		COMMAND			camera1	SetExposureL		MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-SetExposureL_command06
+		COMMAND			camera1	SetFlashL		MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-SetFlashL_command07
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-NewL_command09
+		COMMAND			videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-OpenDesL_command10
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND			videorecorderutility1	NumberOfMetaDataEntriesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-NumberOfMetaDataEntriesL_command12
+		COMMAND	!Error=-5	videorecorderutility1	AddMetaDataEntryL		MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-AddMetaDataEntryL_command13
+		COMMAND			videorecorderutility1	NumberOfMetaDataEntriesL
+		COMMAND			videorecorderutility1	MetaDataEntryL		MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-MetaDataEntryL_command15
+		COMMAND	!Error=-5	videorecorderutility1	ReplaceMetaDataEntryL		MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-ReplaceMetaDataEntryL_command16
+		COMMAND			videorecorderutility1	NumberOfMetaDataEntriesL
+		COMMAND	!Error=-5	videorecorderutility1	RemoveMetaDataEntryL		MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-RemoveMetaDataEntryL_command18
+		COMMAND			videorecorderutility1	NumberOfMetaDataEntriesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-NumberOfMetaDataEntriesL_command19
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0016
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0017
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0017
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		28/11/2005
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, open descriptor and call CustomCommand functions
+//!				Uses API elements: NewL(), OpenDesL(), CustomCommandAsync(), CustomCommandSync(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Open descriptor to record to.
+//!				3. Create async custom command. 4. Create sync custom command. 5. Create async custom command.
+//!				6. Create sync custom command. 7. Close file. 8. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	All CustomCommand functions work correctly
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetWhiteBalanceL		MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-SetWhiteBalanceL_command05
+		COMMAND		camera1	SetExposureL		MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-SetExposureL_command06
+		COMMAND		camera1	SetFlashL		MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-SetFlashL_command07
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-NewL_command09
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-OpenDesL_command10
+		OUTSTANDING
+		COMMAND		videorecorderutility1	CustomCommandAsync		MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-CustomCommandAsync_command11
+		OUTSTANDING
+		COMMAND		videorecorderutility1	CustomCommandSync		MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-CustomCommandSync_command12
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0017
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0018
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0018
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			Louis Henry Nayegon
+//! @SYMCreationDate		07/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, open descriptor and call CustomCommand functions
+//!				Uses API elements: NewL(), OpenDesL(), CustomCommandAsync(), CustomCommandSync(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Open descriptor to record to.
+//!				3. Create async custom command. 4. Create sync custom command. 5. Create async custom command.
+//!				6. Create sync custom command. 7. Close file. 8. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	CustomCommand function requires data so test should result in error KErrBadDescriptor(-38)
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	SetWhiteBalanceL		MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-SetWhiteBalanceL_command05
+		COMMAND			camera1	SetExposureL		MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-SetExposureL_command06
+		COMMAND			camera1	SetFlashL		MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-SetFlashL_command07
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-NewL_command09
+		COMMAND			videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-OpenDesL_command10
+		OUTSTANDING
+		COMMAND	!AsyncError=-38	videorecorderutility1	CustomCommandAsync		MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-CustomCommandAsync_command11
+		OUTSTANDING
+		COMMAND	!Error=-38	videorecorderutility1	CustomCommandSync		MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-CustomCommandSync_command12
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0018
+
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0019
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0019
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, record to descriptor and then delete object before completion.
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), Record().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to. 3. Prepare recording.
+//!				4. Start timer. 5. Record video. 6. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video data is recorded then stopped with no error.
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	60	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0019-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetWhiteBalanceL		MM-MMF-VCLNT-RCRDR-PublicAPI-0019-001-SetWhiteBalanceL_command05
+		COMMAND		camera1	SetExposureL		MM-MMF-VCLNT-RCRDR-PublicAPI-0019-001-SetExposureL_command06
+		COMMAND		camera1	SetFlashL		MM-MMF-VCLNT-RCRDR-PublicAPI-0019-001-SetFlashL_command07
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0019-001-NewL_command09
+		COMMAND		videorecorderutility1	OpenFileL		MM-MMF-VCLNT-RCRDR-PublicAPI-0019-001-OpenFileL_command10
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0019
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0020
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0020
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Delete file being recorded to, during recording.
+//!				Uses API elements: NewL(), OpenFileL(), Prepare(), Record().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open file to record to. 3. Prepare recording.
+//!				4. Start recording. 5. Start timer. 6. Delete video file. 7. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrInUse is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	100	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0020-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	SetWhiteBalanceL		MM-MMF-VCLNT-RCRDR-PublicAPI-0020-001-SetWhiteBalanceL_command05
+		COMMAND			camera1	SetExposureL		MM-MMF-VCLNT-RCRDR-PublicAPI-0020-001-SetExposureL_command06
+		COMMAND			camera1	SetFlashL		MM-MMF-VCLNT-RCRDR-PublicAPI-0020-001-SetFlashL_command07
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0020-001-NewL_command09
+		COMMAND			videorecorderutility1	OpenFileL		MM-MMF-VCLNT-RCRDR-PublicAPI-0020-001-OpenFileL_command10
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Record
+		COMMAND	!Error=-14	videorecorderutility1	deletefile	MM-MMF-VCLNT-RCRDR-PublicAPI-0020-001-deletefile_command14
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Stop
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0020
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0021
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0021
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Call Priority set function with bad value.
+//!				Uses API elements: NewL(), OpenDesL(), SetPriorityL(), GetPriorityL(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to.
+//!				3. Set bad priority values. 4. Get Priority. 5. Close descriptor. 6. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Bad priority values are not set
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetWhiteBalanceL		MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-SetWhiteBalanceL_command05
+		COMMAND		camera1	SetExposureL		MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-SetExposureL_command06
+		COMMAND		camera1	SetFlashL		MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-SetFlashL_command07
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-NewL_command09
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-OpenDesL_command10
+		OUTSTANDING
+		COMMAND		videorecorderutility1	SetPriorityL		MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-SetPriorityL_command11
+		COMMAND		videorecorderutility1	GetPriorityL		MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-GetPriorityL_command12
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0021
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0022
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0022
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Call VideoFrameRate set function with bad value.
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), SetVideoFrameRateL(),VideoFrameRateL(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to.
+//!				3. Prepare recording. 4. Set good VideoFrameRate. 5. Set bad VideoFrameRate. 6. Get VideoFrameRate.
+//!				7. Close descriptor. 8. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Bad VideoFrameRate value is not set
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetWhiteBalanceL		MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-SetWhiteBalanceL_command05
+		COMMAND		camera1	SetExposureL		MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-SetExposureL_command06
+		COMMAND		camera1	SetFlashL		MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-SetFlashL_command07
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-NewL_command09
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-OpenDesL_command10
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	SetVideoFrameRateL		MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-SetVideoFrameRateL_command12
+		COMMAND		videorecorderutility1	SetVideoFrameRateL		MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-SetVideoFrameRateL_command13
+		COMMAND		videorecorderutility1	VideoFrameRateL		MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-VideoFrameRateL_command14
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0022
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0023
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0023
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Call VideoBitRate set function with bad value.
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), SetVideoBitRateL(), VideoBitRateL(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to.
+//!				3. Prepare recording. 4. Set negative VideoBitRate. 5. Get VideoBitRate. 6. Close descriptor. 7. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	VideoBitRate is returned as 0
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetWhiteBalanceL		MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-SetWhiteBalanceL_command05
+		COMMAND		camera1	SetExposureL		MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-SetExposureL_command06
+		COMMAND		camera1	SetFlashL		MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-SetFlashL_command07
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-NewL_command09
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-OpenDesL_command10
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	SetVideoBitRateL		MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-SetVideoBitRateL_command12
+		COMMAND		videorecorderutility1	VideoBitRateL		MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-VideoBitRateL_command13
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0023
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0024
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0024
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Call AudioBitRate set function with bad value.
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), SetAudioBitRateL(), AudioBitRateL(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to.
+//!				3. Prepare recording. 4. Set negative AudioBitRate. 5. Get AudioBitRate. 6. Close descriptor. 7. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	AudioBitRate is returned as 0
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		camera1	CameraInfo
+		COMMAND		camera1	SetBrightnessL		MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetBrightnessL_command05
+		COMMAND		camera1	SetContrastL		MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetContrastL_command06
+		COMMAND		camera1	SetJpegQuality		MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetJpegQuality_command07
+		COMMAND		camera1	SetViewFinderMirrorL		MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetViewFinderMirrorL_command08
+		COMMAND		camera1	SetZoomFactorL		MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetZoomFactorL_command09
+		COMMAND		camera1	SetDigitalZoomFactorL
+		COMMAND		camera1	SetWhiteBalanceL		MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetWhiteBalanceL_command11
+		COMMAND		camera1	SetExposureL		MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetExposureL_command12
+		COMMAND		camera1	SetFlashL		MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetFlashL_command13
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-NewL_command15
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-OpenDesL_command16
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	SetAudioBitRateL		MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetAudioBitRateL_command18
+		COMMAND		videorecorderutility1	AudioBitRateL		MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-AudioBitRateL_command19
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0024
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0025
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0025
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Call VideoType set function with bad value.
+//!				Uses API elements: NewL(), OpenDesL(), SetVideoTypeL(), VideoFormatMimeType(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to.
+//!				3. Set bad VideoType. 4. Prepare recording. 5. Start timer.
+//!				6. Start recording. 7. Stop recording. 8. Close file. 9. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			camera1	CameraInfo
+		COMMAND			camera1	SetBrightnessL		MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetBrightnessL_command05
+		COMMAND			camera1	SetContrastL		MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetContrastL_command06
+		COMMAND			camera1	SetJpegQuality		MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetJpegQuality_command07
+		COMMAND			camera1	SetViewFinderMirrorL		MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetViewFinderMirrorL_command08
+		COMMAND			camera1	SetZoomFactorL		MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetZoomFactorL_command09
+		COMMAND			camera1	SetDigitalZoomFactorL
+		COMMAND			camera1	SetWhiteBalanceL		MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetWhiteBalanceL_command11
+		COMMAND			camera1	SetExposureL		MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetExposureL_command12
+		COMMAND			camera1	SetFlashL		MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetFlashL_command13
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-NewL_command15
+		COMMAND			videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-OpenDesL_command16
+		OUTSTANDING
+		COMMAND	!Error=-5	videorecorderutility1	SetVideoTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetVideoTypeL_command17
+		COMMAND			videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Stop
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0025
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0026
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0026
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Call AudioType set function with bad value.
+//!				Uses API elements: NewL(), OpenDesL(), SetAudioTypeL(), AudioTypeL(), Close().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Create and open descriptor to record to.
+//!				3. Set good AudioType. 4. Set bad AudioType. 5. Close descriptor. 6. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Bad AudioType is not set
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0026-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0026-001-NewL_command05
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0026-001-OpenDesL_command06
+		OUTSTANDING
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0026-001-SetAudioTypeL_command07
+		COMMAND		videorecorderutility1	SetAudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0026-001-SetAudioTypeL_command08
+		COMMAND		videorecorderutility1	AudioTypeL		MM-MMF-VCLNT-RCRDR-PublicAPI-0026-001-AudioTypeL_command09
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0026
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0027
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0027
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera then open file with bad filepath.
+//!				Uses API elements: NewL(), OpenFileL().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Call OpenFileL() with bad filepath.
+//!				3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrBadName is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0027-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0027-001-NewL_command05
+		COMMAND	!AsyncError=-28	videorecorderutility1	OpenFileL		MM-MMF-VCLNT-RCRDR-PublicAPI-0027-001-OpenFileL_command06
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0027
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0028
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0028
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera then open file with bad camera handle.
+//!				Uses API elements: NewL(), OpenFileL().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Call OpenFileL() with bad camera handle.
+//!				3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0028-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0028-001-NewL_command05
+		COMMAND	!AsyncError=-5	videorecorderutility1	OpenFileL		MM-MMF-VCLNT-RCRDR-PublicAPI-0028-001-OpenFileL_command06
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Stop
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0028
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0029
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0029
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera then open file with bad controller UID.
+//!				Uses API elements: NewL(), OpenFileL().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Call OpenFileL() with bad controller UID.
+//!				3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0029-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0029-001-NewL_command05
+		COMMAND	!AsyncError=-1	videorecorderutility1	OpenFileL		MM-MMF-VCLNT-RCRDR-PublicAPI-0029-001-OpenFileL_command06
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0029
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0030
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0030
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera then open descriptor with bad camera handle.
+//!				Uses API elements: NewL(), OpenDesL().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Call OpenDesL() with bad camera handle.
+//!				3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0030-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0030-001-NewL_command05
+		COMMAND	!AsyncError=-5	videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0030-001-OpenDesL_command06
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Stop
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0030
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0031
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0031
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera then open descriptor with bad controller UID.
+//!				Uses API elements: NewL(), OpenDesL().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Call OpenDesL() with bad controller UID.
+//!				3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0031-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0031-001-NewL_command05
+		COMMAND	!AsyncError=-1	videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0031-001-OpenDesL_command06
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0031
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0032
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0032
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera then open URL with bad URL.
+//!				Uses API elements: NewL(), OpenUrlL().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Call OpenUrlL() with bad URL.
+//!				3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0032-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0032-001-NewL_command05
+		COMMAND	!AsyncError=-5	videorecorderutility1	OpenUrlL		MM-MMF-VCLNT-RCRDR-PublicAPI-0032-001-OpenUrlL_command06
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0032
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0033
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0033
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera then open URL with bad camera handle.
+//!				Uses API elements: NewL(), OpenUrlL().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Call OpenUrlL() with bad camera handle.
+//!				3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0033-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0033-001-NewL_command05
+		COMMAND	!AsyncError=-5	videorecorderutility1	OpenUrlL		MM-MMF-VCLNT-RCRDR-PublicAPI-0033-001-OpenUrlL_command06
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Stop
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0033
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0034
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0034
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera then open URL with bad controller UID.
+//!				Uses API elements: NewL(), OpenUrlL().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Call OpenUrlL() with bad controller UID.
+//!				3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0034-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0034-001-NewL_command05
+		COMMAND	!AsyncError=-1	videorecorderutility1	OpenUrlL		MM-MMF-VCLNT-RCRDR-PublicAPI-0034-001-OpenUrlL_command06
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0034
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0035
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0035
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		20/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera then open URL with bad access point ID.
+//!				Uses API elements: NewL(), OpenUrlL().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Call OpenUrlL() with bad access point ID.
+//!				3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotSupported is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0035-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0035-001-NewL_command05
+		COMMAND	!AsyncError=-5	videorecorderutility1	OpenUrlL		MM-MMF-VCLNT-RCRDR-PublicAPI-0035-001-OpenUrlL_command06
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0035
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0036
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0036
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		30/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera then open file with null video controller.
+//!				Uses API elements: NewL(), OpenFileL().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Call OpenFileL() with null video controller. 3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0036-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0036-001-NewL_command05
+		COMMAND	!AsyncError=-1	videorecorderutility1	OpenFileL		MM-MMF-VCLNT-RCRDR-PublicAPI-0036-001-OpenFileL_command06
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0036
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0037
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0037
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		30/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera then open descriptor with null video controller.
+//!				Uses API elements: NewL(), OpenDesL().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Call OpenDesL() with null video controller. 3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0037-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0037-001-NewL_command05
+		COMMAND	!AsyncError=-1	videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0037-001-OpenDesL_command06
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0037
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0038
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0038
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		30/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera then open URL with null video controller.
+//!				Uses API elements: NewL(), OpenUrlL().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Call OpenUrlL() with null video controller. 3. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	KErrNotFound is returned
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND			camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0038-001-NewL_command01
+		COMMAND			camera1	Reserve
+		OUTSTANDING
+		COMMAND			camera1	PowerOn
+		OUTSTANDING
+		COMMAND			videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0038-001-NewL_command05
+		COMMAND	!AsyncError=-1	videorecorderutility1	OpenUrlL		MM-MMF-VCLNT-RCRDR-PublicAPI-0038-001-OpenUrlL_command06
+		OUTSTANDING
+		COMMAND			videorecorderutility1	Close
+		COMMAND			videorecorderutility1	~
+		COMMAND			camera1	PowerOff
+		COMMAND			camera1	Release
+		COMMAND			camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0038
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0039
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0039
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		30/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, record to descriptor using various AudioTypes.
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), Record(), Close(), Stop().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Open descriptor to record to, giving audio type.
+//!				3. Prepare recording. 4. Start timer. 5. Start recording. 6. Stop recording.
+//!				7. Close descriptor. 8-25. Repeat steps 2-7 for various audio types. 26. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video is recorded to decriptor each time with no error
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0039-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0039-001-NewL_command05
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0039-001-OpenDesL_command06
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Stop
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0039-001-OpenDesL_command12
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Stop
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0039-001-OpenDesL_command18
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Stop
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0039-001-OpenDesL_command24
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Stop
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0039
+
+START_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0040
+//! @SYMTestCaseID		MM-MMF-VCLNT-RCRDR-PublicAPI-0040
+//! @SYMAPI			CVideoRecorderUtility
+//! @SYMAuthor			James Mechen
+//! @SYMCreationDate		30/01/2006
+//! @SYMTestCaseDependencies	setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
+//! @SYMTestCaseDesc		Initialise the camera, record to descriptor using various VideoTypes.
+//!				Uses API elements: NewL(), OpenDesL(), Prepare(), Record(), Close(), Stop().
+//! @SYMTestActions    		1. Create CVideoRecorderUtility object. 2. Open descriptor to record to, giving video type.
+//!				3. Prepare recording. 4. Start timer. 5. Start recording. 6. Stop recording.
+//!				7. Close descriptor. 8-13. Repeat steps 2-7 for various video types. 14. Destroy object.
+//! @SYMTestStatus		Implemented
+//! @SYMTestPriority		High
+//! @SYMTestExpectedResults	Video is recorded to decriptor each time with no error
+//! @SYMTestType		CIT
+	START_TEST_BLOCK	20	T_VideoRecorderUtility	\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+		CREATE_OBJECT	CCamera	camera1
+		CREATE_OBJECT	CVideoRecorderUtility	videorecorderutility1
+		COMMAND		camera1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0040-001-NewL_command01
+		COMMAND		camera1	Reserve
+		OUTSTANDING
+		COMMAND		camera1	PowerOn
+		OUTSTANDING
+		COMMAND		videorecorderutility1	NewL		MM-MMF-VCLNT-RCRDR-PublicAPI-0040-001-NewL_command05
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0040-001-OpenDesL_command06
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Stop
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	OpenDesL		MM-MMF-VCLNT-RCRDR-PublicAPI-0040-001-OpenDesL_command12
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Prepare
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Record
+		OUTSTANDING
+		COMMAND		videorecorderutility1	Stop
+		COMMAND		videorecorderutility1	Close
+		COMMAND		videorecorderutility1	~
+		COMMAND		camera1	PowerOff
+		COMMAND		camera1	Release
+		COMMAND		camera1	~
+	END_TEST_BLOCK
+END_TESTCASE 			MM-MMF-VCLNT-RCRDR-PublicAPI-0040
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/scripts/setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,27 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.script	${SYSDRIVE}\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.script
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.script
+
+RUN_UTILS CopyFile	z:\multimedia\t_multimedia.tcs		${SYSDRIVE}\multimedia\t_multimedia.tcs
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia.tcs
+
+RUN_UTILS CopyFile	z:\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini		${SYSDRIVE}\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/src/T_MMDataVideoRecorderUtility.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1691 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_MMDataVideoRecorderUtility.h"
+#include "T_MMUtil.h"
+
+//	EPOC includes
+#include <ecam.h>
+
+//	System Includes
+#include <bautils.h>
+
+/*@{*/
+_LIT(KMetaDataEntryName,						"metaDataEntryname");
+_LIT(KMetaDataEntryValue,						"metaDataEntryvalue");
+_LIT(KMetaDataEntryID,							"metaDataEntryid");
+_LIT(KMetaDataEntryIndex,						"metaDataEntryindex");
+_LIT(KOutputFile,								"outputfile");
+_LIT(KUseRFile,									"useRFile");
+_LIT(KOutputURL,								"outputURL");
+_LIT(KBitRate,									"bitrate");
+_LIT(KEnabled,									"enabled");
+_LIT(KGain,										"gain");
+_LIT(KMaxClipSize,								"maxclipsize");
+_LIT(KFrameRate,								"framerate");
+_LIT(KWidth,									"width");
+_LIT(KHeight,									"height");
+_LIT(KVideoType,								"videotype");
+_LIT(KBufferSize,								"buffersize");
+_LIT(KFunction,									"function");
+_LIT(KUseDataFrom,								"useDataFrom");
+_LIT(KVideoControllerUid,						"videocontrolleruid");
+_LIT(KVideoFormatUid,							"videoformatuid");
+_LIT(KMaxValue,									"maxvalue");
+_LIT(KMinValue,									"minvalue");
+_LIT(KNoOfMetaDataEntries,						"noofmetadataentries");
+_LIT(KCamera,									"camera");
+_LIT(KCameraHandle,								"camerahandle");
+_LIT(KAccessPointID,							"accesspointid");
+
+_LIT(KCmdFilename,								"filename");
+
+
+_LIT(KCmdDestructor,							"~");
+_LIT(KCmdAddMetaDataEntryL,						"AddMetaDataEntryL");
+_LIT(KCmdAudioBitRateL,							"AudioBitRateL");
+_LIT(KCmdAudioEnabledL,							"AudioEnabledL");
+_LIT(KCmdAudioTypeL,							"AudioTypeL");
+_LIT(KCmdClose,									"Close");
+_LIT(KCmdControllerImplementationInformationL,	"ControllerImplementationInformationL");
+_LIT(KCmdCustomCommandAsync,					"CustomCommandAsync");
+_LIT(KCmdCustomCommandSync,						"CustomCommandSync");
+_LIT(KCmdDurationL,								"DurationL");
+_LIT(KCmdGainL,									"GainL");
+_LIT(KCmdGetPriorityL,							"GetPriorityL");
+_LIT(KCmdGetSupportedAudioTypesL,				"GetSupportedAudioTypesL");
+_LIT(KCmdGetSupportedVideoTypesL,				"GetSupportedVideoTypesL");
+_LIT(KCmdGetVideoFrameSizeL,					"GetVideoFrameSizeL");
+_LIT(KCmdMaxGainL,								"MaxGainL");
+_LIT(KCmdMetaDataEntryL,						"MetaDataEntryL");
+_LIT(KCmdNewL,									"NewL");
+_LIT(KCmdNumberOfMetaDataEntriesL,				"NumberOfMetaDataEntriesL");
+_LIT(KCmdOpenDesL,								"OpenDesL");
+_LIT(KCmdOpenFileL,								"OpenFileL");
+_LIT(KCmdOpenUrlL,								"OpenUrlL");
+_LIT(KCmdPauseL,								"PauseL");
+_LIT(KCmdPrepare,								"Prepare");
+_LIT(KCmdRecord,								"Record");
+_LIT(KCmdRecordTimeAvailable,					"RecordTimeAvailable");
+_LIT(KCmdRemoveMetaDataEntryL,					"RemoveMetaDataEntryL");
+_LIT(KCmdReplaceMetaDataEntryL,					"ReplaceMetaDataEntryL");
+_LIT(KCmdSetAudioBitRateL,						"SetAudioBitRateL");
+_LIT(KCmdSetAudioEnabledL,						"SetAudioEnabledL");
+_LIT(KCmdSetAudioTypeL,							"SetAudioTypeL");
+_LIT(KCmdSetGainL,								"SetGainL");
+_LIT(KCmdSetMaxClipSizeL,						"SetMaxClipSizeL");
+_LIT(KCmdSetPriorityL,							"SetPriorityL");
+_LIT(KCmdSetVideoBitRateL,						"SetVideoBitRateL");
+_LIT(KCmdSetVideoFrameRateL,					"SetVideoFrameRateL");
+_LIT(KCmdSetVideoFrameSizeL,					"SetVideoFrameSizeL");
+_LIT(KCmdSetVideoTypeL,							"SetVideoTypeL");
+_LIT(KCmdStop,									"Stop");
+_LIT(KCmdVideoBitRateL,							"VideoBitRateL");
+_LIT(KCmdVideoFormatMimeType,					"VideoFormatMimeType");
+_LIT(KCmdVideoFrameRateL,						"VideoFrameRateL");
+
+_LIT(KCmdDeleteFile,							"deletefile");
+/*@}*/
+
+const TInt	KVideoRecorderUtilityBufferSize	=1024;
+const TInt	KTemporaryBufferSize			=64;
+const TInt	KCustomCommandBufferSize		=255;
+const TInt	KDefaultAudioBitRate			=48000 * 16;
+const TInt	KDefaultVideoFrameRate			=25;
+const TInt	KBufMimeTypeGranularity			=4;
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+CT_MMDataVideoRecorderUtility* CT_MMDataVideoRecorderUtility::NewL()
+	{
+	CT_MMDataVideoRecorderUtility*	ret=new (ELeave) CT_MMDataVideoRecorderUtility();
+	CleanupStack::PushL(ret);
+	ret->ConstructL();
+	CleanupStack::Pop(ret);
+	return ret;
+	}
+
+CT_MMDataVideoRecorderUtility::CT_MMDataVideoRecorderUtility()
+:	iVideoRecorderUtility(NULL)
+,	iActiveCallback(NULL)
+,	iBuffer(NULL)
+,	iBufferPtr(NULL)
+,	iBufferSize(KVideoRecorderUtilityBufferSize)
+,	iFileOpened(EFalse)
+,	iApiAsyncErrorIndex(0)
+,	iRecordStarted(EFalse)
+	{
+	}
+
+void CT_MMDataVideoRecorderUtility::ConstructL()
+/**
+ * Second phase construction
+ *
+ * @internalComponent
+ *
+ * @return	N/A
+ *
+ * @pre		None
+ * @post	None
+ *
+ * @leave	system wide error
+ */
+	{
+	User::LeaveIfError(iFs.Connect());
+	iFs.ShareProtected();
+
+	iActiveCallback=CActiveCallback::NewL(*this);
+	}
+
+CT_MMDataVideoRecorderUtility::~CT_MMDataVideoRecorderUtility()
+	{
+	DestroyData();
+
+	delete iActiveCallback;
+	iActiveCallback=NULL;
+
+	iFs.Close();
+	}
+
+TAny* CT_MMDataVideoRecorderUtility::GetObject()
+	{
+	return iVideoRecorderUtility;
+	}
+
+void CT_MMDataVideoRecorderUtility::DestroyData()
+	{
+	iSupportedAudioTypes.Close();
+	if ( iFileOpened )
+		{
+		iFile.Close();
+		iFileOpened=EFalse;
+		}
+	delete iBufferPtr;
+	iBufferPtr=NULL;
+	delete iBuffer;
+	iBuffer=NULL;
+	delete iVideoRecorderUtility;
+	iVideoRecorderUtility=NULL;
+	}
+
+TBool CT_MMDataVideoRecorderUtility::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex)
+/**
+ * Process a command read from the ini file
+ *
+ * @param aCommand			The command to process
+ * @param aSection			The section in the ini containing data for the command
+ * @param aAsyncErrorIndex	Command index for async calls to return errors to
+ *
+ * @return					ETrue if the command is processed
+ *
+ * @leave					System wide error
+ */
+	{
+	TBool	ret=ETrue;
+
+	if ( aCommand==KCmdDestructor )
+		{
+		DoCmdDestructor();
+		}
+	else if ( aCommand==KCmdAddMetaDataEntryL )
+		{
+		DoCmdAddMetaDataEntryL(aSection);
+		}
+	else if ( aCommand==KCmdAudioBitRateL )
+		{
+		DoCmdAudioBitRateL(aSection);
+		}
+	else if ( aCommand==KCmdAudioEnabledL )
+		{
+		DoCmdAudioEnabledL(aSection);
+		}
+	else if ( aCommand==KCmdAudioTypeL )
+		{
+		DoCmdAudioTypeL(aSection);
+		}
+	else if ( aCommand==KCmdClose )
+		{
+		DoCmdClose();
+		}
+	else if ( aCommand==KCmdControllerImplementationInformationL )
+		{
+		DoCmdControllerImplementationInformationL();
+		}
+	else if ( aCommand==KCmdCustomCommandAsync )
+		{
+		DoCmdCustomCommandAsync(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdCustomCommandSync )
+		{
+		DoCmdCustomCommandSync(aSection);
+		}
+	else if ( aCommand==KCmdDurationL )
+		{
+		DoCmdDurationL(aSection);
+		}
+	else if ( aCommand==KCmdGainL )
+		{
+		DoCmdGainL(aSection);
+		}
+	else if ( aCommand==KCmdGetPriorityL )
+		{
+		DoCmdGetPriorityL(aSection);
+		}
+	else if ( aCommand==KCmdGetSupportedAudioTypesL )
+		{
+		DoCmdGetSupportedAudioTypesL();
+		}
+	else if ( aCommand==KCmdGetSupportedVideoTypesL )
+		{
+		DoCmdGetSupportedVideoTypesL();
+		}
+	else if ( aCommand==KCmdGetVideoFrameSizeL )
+		{
+		DoCmdGetVideoFrameSizeL(aSection);
+		}
+	else if ( aCommand==KCmdMaxGainL )
+		{
+		DoCmdMaxGainL(aSection);
+		}
+	else if ( aCommand==KCmdMetaDataEntryL )
+		{
+		DoCmdMetaDataEntryL(aSection);
+		}
+	else if ( aCommand==KCmdNewL )
+		{
+		DoCmdNewL(aSection);
+		}
+	else if ( aCommand==KCmdNumberOfMetaDataEntriesL )
+		{
+		DoCmdNumberOfMetaDataEntriesL(aSection);
+		}
+	else if ( aCommand==KCmdOpenDesL )
+		{
+		DoCmdOpenDesL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdOpenFileL )
+		{
+		DoCmdOpenFileL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdOpenUrlL )
+		{
+		DoCmdOpenUrlL(aSection, aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdPauseL )
+		{
+		DoCmdPauseL();
+		}
+	else if ( aCommand==KCmdPrepare )
+		{
+		DoCmdPrepare(aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdRecord )
+		{
+		DoCmdRecord(aAsyncErrorIndex);
+		}
+	else if ( aCommand==KCmdRecordTimeAvailable )
+		{
+		DoCmdRecordTimeAvailable(aSection);
+		}
+	else if ( aCommand==KCmdRemoveMetaDataEntryL )
+		{
+		DoCmdRemoveMetaDataEntryL(aSection);
+		}
+	else if ( aCommand==KCmdReplaceMetaDataEntryL )
+		{
+		DoCmdReplaceMetaDataEntryL(aSection);
+		}
+	else if ( aCommand==KCmdSetAudioBitRateL )
+		{
+		DoCmdSetAudioBitRateL(aSection);
+		}
+	else if ( aCommand==KCmdSetAudioEnabledL )
+		{
+		DoCmdSetAudioEnabledL(aSection);
+		}
+	else if ( aCommand==KCmdSetAudioTypeL )
+		{
+		DoCmdSetAudioTypeL(aSection);
+		}
+	else if ( aCommand==KCmdSetGainL )
+		{
+		DoCmdSetGainL(aSection);
+		}
+	else if ( aCommand==KCmdSetMaxClipSizeL )
+		{
+		DoCmdSetMaxClipSizeL(aSection);
+		}
+	else if ( aCommand==KCmdSetPriorityL )
+		{
+		DoCmdSetPriorityL(aSection);
+		}
+	else if ( aCommand==KCmdSetVideoBitRateL )
+		{
+		DoCmdSetVideoBitRateL(aSection);
+		}
+	else if ( aCommand==KCmdSetVideoFrameRateL )
+		{
+		DoCmdSetVideoFrameRateL(aSection);
+		}
+	else if ( aCommand==KCmdSetVideoFrameSizeL )
+		{
+		DoCmdSetVideoFrameSizeL(aSection);
+		}
+	else if ( aCommand==KCmdSetVideoTypeL )
+		{
+		DoCmdSetVideoTypeL(aSection);
+		}
+	else if ( aCommand==KCmdStop )
+		{
+		DoCmdStop();
+		}
+	else if ( aCommand==KCmdVideoBitRateL )
+		{
+		DoCmdVideoBitRateL(aSection);
+		}
+	else if ( aCommand==KCmdVideoFormatMimeType )
+		{
+		DoCmdVideoFormatMimeTypeL(aSection);
+		}
+	else if ( aCommand==KCmdVideoFrameRateL )
+		{
+		DoCmdVideoFrameRateL(aSection);
+		}
+	else if ( aCommand==KCmdDeleteFile )
+		{
+		DeleteFile(aSection);
+		}
+	else
+		{
+		ret=EFalse;
+		}
+
+	return ret;
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdDestructor()
+	{
+	DestroyData();
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdAddMetaDataEntryL(const TDesC& aSection)
+	{
+
+	TPtrC	metaDataEntryName;
+	if ( GetStringFromConfig(aSection, KMetaDataEntryName(), metaDataEntryName) )
+		{
+		TPtrC	metaDataEntryValue;
+		if ( GetStringFromConfig(aSection, KMetaDataEntryValue(), metaDataEntryValue) )
+			{
+			CMMFMetaDataEntry*	metaDataEntry = NULL;
+			TRAPD(err, metaDataEntry=CMMFMetaDataEntry::NewL(metaDataEntryName, metaDataEntryValue));
+			CleanupStack::PushL(metaDataEntry);
+			if ( err!=KErrNone )
+				{
+				ERR_PRINTF2(_L("Cannot create CMMFMetaDataEntry - Error %d"), err);
+				SetBlockResult(EFail);
+				}
+			else
+				{
+				TRAPD(err, iVideoRecorderUtility->AddMetaDataEntryL(*metaDataEntry));
+				if ( err!=KErrNone )
+					{
+					ERR_PRINTF2(_L("AddMetaDataEntryL Error %d"), err);
+					SetError(err);
+					}
+				}
+			CleanupStack::PopAndDestroy(metaDataEntry);
+			}
+		else
+			{
+			ERR_PRINTF2(_L("No %S"), &KMetaDataEntryValue());
+			SetBlockResult(EFail);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("No %S"), &KMetaDataEntryName());
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdAudioBitRateL(const TDesC& aSection)
+	{
+
+	TInt	bitRate=0;
+	TRAPD(err, bitRate=iVideoRecorderUtility->AudioBitRateL());
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("AudioBitRateL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("AudioBitRateL=%d"), bitRate);
+		TInt	expectedBitRate=0;
+		if(GetIntFromConfig(aSection, KBitRate(), expectedBitRate))
+			{
+			if(bitRate != expectedBitRate)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("audioBitRate(%d) != expectedAudioBitRate(%d)"), bitRate, expectedBitRate);
+				}
+			}
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdAudioEnabledL(const TDesC& aSection)
+	{
+
+	TBool	audioEnabled=EFalse;
+	TRAPD(err, audioEnabled=iVideoRecorderUtility->AudioEnabledL());
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("AudioEnabledL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("AudioEnabledL=%d"), audioEnabled);
+		TBool	expectedAudioEnabled=EFalse;
+		if(GetBoolFromConfig(aSection, KEnabled(), expectedAudioEnabled))
+			{
+			if(audioEnabled != expectedAudioEnabled)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("audioEnabled(%d) != expectedAudioEnabled(%d)"), audioEnabled, expectedAudioEnabled);
+				}
+			}
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdAudioTypeL(const TDesC& aSection)
+	{
+	TFourCC	audioType=KMMFFourCCCodeNULL;
+	TRAPD(err, audioType=iVideoRecorderUtility->AudioTypeL());
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("AudioTypeL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		TFourCC	expectedVal;
+		if ( CT_MMUtil::ReadFourCC(*this, aSection, expectedVal) )
+			{
+			if( expectedVal!=audioType )
+				{
+				ERR_PRINTF3(_L("audioType(%d) != expectedAudioType(%d)"), audioType.FourCC(), expectedVal.FourCC());
+				SetBlockResult(EFail);
+				}
+			}
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdClose()
+	{
+	iVideoRecorderUtility->Close();
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdControllerImplementationInformationL()
+	{
+	const CMMFControllerImplementationInformation*	info = NULL;
+	TRAPD(err, info = &iVideoRecorderUtility->ControllerImplementationInformationL());
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("ControllerImplementationInformationL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		TPtrC	temp=info->DisplayName();
+		INFO_PRINTF2(_L("ControllerImplementationInformationL=%S"), &temp);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdCustomCommandAsync(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+
+	TMMFMessageDestination		handleInfo(iVideoControllerUid);
+	TMMFMessageDestinationPckg	messageDest(handleInfo);
+
+	TInt	function=0;
+	GetIntFromConfig(aSection, KFunction(), function);
+
+	TBool	useDataFrom=EFalse;
+	GetBoolFromConfig(aSection, KUseDataFrom(), useDataFrom);
+
+	if ( useDataFrom )
+		{
+		TBuf8<KCustomCommandBufferSize>	dataFromText;
+		iVideoRecorderUtility->CustomCommandAsync(messageDest, function, KNullDesC8, KNullDesC8, dataFromText, iActiveCallback->iStatus);
+		}
+	else
+		{
+		iVideoRecorderUtility->CustomCommandAsync(messageDest, function, KNullDesC8, KNullDesC8, iActiveCallback->iStatus);
+		}
+	iActiveCallback->Activate(aAsyncErrorIndex);
+	IncOutstanding();
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdCustomCommandSync(const TDesC& aSection)
+	{
+
+	TMMFMessageDestination		handleInfo(iVideoControllerUid);
+	TMMFMessageDestinationPckg	messageDest(handleInfo);
+
+	TInt	function=0;
+	GetIntFromConfig(aSection, KFunction(), function);
+
+	TBool	useDataFrom=EFalse;
+	GetBoolFromConfig(aSection, KUseDataFrom(), useDataFrom);
+
+	TInt	err=KErrNone;
+	if ( useDataFrom )
+		{
+		TBuf8<KCustomCommandBufferSize>	dataFromText;
+		err = iVideoRecorderUtility->CustomCommandSync(messageDest, function, KNullDesC8, KNullDesC8, dataFromText);
+		}
+	else
+		{
+		err = iVideoRecorderUtility->CustomCommandSync(messageDest, function, KNullDesC8, KNullDesC8);
+		}
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("CustomCommandSync Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdDurationL(const TDesC& aSection)
+	{
+
+	TTimeIntervalMicroSeconds	duration;
+	TRAPD(err, duration=iVideoRecorderUtility->DurationL());
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("DurationL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("DurationL=%d"), duration.Int64());
+
+		TInt	maxDuration=0;
+		if(GetIntFromConfig(aSection, KMaxValue(), maxDuration))
+			{
+			if(duration.Int64() > maxDuration)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("maxDuration(%d) < duration(%d)"), maxDuration, duration.Int64());
+				}
+			}
+
+		TInt	minDuration=0;
+		if(GetIntFromConfig(aSection, KMinValue(), minDuration))
+			{
+			if(duration.Int64() < minDuration)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("minDuration(%d) > duration(%d)"), minDuration, duration.Int64());
+				}
+			}
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdGainL(const TDesC& aSection)
+	{
+
+	TInt	gain=0;
+	TRAPD(err, gain=iVideoRecorderUtility->GainL());
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GainL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("GainL=%d"), gain);
+		TInt	expectedGain=0;
+		if(GetIntFromConfig(aSection, KGain(), expectedGain))
+			{
+			if(expectedGain == -1)
+				{
+				// Expect to get the maximum gain
+				TInt	maxGain=0;
+				TRAPD(err, maxGain=iVideoRecorderUtility->MaxGainL());
+				if ( err!=KErrNone )
+					{
+					ERR_PRINTF2(_L("MaxGainL Error %d"), err);
+					SetError(err);
+					}
+				else if(gain != maxGain)
+					{
+					SetBlockResult(EFail);
+					ERR_PRINTF3(_L("gain(%d) != maxGain(%d)"), gain, maxGain);
+					}
+				}
+			else if(gain != expectedGain)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("gain(%d) != expectedGain(%d)"), gain, expectedGain);
+				}
+			}
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdGetPriorityL(const TDesC& aSection)
+	{
+	TInt					priority=EMdaPriorityMin;
+	TMdaPriorityPreference	priorityPreference=EMdaPriorityPreferenceNone;
+	TRAPD(err, iVideoRecorderUtility->GetPriorityL(priority, priorityPreference));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GetPriorityL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("GetPriorityL. Priority=%d"), priority);
+		INFO_PRINTF2(_L("GetPriorityL. Preference=%d"), priorityPreference);
+
+		TInt	expectedPriority;
+		if ( CT_MMUtil::ReadMdaPriority(*this, aSection, expectedPriority) )
+			{
+			if ( priority != expectedPriority )
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("priority(%d) != expectedPriority(%d)"), priority, expectedPriority);
+				}
+			}
+
+		TMdaPriorityPreference	expectedPriorityPreference;
+		if ( CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, expectedPriorityPreference) )
+			{
+			if ( priorityPreference != expectedPriorityPreference )
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("priorityPreference(%d) != expectedPriorityPreference(%d)"), priorityPreference, expectedPriorityPreference);
+				}
+			}
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdGetSupportedAudioTypesL()
+	{
+	iSupportedAudioTypes.Reset();
+	TRAPD(err, iVideoRecorderUtility->GetSupportedAudioTypesL(iSupportedAudioTypes));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GetSupportedAudioTypesL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		if ( iSupportedAudioTypes.Count()==0 )
+			{
+			INFO_PRINTF1(_L("GetSupportedAudioTypesL. No supported audio types"));
+			}
+		for (TInt i=0; i<iSupportedAudioTypes.Count(); i++)
+			{
+			INFO_PRINTF2(_L("GetSupportedAudioTypesL. Supported audio type=%S"), &CT_MMUtil::GetFourCCString(iSupportedAudioTypes[i].FourCC()));
+			}
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdGetSupportedVideoTypesL()
+	{
+	CDesC8ArrayFlat*	videoTypes = new (ELeave) CDesC8ArrayFlat(KBufMimeTypeGranularity);
+	CleanupStack::PushL(videoTypes);
+	TRAPD(err, iVideoRecorderUtility->GetSupportedVideoTypesL(*videoTypes));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GetSupportedVideoTypesL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		for (TInt i=0; i<videoTypes->Count(); i++)
+			{
+			TBuf<KTemporaryBufferSize>	temp;
+			temp.Copy((*videoTypes)[i]);
+			INFO_PRINTF2(_L("GetSupportedVideoTypesL. Supported video type=%S"), &temp);
+			}
+		}
+	CleanupStack::PopAndDestroy(videoTypes);
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdGetVideoFrameSizeL(const TDesC& aSection)
+	{
+
+	TSize	videoFrameSize(0,0);
+	TRAPD(err, iVideoRecorderUtility->GetVideoFrameSizeL(videoFrameSize));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("GetVideoFrameSizeL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("GetVideoFrameSizeL. Width=%d"), videoFrameSize.iWidth);
+		INFO_PRINTF2(_L("GetVideoFrameSizeL. Height=%d"), videoFrameSize.iHeight);
+
+		TInt	expectedWidth=0;
+		if(GetIntFromConfig(aSection, KWidth(), expectedWidth))
+			{
+			if(videoFrameSize.iWidth != expectedWidth)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("width(%d) != expectedWidth(%d)"), videoFrameSize.iWidth, expectedWidth);
+				}
+			}
+
+		TInt	expectedHeight=0;
+		if(GetIntFromConfig(aSection, KHeight(), expectedHeight))
+			{
+			if(videoFrameSize.iHeight != expectedHeight)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("height(%d) != expectedHeight(%d)"), videoFrameSize.iHeight, expectedHeight);
+				}
+			}
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdMaxGainL(const TDesC& aSection)
+	{
+
+	TInt	maxGain=0;
+	TRAPD(err, maxGain=iVideoRecorderUtility->MaxGainL());
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("MaxGainL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("MaxGainL=%d"), maxGain);
+
+		TInt	maxMaxGain=0;
+		if(GetIntFromConfig(aSection, KMaxValue(), maxMaxGain))
+			{
+			if(maxGain > maxMaxGain)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("maxMaxGain(%d) < maxGain(%d)"), maxMaxGain, maxGain);
+				}
+			}
+
+		TInt	minMaxGain=0;
+		if(GetIntFromConfig(aSection, KMinValue(), minMaxGain))
+			{
+			if(maxGain < minMaxGain)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("minMaxGain(%d) > maxGain(%d)"), minMaxGain, maxGain);
+				}
+			}
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdMetaDataEntryL(const TDesC& aSection)
+	{
+
+	TInt	metaDataEntryIndex=0;
+	GetIntFromConfig(aSection, KMetaDataEntryIndex(), metaDataEntryIndex);
+	CMMFMetaDataEntry*	metaDataEntry=NULL;
+	TRAPD(err, metaDataEntry=iVideoRecorderUtility->MetaDataEntryL(metaDataEntryIndex));
+	CleanupStack::PushL(metaDataEntry);
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("MetaDataEntryL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		const TDesC&	temp=metaDataEntry->Name();
+		INFO_PRINTF2(_L("MetaDataEntryL=%S"), &temp);
+		}
+	CleanupStack::PopAndDestroy(metaDataEntry);
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdNewL(const TDesC& aSection)
+	{
+	delete iVideoRecorderUtility;
+	iVideoRecorderUtility=NULL;
+
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	TInt	priority;
+	if ( !CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		priority=EMdaPriorityMin;
+		}
+
+	TRAPD(err, iVideoRecorderUtility=CVideoRecorderUtility::NewL(*this, priority, priorityPreference));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("NewL(this, priority, priorityPreference) Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdNumberOfMetaDataEntriesL(const TDesC& aSection)
+	{
+
+	TInt	numberOfMetaDataEntries=0;
+	TRAPD(err, numberOfMetaDataEntries=iVideoRecorderUtility->NumberOfMetaDataEntriesL());
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("NumberOfMetaDataEntriesL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("NumberOfMetaDataEntriesL=%d"), numberOfMetaDataEntries);
+		TInt	expectedNumberOfMetaDataEntries=0;
+		if(GetIntFromConfig(aSection, KNoOfMetaDataEntries(), expectedNumberOfMetaDataEntries))
+			{
+			if(numberOfMetaDataEntries != expectedNumberOfMetaDataEntries)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("numberOfMetaDataEntries(%d) != expectedNumberOfMetaDataEntries(%d)"), numberOfMetaDataEntries, expectedNumberOfMetaDataEntries);
+				}
+			}
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdOpenDesL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+	iBufferSize=KVideoRecorderUtilityBufferSize;
+	GetIntFromConfig(aSection, KBufferSize(), iBufferSize);
+	delete iBuffer;
+	iBuffer=NULL;
+	iBuffer=HBufC8::NewL(iBufferSize);
+	*iBuffer=KNullDesC8;
+	delete iBufferPtr;
+	iBufferPtr=new (ELeave) TPtr8(iBuffer->Des());
+	CT_MMUtil::GetControllerAndFormatUidL(*this, _L(""), KUidMediaTypeVideo, ETrue, iVideoControllerUid, iVideoFormatUid);
+
+	// Use default video controller Uid unless one is passed in
+	TInt	videoControllerId;
+	if ( GetHexFromConfig(aSection, KVideoControllerUid(), videoControllerId) )
+		{
+		iVideoControllerUid=TUid::Uid(videoControllerId);
+		}
+
+	// Use default video format Uid unless one is passed in
+	TInt	videoFormatId;
+	if ( GetHexFromConfig(aSection, KVideoFormatUid(), videoFormatId) )
+		{
+		iVideoFormatUid=TUid::Uid(videoFormatId);
+		}
+
+	TFourCC	audioTypeFourCC;
+	if ( !CT_MMUtil::ReadFourCC(*this, aSection, audioTypeFourCC) )
+		{
+		audioTypeFourCC=KMMFFourCCCodeNULL;
+		}
+
+	HBufC8*	videoType8=NULL;
+	TPtrC	videoType;
+	if ( GetStringFromConfig(aSection, KVideoType(), videoType) )
+		{
+		videoType8=HBufC8::NewL(videoType.Length());
+		videoType8->Des().Copy(videoType);
+		}
+	else
+		{
+		videoType8=HBufC8::NewL(0);
+		videoType8->Des().Copy(KNullDesC8);
+		}
+
+	TInt	cameraHandle;
+	ReadCameraHandleL(aSection, cameraHandle);
+
+	TRAPD(err, iVideoRecorderUtility->OpenDesL(*iBufferPtr, cameraHandle, iVideoControllerUid, iVideoFormatUid, *videoType8, audioTypeFourCC));
+	if ( err==KErrNone )
+		{
+		INFO_PRINTF1(_L("Buffer opened"));
+		IncOutstanding();
+
+		iApiAsyncErrorIndex = aAsyncErrorIndex;
+		// call back in MvruoOpenComplete
+		}
+	else
+		{
+		ERR_PRINTF2(_L("OpenDesL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdOpenFileL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+
+	TBool	useRFile=EFalse;
+	GetBoolFromConfig(aSection, KUseRFile(), useRFile);
+
+	TPtrC	filename;
+	if ( GetStringFromConfig(aSection, KOutputFile(), filename) )
+		{
+		CT_MMUtil::GetControllerAndFormatUidL(*this, filename, KUidMediaTypeVideo, ETrue, iVideoControllerUid, iVideoFormatUid);
+
+		// Use default video controller Uid unless one is passed in
+		TInt	videoControllerId;
+		if ( GetHexFromConfig(aSection, KVideoControllerUid(), videoControllerId) )
+			{
+			iVideoControllerUid=TUid::Uid(videoControllerId);
+			}
+
+		// Use default video format Uid unless one is passed in
+		TInt	videoFormatId;
+		if ( GetHexFromConfig(aSection, KVideoFormatUid(), videoFormatId) )
+			{
+			iVideoFormatUid=TUid::Uid(videoFormatId);
+			}
+
+		TFourCC	audioTypeFourCC;
+		if ( !CT_MMUtil::ReadFourCC(*this, aSection, audioTypeFourCC) )
+			{
+			audioTypeFourCC=KMMFFourCCCodeNULL;
+			}
+
+		HBufC8*	videoType8=NULL;
+		TPtrC	videoType;
+		if ( GetStringFromConfig(aSection, KVideoType(), videoType) )
+			{
+			videoType8=HBufC8::NewL(videoType.Length());
+			videoType8->Des().Copy(videoType);
+			}
+		else
+			{
+			videoType8=HBufC8::NewL(0);
+			videoType8->Des().Copy(KNullDesC8);
+			}
+
+		TInt	cameraHandle;
+		ReadCameraHandleL(aSection, cameraHandle);
+
+		TInt	error=KErrNone;
+		if ( useRFile )
+			{
+			iFs.MkDirAll(filename);
+			iFs.Delete(filename);
+			TInt	fileError=iFile.Create(iFs, filename, EFileWrite);
+			if ( fileError==KErrNone )
+				{
+				INFO_PRINTF1(_L("File created"));
+				iFileOpened=ETrue;
+				}
+			else
+				{
+				ERR_PRINTF3(_L("Cannot create outputfile %S. Error %d"), &filename, fileError);
+				SetBlockResult(EFail);
+				}
+			TRAP(error,iVideoRecorderUtility->OpenFileL(iFile, cameraHandle, iVideoControllerUid, iVideoFormatUid, *videoType8, audioTypeFourCC));
+			}
+		else
+			{
+			TRAP(error,iVideoRecorderUtility->OpenFileL(filename, cameraHandle, iVideoControllerUid, iVideoFormatUid, *videoType8, audioTypeFourCC));
+			}
+
+		if ( error==KErrNone )
+			{
+			INFO_PRINTF1(_L("File opened"));
+			IncOutstanding();
+			iApiAsyncErrorIndex = aAsyncErrorIndex;
+			// call back in MvruoOpenComplete
+			}
+		else
+			{
+			ERR_PRINTF2(_L("OpenFileL Error %d"), error);
+			SetError(error);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("No %S"), &KOutputFile());
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdOpenUrlL(const TDesC& aSection, const TInt aAsyncErrorIndex)
+	{
+
+	TPtrC	url;
+	if ( GetStringFromConfig(aSection, KOutputURL(), url) )
+		{
+		CT_MMUtil::GetControllerAndFormatUidL(*this, url, KUidMediaTypeVideo, ETrue, iVideoControllerUid, iVideoFormatUid);
+
+		// Use default video controller Uid unless one is passed in
+		TInt	videoControllerId;
+		if ( GetHexFromConfig(aSection, KVideoControllerUid(), videoControllerId) )
+			{
+			iVideoControllerUid=TUid::Uid(videoControllerId);
+			}
+
+		// Use default video format Uid unless one is passed in
+		TInt	videoFormatId;
+		if ( GetHexFromConfig(aSection, KVideoFormatUid(), videoFormatId) )
+			{
+			iVideoFormatUid=TUid::Uid(videoFormatId);
+			}
+
+		TFourCC	audioTypeFourCC=KMMFFourCCCodeNULL;
+		if ( !CT_MMUtil::ReadFourCC(*this, aSection, audioTypeFourCC) )
+			{
+			audioTypeFourCC=KMMFFourCCCodeNULL;
+			}
+
+		HBufC8*	videoType8=NULL;
+		TPtrC	videoType;
+		if ( GetStringFromConfig(aSection, KVideoType(), videoType) )
+			{
+			videoType8=HBufC8::NewL(videoType.Length());
+			videoType8->Des().Copy(videoType);
+			}
+		else
+			{
+			videoType8=HBufC8::NewL(0);
+			videoType8->Des().Copy(KNullDesC8);
+			}
+
+		TInt	cameraHandle;
+		ReadCameraHandleL(aSection, cameraHandle);
+
+		TInt	accessPointID = KUseDefaultIap;
+		GetIntFromConfig(aSection, KAccessPointID(), accessPointID);
+
+		TRAPD(err,iVideoRecorderUtility->OpenUrlL(url, accessPointID, cameraHandle, iVideoControllerUid, iVideoFormatUid, *videoType8, audioTypeFourCC));
+		if ( err==KErrNone )
+			{
+			INFO_PRINTF1(_L("URL opened"));
+			IncOutstanding();
+			// call back in MvruoOpenComplete
+			iApiAsyncErrorIndex = aAsyncErrorIndex;
+			}
+		else
+			{
+			ERR_PRINTF2(_L("OpenUrlL Error %d"), err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("No %S"), &KOutputURL());
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdPauseL()
+	{
+	TRAPD(err, iVideoRecorderUtility->PauseL());
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("PauseL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdPrepare(const TInt aAsyncErrorIndex)
+	{
+	iVideoRecorderUtility->Prepare();
+	IncOutstanding();
+	// call back in MvruoPrepareComplete
+	iApiAsyncErrorIndex = aAsyncErrorIndex;
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdRecord(const TInt aAsyncErrorIndex)
+	{
+	iVideoRecorderUtility->Record();
+	IncOutstanding();
+	INFO_PRINTF1(_L("Start recording"));
+	iRecordStarted = ETrue;
+	// call back in MvruoRecordComplete
+	iApiAsyncErrorIndex = aAsyncErrorIndex;
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdRecordTimeAvailable(const TDesC& aSection)
+	{
+
+	TTimeIntervalMicroSeconds	recordTimeAvailable=iVideoRecorderUtility->RecordTimeAvailable();
+	INFO_PRINTF2(_L("RecordTimeAvailable=%d"), recordTimeAvailable.Int64());
+
+	TInt	maxRecordTimeAvailable=0;
+	if(GetIntFromConfig(aSection, KMaxValue(), maxRecordTimeAvailable))
+		{
+		if(recordTimeAvailable.Int64() > maxRecordTimeAvailable)
+			{
+			SetBlockResult(EFail);
+			ERR_PRINTF3(_L("maxRecordTimeAvailable(%d) < recordTimeAvailable(%d)"), maxRecordTimeAvailable, recordTimeAvailable.Int64());
+			}
+		}
+
+	TInt	minRecordTimeAvailable=0;
+	if(GetIntFromConfig(aSection, KMinValue(), minRecordTimeAvailable))
+		{
+		if(recordTimeAvailable.Int64() < minRecordTimeAvailable)
+			{
+			SetBlockResult(EFail);
+			ERR_PRINTF3(_L("minRecordTimeAvailable(%d) > recordTimeAvailable(%d)"), minRecordTimeAvailable, recordTimeAvailable.Int64());
+			}
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdRemoveMetaDataEntryL(const TDesC& aSection)
+	{
+
+	TInt	metaDataEntryID=0;
+	GetIntFromConfig(aSection, KMetaDataEntryID(), metaDataEntryID);
+	TRAPD(err, iVideoRecorderUtility->RemoveMetaDataEntryL(metaDataEntryID));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("RemoveMetaDataEntryL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdReplaceMetaDataEntryL(const TDesC& aSection)
+	{
+
+	TPtrC	metaDataEntryName;
+	if ( GetStringFromConfig(aSection, KMetaDataEntryName(), metaDataEntryName) )
+		{
+		TPtrC metaDataEntryValue;
+		if ( GetStringFromConfig(aSection, KMetaDataEntryValue(), metaDataEntryValue) )
+			{
+			CMMFMetaDataEntry*	metaDataEntry = NULL;
+			TRAPD(err, metaDataEntry=CMMFMetaDataEntry::NewL(metaDataEntryName, metaDataEntryValue));
+			CleanupStack::PushL(metaDataEntry);
+			if ( err!=KErrNone )
+				{
+				ERR_PRINTF2(_L("Cannot create CMMFMetaDataEntry - Error %d"), err);
+				SetBlockResult(EFail);
+				}
+			else
+				{
+				TInt	metaDataEntryIndex=0;
+				GetIntFromConfig(aSection, KMetaDataEntryIndex(), metaDataEntryIndex);
+				TRAPD(err, iVideoRecorderUtility->ReplaceMetaDataEntryL(metaDataEntryIndex, *metaDataEntry));
+				if ( err!=KErrNone )
+					{
+					ERR_PRINTF2(_L("ReplaceMetaDataEntryL Error %d"), err);
+					SetError(err);
+					}
+				}
+			CleanupStack::PopAndDestroy(metaDataEntry);
+			}
+		else
+			{
+			ERR_PRINTF2(_L("No %S"), &KMetaDataEntryValue());
+			SetBlockResult(EFail);
+			}
+		}
+	else
+		{
+		ERR_PRINTF2(_L("No %S"), &KMetaDataEntryName());
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdSetAudioBitRateL(const TDesC& aSection)
+	{
+
+	TInt	audioBitRate=KDefaultAudioBitRate;
+	GetIntFromConfig(aSection, KBitRate(), audioBitRate);
+	TRAPD(err, iVideoRecorderUtility->SetAudioBitRateL(audioBitRate));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetAudioBitRateL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdSetAudioEnabledL(const TDesC& aSection)
+	{
+
+	TBool	audioEnabled=EFalse;
+	GetBoolFromConfig(aSection, KEnabled(), audioEnabled);
+	TRAPD(err, iVideoRecorderUtility->SetAudioEnabledL(audioEnabled));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetAudioEnabledL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdSetAudioTypeL(const TDesC& aSection)
+	{
+	TFourCC	val;
+	if ( CT_MMUtil::ReadFourCC(*this, aSection, val) )
+		{
+		TRAPD(err, iVideoRecorderUtility->SetAudioTypeL(val));
+		if ( err!=KErrNone )
+			{
+			ERR_PRINTF2(_L("SetAudioTypeL Error %d"), err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("No data type"));
+		SetBlockResult(EFail);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdSetGainL(const TDesC& aSection)
+	{
+
+	TInt	gain=0;
+	GetIntFromConfig(aSection, KGain(), gain);
+	TRAPD(err, iVideoRecorderUtility->SetGainL(gain));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetGainL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdSetMaxClipSizeL(const TDesC& aSection)
+	{
+
+	TInt	maxClipSize=KMMFNoMaxClipSize;
+	GetIntFromConfig(aSection, KMaxClipSize(), maxClipSize);
+	TRAPD(err, iVideoRecorderUtility->SetMaxClipSizeL(maxClipSize));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetMaxClipSizeL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdSetPriorityL(const TDesC& aSection)
+	{
+	TMdaPriorityPreference	priorityPreference;
+	if ( !CT_MMUtil::ReadMdaPriorityPreference(*this, aSection, priorityPreference) )
+		{
+		priorityPreference=EMdaPriorityPreferenceNone;
+		}
+
+	TInt	priority;
+	if ( !CT_MMUtil::ReadMdaPriority(*this, aSection, priority) )
+		{
+		priority=EMdaPriorityMin;
+		}
+
+	TRAPD(err, iVideoRecorderUtility->SetPriorityL(priority, priorityPreference));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetPriorityL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdSetVideoBitRateL(const TDesC& aSection)
+	{
+
+	TInt	videoBitRate=KMMFVariableVideoBitRate;
+	GetIntFromConfig(aSection, KBitRate(), videoBitRate);
+	TRAPD(err, iVideoRecorderUtility->SetVideoBitRateL(videoBitRate));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetVideoBitRateL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdSetVideoFrameRateL(const TDesC& aSection)
+	{
+
+	TInt	videoFrameRate=KDefaultVideoFrameRate;
+	GetIntFromConfig(aSection, KFrameRate(), videoFrameRate);
+	TRAPD(err, iVideoRecorderUtility->SetVideoFrameRateL(TReal(videoFrameRate)));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetVideoFrameRateL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdSetVideoFrameSizeL(const TDesC& aSection)
+	{
+
+	TSize	videoFrameSize(0, 0);
+	GetIntFromConfig(aSection, KWidth(), videoFrameSize.iWidth);
+	GetIntFromConfig(aSection, KHeight(), videoFrameSize.iHeight);
+	TRAPD(err, iVideoRecorderUtility->SetVideoFrameSizeL(videoFrameSize));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetVideoFrameSizeL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdSetVideoTypeL(const TDesC& aSection)
+	{
+
+	HBufC8*	videoType8=NULL;
+	TPtrC	videoType;
+	if ( GetStringFromConfig(aSection, KVideoType(), videoType) )
+		{
+		videoType8=HBufC8::NewL(videoType.Length());
+		videoType8->Des().Copy(videoType);
+		}
+	else
+		{
+		videoType8=HBufC8::NewL(0);
+		videoType8->Des().Copy(KNullDesC8);
+		}
+	TRAPD(err, iVideoRecorderUtility->SetVideoTypeL(*videoType8));
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("SetVideoTypeL Error %d"), err);
+		SetError(err);
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdStop()
+	{
+	TInt	error=iVideoRecorderUtility->Stop();
+	INFO_PRINTF1(_L("Stop recording"));
+	if ( error!=KErrNone )
+		{
+		ERR_PRINTF2(_L("Stop Error %d"), error);
+		SetError(error);
+		}
+
+	if(iRecordStarted)
+		{
+		iRecordStarted = EFalse;
+		DecOutstanding();
+		}
+
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdVideoBitRateL(const TDesC& aSection)
+	{
+
+	TInt	bitRate=0;
+	TRAPD(err, bitRate=iVideoRecorderUtility->VideoBitRateL());
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("VideoBitRateL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		if ( bitRate==KMMFVariableVideoBitRate )
+			{
+			INFO_PRINTF1(_L("VideoBitRateL=KMMFVariableVideoBitRate"));
+			}
+		else
+			{
+			INFO_PRINTF2(_L("VideoBitRateL=%d"), bitRate);
+			}
+		TInt	expectedBitRate=0;
+		if(GetIntFromConfig(aSection, KBitRate(), expectedBitRate))
+			{
+			if(bitRate != expectedBitRate)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("videoBitRate(%d) != expectedVideoBitRate(%d)"), bitRate, expectedBitRate);
+				}
+			}
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdVideoFormatMimeTypeL(const TDesC& aSection)
+	{
+
+	TPtrC8	mimeType=iVideoRecorderUtility->VideoFormatMimeType();
+	HBufC*	mime=HBufC::NewLC(mimeType.Length());
+	TPtr	mimeDes=mime->Des();
+	mimeDes.Copy(mimeType);
+	INFO_PRINTF2(_L("VideoFormatMimeType=%S"), &mimeDes);
+
+	TPtrC	expectedMimeType;
+	if(GetStringFromConfig(aSection, KVideoType(), expectedMimeType))
+		{
+		if(mimeDes != expectedMimeType)
+			{
+			SetBlockResult(EFail);
+			ERR_PRINTF3(_L("mimeType(%S) != expectedMimeType(%S)"), &mimeDes, &expectedMimeType);
+			}
+		}
+
+	CleanupStack::PopAndDestroy(mime);
+	}
+
+void CT_MMDataVideoRecorderUtility::DoCmdVideoFrameRateL(const TDesC& aSection)
+	{
+
+	TReal	frameRate=0;
+	TRAPD(err, frameRate=iVideoRecorderUtility->VideoFrameRateL());
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("VideoFrameRateL Error %d"), err);
+		SetError(err);
+		}
+	else
+		{
+		INFO_PRINTF2(_L("VideoFrameRateL=%f"), frameRate);
+		TInt	expectedFrameRate=0;
+		if(GetIntFromConfig(aSection, KFrameRate(), expectedFrameRate))
+			{
+			if(TInt(frameRate) != expectedFrameRate)
+				{
+				SetBlockResult(EFail);
+				ERR_PRINTF3(_L("videoFrameRate(%f) != expectedVideoFrameRate(%d)"), frameRate, expectedFrameRate);
+				}
+			}
+		}
+	}
+
+void CT_MMDataVideoRecorderUtility::ReadCameraHandleL(const TDesC& aSection, TInt& aCameraHandle)
+	{
+	TPtrC	cameraName;
+	if ( GetStringFromConfig(aSection, KCamera(), cameraName) )
+		{
+		CCamera*	camera=static_cast<CCamera*>(GetDataObjectL(cameraName));
+		if ( camera==NULL )
+			{
+			ERR_PRINTF2(_L("Camera %S not found"), &cameraName);
+			SetBlockResult(EFail);
+			}
+		else
+			{
+			aCameraHandle=camera->Handle();
+			}
+		}
+	else
+		{
+		if ( !GetIntFromConfig(aSection, KCameraHandle(), aCameraHandle) )
+			{
+			ERR_PRINTF1(_L("No camera or camera handle specified"));
+			SetBlockResult(EFail);
+			}
+		}
+	}
+
+///////////////////////////////////////////////////////////////////
+//from the MVideoRecorderUtilityObserver interface  / / / / / / / /
+///////////////////////////////////////////////////////////////////
+
+/**
+Asynchronous callback called when CVideoRecorderUtility::Open completes
+@internalAll
+@return void
+@param aError Symbian error code on failure, KErrNone if opened ok
+@pre N/A
+@post N/A
+*/
+void CT_MMDataVideoRecorderUtility::MvruoOpenComplete(TInt aError)
+	{
+	if ( aError==KErrNone )
+		{
+		INFO_PRINTF1(_L("Open OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Open Error %d"), aError);
+		SetAsyncError(iApiAsyncErrorIndex, aError);
+		}
+	DecOutstanding();
+	}
+
+/**
+Asynchronous callback called when CVideoRecorderUtility::Prepare completes
+@internalAll
+@return void
+@param aError Symbian error code on failure, KErrNone if prepared ok
+@pre N/A
+@post N/A
+*/
+void CT_MMDataVideoRecorderUtility::MvruoPrepareComplete(TInt aError)
+	{
+	if ( aError==KErrNone )
+		{
+		INFO_PRINTF1(_L("Prepare OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("Prepare Error %d"), aError);
+		SetAsyncError(iApiAsyncErrorIndex, aError);
+		}
+	DecOutstanding();
+	}
+
+/**
+Asynchronous callback called when CVideoRecorderUtility::Record completes
+@internalAll
+@return void
+@param aError Symbian error code on failure, KErrNone if recorded ok
+@pre N/A
+@post N/A
+*/
+void CT_MMDataVideoRecorderUtility::MvruoRecordComplete(TInt aError)
+	{
+	if ( aError==KErrNone )
+		{
+		INFO_PRINTF1(_L("MvruoRecordComplete: Record OK"));
+		}
+	else
+		{
+		ERR_PRINTF2(_L("MvruoRecordComplete: Record Error %d"), aError);
+		SetAsyncError(iApiAsyncErrorIndex, aError);
+		}
+	if ( iFileOpened )
+		{
+		iFile.Close();
+		iFileOpened=EFalse;
+		}
+	iRecordStarted = EFalse;
+	DecOutstanding();
+	}
+
+/**
+Asynchronous callback called when general event notification from controller received
+@internalAll
+@return void
+@param aEvent The event sent by the controller
+@pre N/A
+@post N/A
+*/
+void CT_MMDataVideoRecorderUtility::MvruoEvent(const TMMFEvent &aEvent)
+	{
+	if(aEvent.iErrorCode == KErrNone )
+		{
+		INFO_PRINTF1(_L("MvruoEvent OK"));
+		INFO_PRINTF2(_L("MvruoEvent event type %d"), aEvent.iEventType);
+		}
+	else
+		{
+		ERR_PRINTF2(_L("MvruoEvent Error %d"), aEvent.iErrorCode);
+		SetAsyncError(iApiAsyncErrorIndex, aEvent.iErrorCode);
+		}
+
+	DecOutstanding();
+	}
+
+/**
+ Virtual RunL - Called on completion of an asynchronous command
+ @internalComponent
+ @see MTPActiveCallback
+ @param aActive Active Object that RunL has been called on
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+void CT_MMDataVideoRecorderUtility::RunL(CActive* aActive, TInt aIndex)
+	{
+	if ( aActive==iActiveCallback )
+		{
+		RunActiveL(aIndex);
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Stray signal"));
+		SetBlockResult(EFail);
+		}
+	}
+
+/**
+ Virtual DoCancel - Request to cancel the asynchronous command
+ @internalComponent
+ @see - MTPActiveCallback
+ @param aActive Active Object that DoCancel has been called on
+ @pre - N/A
+ @post - N/A
+ @leave system wide error code
+*/
+void CT_MMDataVideoRecorderUtility::DoCancel(CActive* aActive, TInt aIndex)
+	{
+	if ( aActive==iActiveCallback )
+		{
+		SetAsyncError(aIndex, aActive->iStatus.Int());
+		DoCancelActive();
+		}
+	else
+		{
+		ERR_PRINTF1(_L("Stray signal"));
+		SetBlockResult(EFail);
+		}
+	}
+
+/**
+ RunActiveL - Process RunL for iActive
+ @internalComponent
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+void CT_MMDataVideoRecorderUtility::RunActiveL(TInt aIndex)
+	{
+	TInt	err=iActiveCallback->iStatus.Int();
+	if ( err!=KErrNone )
+		{
+		ERR_PRINTF2(_L("RunL Error %d"), err);
+		SetAsyncError(aIndex, err);
+		}
+	DecOutstanding();
+	}
+
+
+/**
+ DoCancelActive - Process DoCancel for iActive
+ @internalComponent
+ @pre N/A
+ @post N/A
+ @leave system wide error code
+*/
+void CT_MMDataVideoRecorderUtility::DoCancelActive()
+	{
+
+	}
+
+/**
+Helper method for deleting files
+*/
+void CT_MMDataVideoRecorderUtility::DeleteFile(const TDesC& aSection)
+	{
+	TPtrC filename;
+	if ( GetStringFromConfig(aSection, KCmdFilename(), filename) )
+		{
+		TInt err = BaflUtils::DeleteFile(iFs, filename);
+		if ( err == KErrNone )
+			{
+			INFO_PRINTF2(_L("File deleted: %S"), &filename);
+			}
+		else
+			{
+			ERR_PRINTF2(_L("File deletion error: %d"), err);
+			SetError(err);
+			}
+		}
+	else
+		{
+		ERR_PRINTF1(_L("No filename given."));
+		SetBlockResult(EFail);
+		}
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/src/T_VideoRecorderUtilityServer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "T_VideoRecorderUtilityServer.h"
+
+/*@{*/
+/*@}*/
+
+CT_VideoRecorderUtilityServer* CT_VideoRecorderUtilityServer::NewL()
+/**
+ * @return - Instance of the test server
+ * Same code for Secure and non-secure variants
+ * Called inside the MainL() function to create and start the
+ * CTestServer derived server.
+ */
+	{
+	CT_VideoRecorderUtilityServer*	server = new (ELeave) CT_VideoRecorderUtilityServer();
+	CleanupStack::PushL(server);
+	server->ConstructL();
+	CleanupStack::Pop(server);
+	return server;
+	}
+
+LOCAL_C void MainL()
+/**
+ * Secure variant
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+	{
+#if (defined __DATA_CAGING__)
+	RProcess().DataCaging(RProcess::EDataCagingOn);
+	RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+	CActiveScheduler*				sched=NULL;
+	sched=new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(sched);
+	CT_VideoRecorderUtilityServer*	server = NULL;
+	// Create the CTestServer derived server
+	TRAPD(err,server = CT_VideoRecorderUtilityServer::NewL());
+	if(!err)
+		{
+		// Sync with the client and enter the active scheduler
+		RProcess::Rendezvous(KErrNone);
+		sched->Start();
+		}
+	delete server;
+	delete sched;
+	}
+
+GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on process exit
+ * Secure variant only
+ * Process entry point. Called by client using RProcess API
+ */
+	{
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup = CTrapCleanup::New();
+	if(cleanup == NULL)
+		{
+		return KErrNoMemory;
+		}
+#if (defined TRAP_IGNORE)
+	TRAP_IGNORE(MainL());
+#else
+	TRAPD(err,MainL());
+#endif
+	delete cleanup;
+	__UHEAP_MARKEND;
+	return KErrNone;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/mmf/T_VideoRecorderUtility/testdata/MM-MMF-VCLNT-RCRDR-PublicAPI.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1275 @@
+[include]
+file1=\multimedia\t_multimedia.ini
+
+
+[camera1]
+name=camera1
+
+
+[videorecorderutility1]
+name=videorecorderutility1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0001-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0001-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0001-001-OpenFileL_command06]
+camera=camera1
+outputfile=\multimedia\temp.dummy
+useRFile=TRUE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0002-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0002-001-SetBrightnessL_command05]
+brightness=-100
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0002-001-SetContrastL_command06]
+contrast=-100
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0002-001-SetJpegQuality_command07]
+jpegQuality=1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0002-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0002-001-OpenFileL_command10]
+camera=camera1
+outputfile=\multimedia\temp.dummy
+useRFile=FALSE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0003-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0003-001-SetBrightnessL_command05]
+brightness=100
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0003-001-SetContrastL_command06]
+contrast=100
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0003-001-SetJpegQuality_command07]
+jpegQuality=100
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0003-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0003-001-OpenDesL_command10]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0004-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0004-001-SetBrightnessL_command05]
+brightness=50
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0004-001-SetContrastL_command06]
+contrast=50
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0004-001-SetJpegQuality_command07]
+jpegQuality=50
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0004-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0004-001-OpenUrlL_command10]
+camera=camera1
+outputURL=file://\multimedia\temp.dummy
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0005-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0005-001-SetViewFinderMirrorL_command05]
+viewFinderMirror=FALSE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0005-001-NewL_command07]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0005-001-OpenFileL_command08]
+camera=camera1
+outputfile=\multimedia\temp.dummy
+useRFile=FALSE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0005-001-OpenFileL_command14]
+camera=camera1
+outputfile=\multimedia\temp.dummy
+useRFile=FALSE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0005-001-OpenFileL_command20]
+camera=camera1
+outputfile=\multimedia\temp.dummy
+useRFile=FALSE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-SetZoomFactorL_command05]
+zoomFactor=-2
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-NewL_command07]
+priority=EMdaPriorityMin
+prioritypreference=Quality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-OpenDesL_command08]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-GetPriorityL_command09]
+priority=EMdaPriorityMin
+prioritypreference=Quality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-SetPriorityL_command10]
+priority=EMdaPriorityMax
+prioritypreference=Time
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-GetPriorityL_command11]
+priority=EMdaPriorityMax
+prioritypreference=Time
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-SetPriorityL_command12]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-GetPriorityL_command13]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-SetPriorityL_command14]
+priority=EMdaPriorityNormal
+prioritypreference=None
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0006-001-GetPriorityL_command15]
+priority=EMdaPriorityNormal
+prioritypreference=None
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0007-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0007-001-SetZoomFactorL_command05]
+zoomFactor=2
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0007-001-NewL_command07]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0007-001-OpenDesL_command08]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0007-001-SetVideoFrameRateL_command11]
+framerate=30
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0007-001-VideoFrameRateL_command12]
+framerate=30
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0008-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0008-001-NewL_command07]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0008-001-OpenDesL_command08]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0008-001-SetVideoFrameSizeL_command11]
+width=360
+height=288
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0008-001-GetVideoFrameSizeL_command12]
+width=360
+height=288
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0009-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0009-001-NewL_command07]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0009-001-OpenDesL_command08]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0009-001-SetVideoBitRateL_command11]
+bitrate=2000
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0010-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0010-001-SetWhiteBalanceL_command05]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0010-001-SetExposureL_command06]
+exposure=EExposureAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0010-001-SetFlashL_command07]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0010-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0010-001-OpenDesL_command10]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0010-001-SetAudioBitRateL_command13]
+bitrate=2000
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-SetWhiteBalanceL_command05]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-SetExposureL_command06]
+exposure=EExposureNight
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-SetFlashL_command07]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-OpenDesL_command10]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-SetAudioEnabledL_command13]
+enabled=FALSE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-AudioEnabledL_command14]
+enabled=FALSE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-SetAudioEnabledL_command15]
+enabled=TRUE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0011-001-AudioEnabledL_command16]
+enabled=TRUE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-SetWhiteBalanceL_command05]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-SetExposureL_command06]
+exposure=EExposureAperturePriority
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-SetFlashL_command07]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-OpenDesL_command10]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-DurationL_command12]
+maxvalue=2000000
+minvalue=100
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-RecordTimeAvailable_command13]
+maxvalue=20000000
+minvalue=100
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-DurationL_command15]
+maxvalue=2000000
+minvalue=100
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-RecordTimeAvailable_command16]
+maxvalue=20000000
+minvalue=100
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-SetMaxClipSizeL_command17]
+maxclipsize=2000
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0012-001-RecordTimeAvailable_command18]
+maxvalue=20000000
+minvalue=100
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-SetWhiteBalanceL_command05]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-SetExposureL_command06]
+exposure=EExposureNight
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-SetFlashL_command07]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-OpenDesL_command10]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-GainL_command12]
+gain=-1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-MaxGainL_command13]
+maxvalue=20
+minvalue=5
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-SetGainL_command14]
+gain=3
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-GainL_command15]
+gain=3
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0013-001-SetGainL_command16]
+gain=30
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetWhiteBalanceL_command05]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetExposureL_command06]
+exposure=EExposureNight
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetFlashL_command07]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-OpenDesL_command10]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command13]
+fourcc=KMMFFourCCCodePCM8
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command14]
+fourcc=KMMFFourCCCodePCM8
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command15]
+fourcc=KMMFFourCCCodePCMU8
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command16]
+fourcc=KMMFFourCCCodePCMU8
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command17]
+fourcc=KMMFFourCCCodePCM16
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command18]
+fourcc=KMMFFourCCCodePCM16
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command19]
+fourcc=KMMFFourCCCodePCMU16
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command20]
+fourcc=KMMFFourCCCodePCMU16
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command21]
+fourcc=KMMFFourCCCodePCM16B
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command22]
+fourcc=KMMFFourCCCodePCM16B
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command23]
+fourcc=KMMFFourCCCodePCMU16B
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command24]
+fourcc=KMMFFourCCCodePCMU16B
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command25]
+fourcc=KMMFFourCCCodeIMAD
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command26]
+fourcc=KMMFFourCCCodeIMAD
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command27]
+fourcc=KMMFFourCCCodeIMAS
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command28]
+fourcc=KMMFFourCCCodeIMAS
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command29]
+fourcc=KMMFFourCCCodeALAW
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command30]
+fourcc=KMMFFourCCCodeALAW
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command31]
+fourcc=KMMFFourCCCodeMuLAW
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command32]
+fourcc=KMMFFourCCCodeMuLAW
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command33]
+fourcc=KMMFFourCCCodeGSM610
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command34]
+fourcc=KMMFFourCCCodeGSM610
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command35]
+fourcc=KMMFFourCCCodeNULL
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command36]
+fourcc=KMMFFourCCCodeNULL
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command37]
+fourcc=KMMFFourCCCodeAMR
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command38]
+fourcc=KMMFFourCCCodeAMR
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command39]
+fourcc=KMMFFourCCCodeAAC
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command40]
+fourcc=KMMFFourCCCodeAAC
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command41]
+fourcc=KMMFFourCCCodeAWB
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command42]
+fourcc=KMMFFourCCCodeAWB
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command43]
+fourcc=KMMFFourCCCodeMP3
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command44]
+fourcc=KMMFFourCCCodeMP3
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command45]
+fourcc=KMMFFourCCCodeATRAC3
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command46]
+fourcc=KMMFFourCCCodeATRAC3
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command47]
+fourcc=KMMFFourCCCodeSBC
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command48]
+fourcc=KMMFFourCCCodeSBC
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command49]
+fourcc=KMMFFourCCCodeAMRW
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command50]
+fourcc=KMMFFourCCCodeAMRW
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-SetAudioTypeL_command51]
+fourcc=KMMFFourCCCodeADTS
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0014-001-AudioTypeL_command52]
+fourcc=KMMFFourCCCodeADTS
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-SetWhiteBalanceL_command05]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-SetExposureL_command06]
+exposure=EExposureAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-SetFlashL_command07]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-OpenDesL_command10]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-SetVideoTypeL_command11]
+videotype=x-video1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0015-001-SetVideoTypeL_command12]
+videotype=x-video2
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-SetWhiteBalanceL_command05]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-SetExposureL_command06]
+exposure=EExposureAperturePriority
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-SetFlashL_command07]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-OpenDesL_command10]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-NumberOfMetaDataEntriesL_command12]
+noofmetadataentries=0
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-AddMetaDataEntryL_command13]
+metaDataEntryvalue=<Symbian (c) 2002>
+metaDataEntryname=<Copyright>
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-MetaDataEntryL_command15]
+metaDataEntryindex=0
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-ReplaceMetaDataEntryL_command16]
+metaDataEntryvalue=<Symbian (c) 2005>
+metaDataEntryindex=0
+metaDataEntryname=<Copyright>
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-RemoveMetaDataEntryL_command18]
+metaDataEntryid=0
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0016-001-NumberOfMetaDataEntriesL_command19]
+noofmetadataentries=0
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-SetWhiteBalanceL_command05]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-SetExposureL_command06]
+exposure=EExposureAperturePriority
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-SetFlashL_command07]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-OpenDesL_command10]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-CustomCommandAsync_command11]
+function=7
+useDataFrom=TRUE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0017-001-CustomCommandSync_command12]
+function=7
+useDataFrom=TRUE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-SetWhiteBalanceL_command05]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-SetExposureL_command06]
+exposure=EExposureAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-SetFlashL_command07]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-OpenDesL_command10]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-CustomCommandAsync_command11]
+function=7
+useDataFrom=FALSE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0018-001-CustomCommandSync_command12]
+function=7
+useDataFrom=FALSE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0019-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0019-001-SetWhiteBalanceL_command05]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0019-001-SetExposureL_command06]
+exposure=EExposureAperturePriority
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0019-001-SetFlashL_command07]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0019-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0019-001-OpenFileL_command10]
+camera=camera1
+outputfile=\multimedia\temp.dummy
+useRFile=TRUE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0020-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0020-001-SetWhiteBalanceL_command05]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0020-001-SetExposureL_command06]
+exposure=EExposureNight
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0020-001-SetFlashL_command07]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0020-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0020-001-OpenFileL_command10]
+camera=camera1
+outputfile=\multimedia\temp.dummy
+useRFile=TRUE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0020-001-deletefile_command14]
+filename=\multimedia\temp.dummy
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-SetWhiteBalanceL_command05]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-SetExposureL_command06]
+exposure=EExposureAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-SetFlashL_command07]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-NewL_command09]
+priority=EMdaPriorityMin
+prioritypreference=Quality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-OpenDesL_command10]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-SetPriorityL_command11]
+priority=-10000
+prioritypreference=8
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0021-001-GetPriorityL_command12]
+priority=EMdaPriorityMin
+prioritypreference=Quality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-SetWhiteBalanceL_command05]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-SetExposureL_command06]
+exposure=EExposureAperturePriority
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-SetFlashL_command07]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-OpenDesL_command10]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-SetVideoFrameRateL_command12]
+framerate=30
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-SetVideoFrameRateL_command13]
+framerate=-30
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0022-001-VideoFrameRateL_command14]
+framerate=30
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-SetWhiteBalanceL_command05]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-SetExposureL_command06]
+exposure=EExposureNight
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-SetFlashL_command07]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-NewL_command09]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-OpenDesL_command10]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-SetVideoBitRateL_command12]
+bitrate=-2000
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0023-001-VideoBitRateL_command13]
+bitrate=0
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetBrightnessL_command05]
+brightness=10
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetContrastL_command06]
+contrast=10
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetJpegQuality_command07]
+jpegQuality=10
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetViewFinderMirrorL_command08]
+viewFinderMirror=FALSE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetZoomFactorL_command09]
+zoomFactor=2
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetWhiteBalanceL_command11]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetExposureL_command12]
+exposure=EExposureAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetFlashL_command13]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-NewL_command15]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-OpenDesL_command16]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-SetAudioBitRateL_command18]
+bitrate=-2000
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0024-001-AudioBitRateL_command19]
+bitrate=0
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetBrightnessL_command05]
+brightness=-10
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetContrastL_command06]
+contrast=-10
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetJpegQuality_command07]
+jpegQuality=20
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetViewFinderMirrorL_command08]
+viewFinderMirror=FALSE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetZoomFactorL_command09]
+zoomFactor=-2
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetWhiteBalanceL_command11]
+whiteBalance=EWBAuto
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetExposureL_command12]
+exposure=EExposureNight
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetFlashL_command13]
+flash=EFlashNone
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-NewL_command15]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-OpenDesL_command16]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0025-001-SetVideoTypeL_command17]
+videotype=bad-value
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0026-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0026-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0026-001-OpenDesL_command06]
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0026-001-SetAudioTypeL_command07]
+fourcc=KMMFFourCCCodeNULL
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0026-001-SetAudioTypeL_command08]
+fourcc=3
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0026-001-AudioTypeL_command09]
+fourcc=KMMFFourCCCodeNULL
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0027-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0027-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0027-001-OpenFileL_command06]
+camera=camera1
+outputfile=78:\bad_file_path\
+useRFile=FALSE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0028-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0028-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0028-001-OpenFileL_command06]
+outputfile=\multimedia\temp.dummy
+camerahandle=-7
+useRFile=FALSE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0029-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0029-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0029-001-OpenFileL_command06]
+videocontrolleruid=FFFFFFF
+camera=camera1
+outputfile=\multimedia\temp.dummy
+useRFile=FALSE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0030-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0030-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0030-001-OpenDesL_command06]
+camerahandle=-7
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0031-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0031-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0031-001-OpenDesL_command06]
+camera=camera1
+videocontrolleruid=FFFFFFF
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0032-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0032-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0032-001-OpenUrlL_command06]
+camera=camera1
+outputURL=file://78:\bad_file_path\
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0033-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0033-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0033-001-OpenUrlL_command06]
+outputURL=file://\multimedia\temp.dummy
+camerahandle=-7
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0034-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0034-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0034-001-OpenUrlL_command06]
+camera=camera1
+outputURL=file://\multimedia\temp.dummy
+videocontrolleruid=FFFFFFF
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0035-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0035-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0035-001-OpenUrlL_command06]
+camera=camera1
+accesspointid=-987
+outputURL=http://www.symbian.com/temp.dummy
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0036-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0036-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0036-001-OpenFileL_command06]
+videocontrolleruid=0
+camera=camera1
+outputfile=\multimedia\temp.dummy
+useRFile=FALSE
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0037-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0037-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0037-001-OpenDesL_command06]
+camera=camera1
+videocontrolleruid=0
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0038-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0038-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0038-001-OpenUrlL_command06]
+camera=camera1
+outputURL=file://\multimedia\temp.dummy
+videocontrolleruid=0
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0039-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0039-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0039-001-OpenDesL_command06]
+fourcc=KMMFFourCCCodePCM8
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0039-001-OpenDesL_command12]
+fourcc=KMMFFourCCCodePCMU8
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0039-001-OpenDesL_command18]
+fourcc=KMMFFourCCCodePCM16
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0039-001-OpenDesL_command24]
+fourcc=KMMFFourCCCodePCMU16
+camera=camera1
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0040-001-NewL_command01]
+camindex={default_video, validvideo}
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0040-001-NewL_command05]
+priority=EMdaPriorityNormal
+prioritypreference=TimeAndQuality
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0040-001-OpenDesL_command06]
+camera=camera1
+videoformatuid=FFFFFF
+
+
+[MM-MMF-VCLNT-RCRDR-PublicAPI-0040-001-OpenDesL_command12]
+camera=camera1
+videoformatuid=111111
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/scripts/setup_t_multimedia.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,47 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+RUN_UTILS MkDir		${SYSDRIVE}\multimedia\
+
+RUN_UTILS CopyFile	z:\multimedia\t_multimedia.script	${SYSDRIVE}\multimedia\t_multimedia.script
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia.script
+
+RUN_UTILS CopyFile	z:\multimedia\t_multimedia.tcs		${SYSDRIVE}\multimedia\t_multimedia.tcs
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia.tcs
+
+RUN_UTILS CopyFile	z:\multimedia\t_multimedia.ini		${SYSDRIVE}\multimedia\t_multimedia.ini
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia.ini
+
+RUN_UTILS CopyFile	z:\multimedia\t_multimedia_location.ini	${SYSDRIVE}\multimedia\t_multimedia_location.ini
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\multimedia\t_multimedia_location.ini
+
+RUN_UTILS CopyFile	z:\multimedia\102070CC.txt		${SYSDRIVE}\102070CC.txt
+RUN_UTILS MakeReadWrite	${SYSDRIVE}\102070CC.txt
+
+RUN_SCRIPT z:\multimedia\setup-MM-ECM-PublicApi.script
+RUN_SCRIPT z:\multimedia\setup-MM-ICL-DECDE-PublicApi.script
+RUN_SCRIPT z:\multimedia\setup-MM-ICL-ENCDE-PublicApi.script
+RUN_SCRIPT z:\multimedia\setup-MM-MMF-ACLNT-CNVRT-PublicAPI.script
+RUN_SCRIPT z:\multimedia\setup-MM-MMF-ACLNT-INPT-PublicAPI.script
+RUN_SCRIPT z:\multimedia\setup-MM-MMF-ACLNT-OUTPT-PublicAPI.script
+RUN_SCRIPT z:\multimedia\setup-MM-MMF-ACLNT-PLYR-PublicAPI.script
+RUN_SCRIPT z:\multimedia\setup-MM-MMF-ACLNT-RCRDR-PublicAPI.script
+RUN_SCRIPT z:\multimedia\setup-MM-MMF-ACLNT-TONE-PublicAPI.script
+RUN_SCRIPT z:\multimedia\setup-MM-MMF-MIDI-PublicAPI.script
+RUN_SCRIPT z:\multimedia\setup-MM-TNR-PublicAPI.script
+RUN_SCRIPT z:\multimedia\setup-MM-MMF-VCLNT-PLYR-PublicAPI.script
+RUN_SCRIPT z:\multimedia\setup-MM-MMF-VCLNT-RCRDR-PublicAPI.script
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/scripts/t_multimedia.script	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,30 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+//
+
+RUN_SCRIPT ${SYSDRIVE}\multimedia\MM-ECM-PublicApi.script
+RUN_SCRIPT ${SYSDRIVE}\multimedia\MM-ICL-DECDE-PublicApi.script
+RUN_SCRIPT ${SYSDRIVE}\multimedia\MM-ICL-ENCDE-PublicApi.script
+RUN_SCRIPT ${SYSDRIVE}\multimedia\MM-MMF-ACLNT-CNVRT-PublicAPI.script
+RUN_SCRIPT ${SYSDRIVE}\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.script
+RUN_SCRIPT ${SYSDRIVE}\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.script
+RUN_SCRIPT ${SYSDRIVE}\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.script
+RUN_SCRIPT ${SYSDRIVE}\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.script
+RUN_SCRIPT ${SYSDRIVE}\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.script
+RUN_SCRIPT ${SYSDRIVE}\multimedia\MM-MMF-MIDI-PublicAPI.script
+RUN_SCRIPT ${SYSDRIVE}\multimedia\MM-TNR-PublicAPI.script
+RUN_SCRIPT ${SYSDRIVE}\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.script
+RUN_SCRIPT ${SYSDRIVE}\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.script
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/testdata/102070CC.txt	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1 @@
+Needed for test camera
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/testdata/t_multimedia.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,188 @@
+[default_camera]
+
+# Defines the number of cameras available on the device.
+count		=1
+
+# Set to the 0 offset index of the camera used for still photography tests.
+validstill	=0
+
+# Set to an invalid camera index for negative still photography tests.
+invalidstill	=100
+
+[default_video]
+
+# Set to the index of the camera used for video tests.
+validvideo	=0
+
+# Set to the default video frame width.
+framewidth	=176
+
+# Set to the default video frame height.
+frameheight	=144
+
+[default_videocontroller]
+
+# Defines the uid of the video controller of the device. 
+uid		=101F8514
+
+[default_videoplayer]
+
+# Refers to the video file which is used to execute the video player/recorder tests. 
+sample		=\multimedia\t_videoplayerutility\xvid_clock.avi
+
+# Defines the default video mime type of the default video file (sample). 
+format		=XVID
+
+# Indicates whether or not audio is enabled in the videoclip. 
+audioenabled	=FALSE
+
+# Defines the default length of the video clip in micro seconds. 
+duration	=13400000
+
+# Defines the default maximum volume of the video clip.
+maxvolume	=100
+
+# Defines the url used to execute the video player/recorder tests. 
+urisample	=file:///multimedia/t_videoplayerutility/xvid_clock.avi
+
+[default_icl]
+
+# These keys define the default uids of the various image types. 
+
+imagetype_gif   =   101F45B3
+imagetype_tiff  =   101F45C4
+imagetype_jpg   =   101F45D8
+imagetype_bmp   =   101F45B0
+imagetype_png   =   101F45C9
+imagetype_ota   =   101F45D2
+imagetype_mbm	=   101F45CC
+imagetype_ico	=   101F45D5
+imagetype_wbmp	=   101F45CF
+imagetype_mng   =   101F7C53
+
+# These keys define the default mime types of the various image types.
+mime_gif	=   image/gif
+mime_tiff	=   image/tiff
+mime_jpg	=   image/jpeg
+mime_bmp	=   image/bmp
+mime_png	=   image/png
+mime_ico	=   image/ico
+mime_ota	=   image/x-ota-bitmap
+mime_mbm	=   image/x-epoc-mbm
+mime_wbm	=   image/vnd.wap.wbmp
+mime_wmf	=   image/x-wmf
+mime_mng	=   image/mng
+
+[default_mmf]
+
+# The full path and filename of the file to which converted audio data is appended.
+secondarylocation	=   \multimedia\t_mdaaudioconvertutility\note2.wav
+
+# Defines the full path and filename of a file containing audio sample data to be converted.
+primaryfile		=   \multimedia\t_mdaaudioconvertutility\note.wav
+
+# Defines the full path and filename of a large file containing audio sample data to be converted.
+tertiaryfile	=   \multimedia\t_mdaaudioconvertutility\explode.wav
+
+# Defines the uid of the audio controller on the device. 
+controlleruid		=   101F5022
+
+# Defines the default bitrate of the converted audio file. 
+convert_bitrate		=   128000
+
+# Defines the codec to be used for the converted audio object. 
+secondarycodec		=   PcmWavCodec
+
+# Defines the codec to be used for the source (unconverted) audio object. 
+primarycodec		=   PcmWavCodec
+
+# Defines the TFourcc code of the converted audio format. 
+fourcc_codecformat	=   KMMFFourCCCodePCM16
+
+# Defines the default bitrate the audio stream player may be set to. 
+Input_bitrate		=   10000
+
+# Defines the fourcc code of the input audio data stream. 
+fourcc_inputdatatype	=   KMMFFourCCCodePCM16
+
+# Defines the fourcc code the output audio data stream. 
+fourcc_outputdatatype	=   KMMFFourCCCodePCM16
+
+# The playback file of the audio player. 
+playbackfile		=   \multimedia\t_mdaaudioplayerutility\test.wav
+
+# Defines the format in which the audio data will be recorded. 
+fourcc_rcrdrdatatype	=   KMMFFourCCCodePCM16
+
+# The audio tone sequence files/descriptors to be played back by the audio tone player.
+sequence		=   \multimedia\t_audiotoneutility\sequence1.sqn
+
+# This is the alternate playback sequence. 
+alternate_sequence	=   \multimedia\t_audiotoneutility\sequence2.sqn
+
+# badsequence is a corrupt sequence used in negative tests.
+bad_sequence		=   \multimedia\t_audiotoneutility\badsequence.sqn
+
+# The corrupt file and path used for negative testing of the audio tone player.
+wrong_filename		=   \wrongplace\wrongfile.file
+
+# Defines the default priority (A priority between EMdaPriorityMin(-100) and EMdaPriorityMax(100)) of the tone to be played back. 
+tone_priority		=   50
+
+# Defines the default prioritypreference value, which define the behaviour to be adopted by an audio client if a higher priority client takes over the device. 
+tone_prioritypreference	=   TimeAndQuality
+
+# The file containing MIDI data to be used by the MIDI client. 
+midifilename		=   \multimedia\t_midiclientutility\midi.mid
+
+[default_tnr]
+
+# Defines the default event uid used for callback in the event that the audio resource is replaced by a higher priority audio client. 
+event_notificationuid   =  101FD9F2
+
+# Defines the default uid of the recorded audio data format.
+destination_formatuid	=  101F55E2
+
+# Defines the default uid of the recorded audio data format.
+destination_formatuid_amr	=  101FAF66
+
+# Defines the default uid of the recorded audio data format.
+destination_formatuid_raw	=  101F5C17
+
+# Defines the default recording bit rate used by the tuner recorder. 
+# destination_bitrate	=  128
+
+# Defines the default recording sampling rate used by the tuner recorder.
+# samplerate		=  96000
+
+# Defines the default data format of the recorded audio clip used by the tuner recorder. 
+# fourcc_tnrrcrdrdatatype	=  KMMFFourCCCodePCMU8
+
+[default_uids]
+
+# Defines the ECOM Implementation UID for a read in the wav audio file format supplied in Symbian plugin(s).
+kmmfuidformatwavread             =101F55E1
+
+# Defines the ECOM Implementation UID for a write in the wav audio file format supplied in Symbian plugin(s).
+kmmfuidformatwavwrite           = 101F55E2
+
+# Defines the ECOM Implementation UID for a read in the raw image file format supplied in Symbian plugin(s).
+kmmfuidformatrawread            = 101F5C16
+
+# Defines the ECOM Implementation UID for a write in the raw image file format supplied in Symbian plugin(s).
+kmmfuidformatrawwrite           = 101F5C17
+
+# Defines the ECOM Implementation UID for a read in the au file audio format supplied in Symbian plugin(s).
+kmmfuidformatauread             = 101F5C12
+
+# Defines the ECOM Implementation UID for a write in the au file audio format supplied in Symbian plugin(s)
+kmmfuidformatauwrite            =101F5C13
+
+# Defines the ECOM Implementation UID for a read in the amr file audio format supplied in Symbian plugin(s)
+kadvanceduidformatamrread       = 101FAF65
+
+# Defines the ECOM Implementation UID for a write in the amr file audio format supplied in Symbian plugin(s)
+kadvanceduidformatamrwrite      = 101FAF66
+
+# A Default invalid UID for any format
+kinvaliduid                     =FFFF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/testdata/t_multimedia_location.ini	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,13 @@
+[default_tnr]
+
+# Defines tuner frequency. Default frequency is 87600000
+# frequency		=  87600000
+
+# Defines alternate tuner frequency. Default value is 103900000.
+# alternate_frequency1	= 103900000
+
+# Defines alternate tuner frequency. Default value is 105200000.
+# alternate_frequency2	=  105200000
+
+# Defines alternate tuner frequency. Default value is 106100000.
+# alternate_frequency3	=  106100000
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/testsuites/group/bld.inf	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,19 @@
+//
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies 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_TESTEXPORTS
+../multimedia/multimedia.driver	/epoc32/testdriver/testproduct/multimedia.driver
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/suite/testsuites/multimedia/multimedia.driver	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<driver:driver xmlns:driver="http://www.symbian.com/TestDriver">
+	<task name="multimedia" timeout="100000">
+		<transferToSymbian>
+			<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_multimedia.ini" SymbianPath="$:\multimedia\t_multimedia.ini"/>
+			<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_multimedia_location.ini" SymbianPath="$:\multimedia\t_multimedia_location.ini"/>
+			<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\102070CC.txt" SymbianPath="$:\102070CC.txt"/>
+		</transferToSymbian>
+		<task name="icl">
+			<executeOnPC>
+				<build testBuild="true" URI="${sourceroot}\group\">
+					<componentName>t_imagedecoder</componentName>
+					<componentName>t_imageencoder</componentName>
+				</build>
+			</executeOnPC>
+			<transferToSymbian>
+				<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\partial.bmp" SymbianPath="$:\multimedia\t_imagedecoder\partial.bmp"/>
+  				<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\dec1bit.mbm" SymbianPath="$:\multimedia\t_imagedecoder\dec1bit.mbm"/>
+  				<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\dec2bit.mbm" SymbianPath="$:\multimedia\t_imagedecoder\dec2bit.mbm"/>
+  				<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\dec4bit.mbm" SymbianPath="$:\multimedia\t_imagedecoder\dec4bit.mbm"/>
+  				<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\dec8bit.mbm" SymbianPath="$:\multimedia\t_imagedecoder\dec8bit.mbm"/>
+  				<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\dec16bit.mbm" SymbianPath="$:\multimedia\t_imagedecoder\dec16bit.mbm"/>
+  				<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\dec24bit.mbm" SymbianPath="$:\multimedia\t_imagedecoder\dec24bit.mbm"/>
+				<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imageencoder\enc1bit.mbm" SymbianPath="$:\multimedia\t_imageencoder\enc1bit.mbm"/>
+				<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imageencoder\enc2bit.mbm" SymbianPath="$:\multimedia\t_imageencoder\enc2bit.mbm"/>
+				<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imageencoder\enc4bit.mbm" SymbianPath="$:\multimedia\t_imageencoder\enc4bit.mbm"/>
+				<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imageencoder\enc8bit.mbm" SymbianPath="$:\multimedia\t_imageencoder\enc8bit.mbm"/>
+				<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imageencoder\enc16bit.mbm" SymbianPath="$:\multimedia\t_imageencoder\enc16bit.mbm"/>
+				<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imageencoder\enc24bit.mbm" SymbianPath="$:\multimedia\t_imageencoder\enc24bit.mbm"/>					
+			</transferToSymbian>
+			<task name="MM-ICL-DECDE-PublicApi-suite" timeout="1000">
+				<transferToSymbian>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\MM-ICL-DECDE-PublicApi.ini" SymbianPath="$:\multimedia\MM-ICL-DECDE-PublicApi.ini"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\24bit.apm" SymbianPath="$:\multimedia\t_imagedecoder\24bit.apm"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\1bit.bmp" SymbianPath="$:\multimedia\t_imagedecoder\1bit.bmp"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\4bit.bmp" SymbianPath="$:\multimedia\t_imagedecoder\4bit.bmp"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\8bit.bmp" SymbianPath="$:\multimedia\t_imagedecoder\8bit.bmp"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\24bit.bmp" SymbianPath="$:\multimedia\t_imagedecoder\24bit.bmp"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\24bit.clp" SymbianPath="$:\multimedia\t_imagedecoder\24bit.clp"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\1bit.gif" SymbianPath="$:\multimedia\t_imagedecoder\1bit.gif"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\2bit.gif" SymbianPath="$:\multimedia\t_imagedecoder\2bit.gif"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\4bit.gif" SymbianPath="$:\multimedia\t_imagedecoder\4bit.gif"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\6bit.gif" SymbianPath="$:\multimedia\t_imagedecoder\6bit.gif"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\8bit.gif" SymbianPath="$:\multimedia\t_imagedecoder\8bit.gif"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\commented.gif" SymbianPath="$:\multimedia\t_imagedecoder\commented.gif"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\4bit.ico" SymbianPath="$:\multimedia\t_imagedecoder\4bit.ico"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\8bit.ico" SymbianPath="$:\multimedia\t_imagedecoder\8bit.ico"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\8bit.jpg" SymbianPath="$:\multimedia\t_imagedecoder\8bit.jpg"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\24bit.jpg" SymbianPath="$:\multimedia\t_imagedecoder\24bit.jpg"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\thumbnail.jpg" SymbianPath="$:\multimedia\t_imagedecoder\thumbnail.jpg"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\commented.jpg" SymbianPath="$:\multimedia\t_imagedecoder\commented.jpg"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\24bit.mng" SymbianPath="$:\multimedia\t_imagedecoder\24bit.mng"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\1bit.ota" SymbianPath="$:\multimedia\t_imagedecoder\1bit.ota"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\1bit.png" SymbianPath="$:\multimedia\t_imagedecoder\1bit.png"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\4bit.png" SymbianPath="$:\multimedia\t_imagedecoder\4bit.png"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\8bit.png" SymbianPath="$:\multimedia\t_imagedecoder\8bit.png"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\24bit.png" SymbianPath="$:\multimedia\t_imagedecoder\24bit.png"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\1bitG3.tif" SymbianPath="$:\multimedia\t_imagedecoder\1bitG3.tif"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\1bitG4.tif" SymbianPath="$:\multimedia\t_imagedecoder\1bitG4.tif"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\1bit.tif" SymbianPath="$:\multimedia\t_imagedecoder\1bit.tif"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\4bit.tif" SymbianPath="$:\multimedia\t_imagedecoder\4bit.tif"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\8bit.tif" SymbianPath="$:\multimedia\t_imagedecoder\8bit.tif"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\24bit.tif" SymbianPath="$:\multimedia\t_imagedecoder\24bit.tif"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\1bit.wbmp" SymbianPath="$:\multimedia\t_imagedecoder\1bit.wbmp"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\24bit.wmf" SymbianPath="$:\multimedia\t_imagedecoder\24bit.wmf"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_imagedecoder\corrupted.bmp" SymbianPath="$:\multimedia\t_imagedecoder\corrupted.bmp"/>
+				</transferToSymbian>       
+				<executeOnSymbian>
+					<testExecuteScript PCPath="${epocroot}\epoc32\data\z\multimedia\MM-ICL-DECDE-PublicApi.script" SymbianPath="$:\multimedia\MM-ICL-DECDE-PublicApi.script">
+						<testCasesList operator="exclude">
+							<testCase target="${epocroot}\epoc32\data\z\multimedia\t_multimedia.tcs"/>
+						</testCasesList>
+					</testExecuteScript>
+				</executeOnSymbian>
+                <retrieveFromSymbian>
+                    <transfer move="false" PCPath="${resultroot}\1bit_output.mbm" SymbianPath="$:\multimedia\t_imagedecoder\1bit_output.mbm"/>
+                    <transfer move="false" PCPath="${resultroot}\1bitG3_output.mbm" SymbianPath="$:\multimedia\t_imagedecoder\1bitG3_output.mbm"/>
+                    <transfer move="false" PCPath="${resultroot}\1bitG4_output.mbm" SymbianPath="$:\multimedia\t_imagedecoder\1bitG4_output.mbm"/> 
+                    <transfer move="false" PCPath="${resultroot}\2bit_output.mbm" SymbianPath="$:\multimedia\t_imagedecoder\2bit_output.mbm"/>                    
+                    <transfer move="false" PCPath="${resultroot}\4bit_output.mbm" SymbianPath="$:\multimedia\t_imagedecoder\4bit_output.mbm"/>
+                    <transfer move="false" PCPath="${resultroot}\6bit_output.mbm" SymbianPath="$:\multimedia\t_imagedecoder\6bit_output.mbm"/>
+                    <transfer move="false" PCPath="${resultroot}\8bit_output.mbm" SymbianPath="$:\multimedia\t_imagedecoder\8bit_output.mbm"/>
+                    <transfer move="false" PCPath="${resultroot}\16bit_output.mbm" SymbianPath="$:\multimedia\t_imagedecoder\16bit_output.mbm"/>  
+                    <transfer move="false" PCPath="${resultroot}\24bit_output.mbm" SymbianPath="$:\multimedia\t_imagedecoder\24bit_output.mbm"/>
+                    <transfer move="false" PCPath="${resultroot}\24bit_panic1.bmp" SymbianPath="$:\multimedia\t_imagedecoder\24bit_panic1.bmp"/>
+                    <transfer move="false" PCPath="${resultroot}\24bit_panic4.bmp" SymbianPath="$:\multimedia\t_imagedecoder\24bit_panic4.bmp"/>
+                    <transfer move="false" PCPath="${resultroot}\24bit_panic5.bmp" SymbianPath="$:\multimedia\t_imagedecoder\24bit_panic5.bmp"/>  
+                    <transfer move="false" PCPath="${resultroot}\commented_panic2.gif" SymbianPath="$:\multimedia\t_imagedecoder\commented_panic2.gif"/>
+                    <transfer move="false" PCPath="${resultroot}\commented_panic3.gif" SymbianPath="$:\multimedia\t_imagedecoder\commented_panic3.gif"/>
+                    <transfer move="false" PCPath="${resultroot}\commented_panic6.gif" SymbianPath="$:\multimedia\t_imagedecoder\commented_panic6.gif"/>
+                    <transfer move="false" PCPath="${resultroot}\partial_output.mbm" SymbianPath="$:\multimedia\t_imagedecoder\partial_output.mbm"/>   
+                    <transfer move="false" PCPath="${resultroot}\thumbnail_output.mbm" SymbianPath="$:\multimedia\t_imagedecoder\thumbnail_output.mbm"/>                        
+                </retrieveFromSymbian>
+			</task>
+			<task name="MM-ICL-ENCDE-PublicApi-suite" timeout="1000">
+				<transferToSymbian>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\MM-ICL-ENCDE-PublicApi.ini" SymbianPath="$:\multimedia\MM-ICL-ENCDE-PublicApi.ini"/>
+				</transferToSymbian>
+				<executeOnSymbian>
+					<testExecuteScript PCPath="${epocroot}\epoc32\data\z\multimedia\MM-ICL-ENCDE-PublicApi.script" SymbianPath="$:\multimedia\MM-ICL-ENCDE-PublicApi.script">
+						<testCasesList operator="exclude">
+							<testCase target="${epocroot}\epoc32\data\z\multimedia\t_multimedia.tcs"/>
+						</testCasesList>
+					</testExecuteScript>
+				</executeOnSymbian>
+                <retrieveFromSymbian>
+                    <transfer move="false" PCPath="${resultroot}\24bit_output.bmp" SymbianPath="$:\multimedia\t_imageencoder\24bit_output.bmp"/>
+                    <transfer move="false" PCPath="${resultroot}\16bit_output.bmp" SymbianPath="$:\multimedia\t_imageencoder\16bit_output.bmp"/>
+                    <transfer move="false" PCPath="${resultroot}\8bit_output.bmp" SymbianPath="$:\multimedia\t_imageencoder\8bit_output.bmp"/> 
+                    <transfer move="false" PCPath="${resultroot}\4bit_output.bmp" SymbianPath="$:\multimedia\t_imageencoder\4bit_output.bmp"/>                    
+                    <transfer move="false" PCPath="${resultroot}\24bit_output.gif" SymbianPath="$:\multimedia\t_imageencoder\24bit_output.gif"/>
+                    <transfer move="false" PCPath="${resultroot}\16bit_output.gif" SymbianPath="$:\multimedia\t_imageencoder\16bit_output.gif"/>
+                    <transfer move="false" PCPath="${resultroot}\8bit_output.gif" SymbianPath="$:\multimedia\t_imageencoder\8bit_output.gif"/>
+                    <transfer move="false" PCPath="${resultroot}\4bit_output.gif" SymbianPath="$:\multimedia\t_imageencoder\4bit_output.gif"/>  
+                    <transfer move="false" PCPath="${resultroot}\24bit_output.jpg" SymbianPath="$:\multimedia\t_imageencoder\24bit_output.jpg"/>
+                    <transfer move="false" PCPath="${resultroot}\16bit_output.jpg" SymbianPath="$:\multimedia\t_imageencoder\16bit_output.jpg"/>
+                    <transfer move="false" PCPath="${resultroot}\8bit_output.jpg" SymbianPath="$:\multimedia\t_imageencoder\8bit_output.jpg"/>
+                    <transfer move="false" PCPath="${resultroot}\4bit_output.jpg" SymbianPath="$:\multimedia\t_imageencoder\4bit_output.jpg"/>  
+                    <transfer move="false" PCPath="${resultroot}\24bit_output.mbm" SymbianPath="$:\multimedia\t_imageencoder\24bit_output.mbm"/>
+                    <transfer move="false" PCPath="${resultroot}\16bit_output.mbm" SymbianPath="$:\multimedia\t_imageencoder\16bit_output.mbm"/>
+                    <transfer move="false" PCPath="${resultroot}\8bit_output.mbm" SymbianPath="$:\multimedia\t_imageencoder\8bit_output.mbm"/>
+                    <transfer move="false" PCPath="${resultroot}\4bit_output.mbm" SymbianPath="$:\multimedia\t_imageencoder\4bit_output.mbm"/>   
+                    <transfer move="false" PCPath="${resultroot}\24bit_output.png" SymbianPath="$:\multimedia\t_imageencoder\24bit_output.png"/>
+                    <transfer move="false" PCPath="${resultroot}\16bit_output.png" SymbianPath="$:\multimedia\t_imageencoder\16bit_output.png"/>
+                    <transfer move="false" PCPath="${resultroot}\8bit_output.png" SymbianPath="$:\multimedia\t_imageencoder\8bit_output.png"/>
+                    <transfer move="false" PCPath="${resultroot}\4bit_output.png" SymbianPath="$:\multimedia\t_imageencoder\4bit_output.png"/>    
+                    <transfer move="false" PCPath="${resultroot}\empty_0040.bmp" SymbianPath="$:\multimedia\t_imageencoder\empty_0040.bmp"/>
+                    <transfer move="false" PCPath="${resultroot}\empty_0053.bmp" SymbianPath="$:\multimedia\t_imageencoder\empty_0053.bmp"/>
+                    <transfer move="false" PCPath="${resultroot}\empty_0054.bmp" SymbianPath="$:\multimedia\t_imageencoder\empty_0054.bmp"/>
+                    <transfer move="false" PCPath="${resultroot}\empty_0055.bmp" SymbianPath="$:\multimedia\t_imageencoder\empty_0055.bmp"/>        
+                    <transfer move="false" PCPath="${resultroot}\empty_0056.bmp" SymbianPath="$:\multimedia\t_imageencoder\empty_0056.bmp"/>    
+                    <transfer move="false" PCPath="${resultroot}\24bit_output.tif" SymbianPath="$:\multimedia\t_imageencoder\24bit_output.tif"/>        
+                    <transfer move="false" PCPath="${resultroot}\16bit_output.tif" SymbianPath="$:\multimedia\t_imageencoder\16bit_output.tif"/>                        
+                </retrieveFromSymbian>
+			</task>
+		</task>
+		<task name="mmf">
+			<executeOnPC>
+				<build testBuild="true" URI="${sourceroot}\group\">
+					<componentName>t_mdaaudioconvertutility</componentName>
+					<componentName>t_mdaaudioinputstream</componentName>
+					<componentName>t_mdaaudiooutputstream</componentName>
+					<componentName>t_mdaaudioplayerutility</componentName>
+					<componentName>t_mdaaudiorecorderutility</componentName>
+					<componentName>t_mdaaudiotoneutility</componentName>
+					<componentName>t_midiclientutility</componentName>
+					<componentName>t_videoplayerutility</componentName>
+					<componentName>t_videorecorderutility</componentName>
+				</build>
+			</executeOnPC>
+			<task name="MM-MMF-ACLNT-CNVRT-PublicAPI-suite" timeout="1000">
+				<transferToSymbian>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-ACLNT-CNVRT-PublicApi.ini" SymbianPath="$:\multimedia\MM-MMF-ACLNT-CNVRT-PublicApi.ini"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_mdaaudioconvertutility\note.wav" SymbianPath="$:\multimedia\t_mdaaudioconvertutility\note.wav"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_mdaaudioconvertutility\note.raw" SymbianPath="$:\multimedia\t_mdaaudioconvertutility\note.raw"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_mdaaudioconvertutility\corrupted.wav" SymbianPath="$:\multimedia\t_mdaaudioconvertutility\corrupted.wav"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\release\${platform}\${build}\z\multimedia\t_mdaaudioconvertutility\explode.wav" SymbianPath="$:\multimedia\t_mdaaudioconvertutility\explode.wav"/>
+				</transferToSymbian>
+				<executeOnSymbian>
+					<testExecuteScript PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-ACLNT-CNVRT-PublicApi.script" SymbianPath="$:\multimedia\MM-MMF-ACLNT-CNVRT-PublicApi.script">
+						<testCasesList operator="exclude">
+							<testCase target="${epocroot}\epoc32\data\z\multimedia\t_multimedia.tcs"/>
+						</testCasesList>
+					</testExecuteScript>
+				</executeOnSymbian>
+                <retrieveFromSymbian>
+<!--                    <transfer move="false" PCPath="${resultroot}\note2.wav" SymbianPath="$:\multimedia\t_mdaaudioconvertutility\note2.wav"/>        -->        
+                    <transfer move="false" PCPath="${resultroot}\note3.au" SymbianPath="$:\multimedia\t_mdaaudioconvertutility\note3.au"/>     
+                    <transfer move="false" PCPath="${resultroot}\note4.raw" SymbianPath="$:\multimedia\t_mdaaudioconvertutility\note4.raw"/>               
+                </retrieveFromSymbian>                
+			</task>
+			<task name="MM-MMF-ACLNT-INPT-PublicAPI-suite" timeout="1000">
+				<transferToSymbian>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini" SymbianPath="$:\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.ini"/>
+				</transferToSymbian>
+				<executeOnSymbian>
+					<testExecuteScript PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.script" SymbianPath="$:\multimedia\MM-MMF-ACLNT-INPT-PublicAPI.script">
+						<testCasesList operator="exclude">
+							<testCase target="${epocroot}\epoc32\data\z\multimedia\t_multimedia.tcs"/>
+						</testCasesList>
+					</testExecuteScript>
+				</executeOnSymbian>
+                <retrieveFromSymbian>
+                    <transfer move="false" PCPath="${resultroot}\MM-MMF-ACLNT-INPT-PublicAPI.raw" SymbianPath="$:\multimedia\t_mdaaudioinputstream\MM-MMF-ACLNT-INPT-PublicAPI.raw"/>     
+                </retrieveFromSymbian>  
+			</task>
+			<task name="MM-MMF-ACLNT-OUTPT-PublicAPI-suite" timeout="1000">
+				<transferToSymbian>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini" SymbianPath="$:\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.ini"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw" SymbianPath="$:\multimedia\t_mdaaudiooutputstream\MM-MMF-ACLNT-OUTPT-PublicAPI.raw"/>
+				</transferToSymbian>
+				<executeOnSymbian>
+					<testExecuteScript PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.script" SymbianPath="$:\multimedia\MM-MMF-ACLNT-OUTPT-PublicAPI.script">
+						<testCasesList operator="exclude">
+							<testCase target="${epocroot}\epoc32\data\z\multimedia\t_multimedia.tcs"/>
+						</testCasesList>
+					</testExecuteScript>
+				</executeOnSymbian>
+			</task>
+			<task name="MM-MMF-ACLNT-PLYR-PublicAPI-suite" timeout="1000">
+				<transferToSymbian>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini" SymbianPath="$:\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.ini"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_mdaaudioplayerutility\test.wav" SymbianPath="$:\multimedia\t_mdaaudioplayerutility\test.wav"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_mdaaudioplayerutility\test.bad" SymbianPath="$:\multimedia\t_mdaaudioplayerutility\test.bad"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_mdaaudioplayerutility\test_err.wav" SymbianPath="$:\multimedia\t_mdaaudioplayerutility\test_err.wav"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_mdaaudioplayerutility\empty.wav" SymbianPath="$:\multimedia\t_mdaaudioplayerutility\empty.wav"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_mdaaudioplayerutility\answeringmachine.wav" SymbianPath="$:\multimedia\t_mdaaudioplayerutility\answeringmachine.wav"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_mdaaudioplayerutility\explode.au" SymbianPath="$:\multimedia\t_mdaaudioplayerutility\explode.au"/>
+				</transferToSymbian>
+				<executeOnSymbian>
+					<testExecuteScript PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.script" SymbianPath="$:\multimedia\MM-MMF-ACLNT-PLYR-PublicAPI.script">
+						<testCasesList operator="exclude">
+							<testCase target="${epocroot}\epoc32\data\z\multimedia\t_multimedia.tcs"/>
+						</testCasesList>
+					</testExecuteScript>
+				</executeOnSymbian>
+			</task>
+			<task name="MM-MMF-ACLNT-RCRDR-PublicAPI-suite" timeout="1000">
+				<transferToSymbian>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini" SymbianPath="$:\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.ini"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav" SymbianPath="$:\multimedia\T_MdaAudioRecorderUtility\pcm16stereo8khz.wav"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\T_MdaAudioRecorderUtility\corrupted.wav" SymbianPath="$:\multimedia\T_MdaAudioRecorderUtility\corrupted.wav"/>
+				</transferToSymbian>
+				<executeOnSymbian>
+					<testExecuteScript PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.script" SymbianPath="$:\multimedia\MM-MMF-ACLNT-RCRDR-PublicAPI.script">
+						<testCasesList operator="exclude">
+							<testCase target="${epocroot}\epoc32\data\z\multimedia\t_multimedia.tcs"/>
+						</testCasesList>
+					</testExecuteScript>
+				</executeOnSymbian>
+                <retrieveFromSymbian>
+                    <transfer move="false" PCPath="${resultroot}\nonexist.wav" SymbianPath="$:\multimedia\T_MdaAudioRecorderUtility\nonexist.wav"/>     
+                    <transfer move="false" PCPath="${resultroot}\record2.wav" SymbianPath="$:\multimedia\T_MdaAudioRecorderUtility\record2.wav"/>    
+                    <transfer move="false" PCPath="${resultroot}\record3.wav" SymbianPath="$:\multimedia\T_MdaAudioRecorderUtility\record3.wav"/>   
+                    <transfer move="false" PCPath="${resultroot}\record.wav" SymbianPath="$:\multimedia\T_MdaAudioRecorderUtility\record.wav"/>    
+                    <transfer move="false" PCPath="${resultroot}\temp_pcm16stereo8khz.wav" SymbianPath="$:\multimedia\T_MdaAudioRecorderUtility\temp_pcm16stereo8khz.wav"/>                         
+                </retrieveFromSymbian>
+			</task>
+			<task name="MM-MMF-ACLNT-TONE-PublicAPI-suite" timeout="1000">
+				<transferToSymbian>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini" SymbianPath="$:\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.ini"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_audiotoneutility\sequence1.sqn" SymbianPath="$:\multimedia\t_audiotoneutility\sequence1.sqn"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_audiotoneutility\sequence2.sqn" SymbianPath="$:\multimedia\t_audiotoneutility\sequence2.sqn"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_audiotoneutility\badsequence.sqn" SymbianPath="$:\multimedia\t_audiotoneutility\badsequence.sqn"/>
+				</transferToSymbian>
+				<executeOnSymbian>
+					<testExecuteScript PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.script" SymbianPath="$:\multimedia\MM-MMF-ACLNT-TONE-PublicAPI.script">
+						<testCasesList operator="exclude">
+							<testCase target="${epocroot}\epoc32\data\z\multimedia\t_multimedia.tcs"/>
+						</testCasesList>
+					</testExecuteScript>
+				</executeOnSymbian>
+			</task>
+			<task name="MM-MMF-MIDI-PublicAPI-suite" timeout="1000">
+				<transferToSymbian>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-MIDI-PublicAPI.ini" SymbianPath="$:\multimedia\MM-MMF-MIDI-PublicAPI.ini"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_midiclientutility\midi.mid" SymbianPath="$:\multimedia\t_midiclientutility\midi.mid"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_midiclientutility\textmidi.mid" SymbianPath="$:\multimedia\t_midiclientutility\textmidi.mid"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_midiclientutility\midiclienttest.gm" SymbianPath="$:\multimedia\t_midiclientutility\midiclienttest.gm"/>
+				</transferToSymbian>
+				<executeOnSymbian>
+					<testExecuteScript PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-MIDI-PublicAPI.script" SymbianPath="$:\multimedia\MM-MMF-MIDI-PublicAPI.script">
+						<testCasesList operator="exclude">
+							<testCase target="${epocroot}\epoc32\data\z\multimedia\t_multimedia.tcs"/>
+						</testCasesList>
+					</testExecuteScript>
+				</executeOnSymbian>
+			</task>
+			<task name="MM-MMF-VCLNT-PLYR-PublicAPI-suite" timeout="1000">
+				<transferToSymbian>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini" SymbianPath="$:\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.ini"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_videoplayerutility\alter.mp4" SymbianPath="$:\multimedia\t_videoplayerutility\alter.mp4"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_videoplayerutility\xvid_clock.avi" SymbianPath="$:\multimedia\t_videoplayerutility\xvid_clock.avi"/>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\t_videoplayerutility\corrupted.avi" SymbianPath="$:\multimedia\t_videoplayerutility\corrupted.avi"/>
+				</transferToSymbian>
+				<executeOnSymbian>
+					<testExecuteScript PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.script" SymbianPath="$:\multimedia\MM-MMF-VCLNT-PLYR-PublicAPI.script">
+						<testCasesList operator="exclude">
+							<testCase target="${epocroot}\epoc32\data\z\multimedia\t_multimedia.tcs"/>
+						</testCasesList>
+					</testExecuteScript>
+				</executeOnSymbian>
+			</task>
+			<task name="MM-MMF-VCLNT-RCRDR-PublicAPI-suite" timeout="1000">
+				<transferToSymbian>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini" SymbianPath="$:\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.ini"/>
+				</transferToSymbian>
+				<executeOnSymbian>
+					<testExecuteScript PCPath="${epocroot}\epoc32\data\z\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.script" SymbianPath="$:\multimedia\MM-MMF-VCLNT-RCRDR-PublicAPI.script">
+						<testCasesList operator="exclude">
+							<testCase target="${epocroot}\epoc32\data\z\multimedia\t_multimedia.tcs"/>
+						</testCasesList>
+					</testExecuteScript>
+				</executeOnSymbian>
+                <retrieveFromSymbian>
+                    <transfer move="false" PCPath="${resultroot}\temp.dummy" SymbianPath="$:\multimedia\temp.dummy"/>     
+                </retrieveFromSymbian>  
+			</task>
+		</task>
+		<task name="ecam">
+			<executeOnPC>
+				<build testBuild="true" URI="${sourceroot}\group\">
+					<componentName>t_camera</componentName>
+				</build>
+			</executeOnPC>
+			<task name="MM-ECM-PublicApi-suite" timeout="1000">
+				<transferToSymbian>
+					<transfer move="false" PCPath="${epocroot}\epoc32\data\z\multimedia\MM-ECM-PublicApi.ini" SymbianPath="$:\multimedia\MM-ECM-PublicApi.ini"/>
+				</transferToSymbian>
+				<executeOnSymbian>
+					<testExecuteScript PCPath="${epocroot}\epoc32\data\z\multimedia\MM-ECM-PublicApi.script" SymbianPath="$:\multimedia\MM-ECM-PublicApi.script">
+						<testCasesList operator="exclude">
+							<testCase target="${epocroot}\epoc32\data\z\multimedia\t_multimedia.tcs"/>
+						</testCasesList>
+					</testExecuteScript>
+				</executeOnSymbian>
+                <retrieveFromSymbian>
+                    <transfer move="false" PCPath="${resultroot}\temp.mbm" SymbianPath="$:\multimedia\temp.mbm"/>       
+                </retrieveFromSymbian>
+			</task>
+		</task>
+	</task>
+</driver:driver>
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bit.bmp has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bit.gif has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bit.ota has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bit.png has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bit.tif has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bit.wbmp has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bitG3.tif has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/1bitG4.tif has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.apm has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.bmp has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.clp has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.jpg has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.mng has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.png has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.tif has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/24bit.wmf has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/2bit.gif has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/4bit.ICO has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/4bit.bmp has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/4bit.gif has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/4bit.png has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/4bit.tif has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/6bit.gif has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/8bit.ICO has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/8bit.bmp has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/8bit.gif has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/8bit.jpg has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/8bit.png has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/8bit.tif has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/commented.gif has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/commented.jpg has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/corrupted.bmp has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/partial.bmp has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageDecoder/thumbnail.JPG has changed
Binary file mmapitest/mmsvs/testdata/icl/T_ImageEncoder/corrupted.mbm has changed
Binary file mmapitest/mmsvs/testdata/mmf/T_MdaAudioConvertUtility/armv5/explode.wav has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/testdata/mmf/T_MdaAudioConvertUtility/corrupted.wav	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,32 @@
+œT‹%€×†zž¶§ásÏ>…XKtÎryžk¤J;sïyÐ#¨Œ?€F‚ã“´âߤ­.1W„s±ä}˜lLÿ F,Òy©àŒ˜‚òì’&³ôÎÏýù,ÙU¹j8}5~m²Yã1áÓq·È•ø‚¤©Š§¥FÍýûC+ÍG´iÔ|~²uýZ3ìåô¸Ï–`ƒ€ò‰^¤›Ë8êIFªh¬wügvC\]C¬Ñæzºü¡¦ˆ€A‰Ò˜Ü»mèI¶6d]wÿw¶gèDw›èÊ;£R‰€ÂƒÁ—Sº£æ5#\Uv½~t|ÅhpF·)YúÅˤ&‘dUƒµ–¬lÕ½d3àNdnx~Þ|üq To++üqÍر’¬î‚š±ªµÓê”"nMtm-~‘ÍrüU%-LÞL³“Ä…\€ËŒW©mÃñÑ øK(côy´™sXb`=ÓàMÂlR†<€ŒÓÁEï
å<þadyÐz€cø>¢ŸñèØžæ†f€›…í›<ÀÅÝx
H;Ï`r…§z£dÝM#oó†Å«Ù€…Ìši±ܧ©97T¼qZ*{ªnNOÛ$@õðÕy¬¯Ž½€Oàû¯EÚÍù2)ÕRãpS|Ð~’oºPŽ5ª×Ý­˜äƒûÛ¢Éû÷w'oQdgá{tpÄ]57ífÙS¼&™Z„×€tˆ¡øÇ)ö#åBNfh{úÞwÿ^Ø8œÃêá½>š(Š
+€Ð‡d €¸äVVAšZ{uî~x6`AHdìr¿
+¦âŠ€3‡z•þ¶·â‰a1NY¾tÜU}kÀI+[þuÏY§¡‹
+‚|‚z”µ©Ñº ±/þWNlÊ}°}l˜W//. &Ѭ¨.”a‚$‚“¾§÷Ïçþÿ-2JRkq}~…têXà0/⋶-•¾‚€‹n¦GÎíí´HQj­xéCu7ZÝ@Ìöã¸1– ‡€_Š#¥Y¾Më%2G]_x÷ûuùenB™¾åzÇ>¡Bˆ€~„y™Ê¼éy	³7#^jw½{gûCò&o÷É{¢¸þ€„d˜>»/ا
6ä\Öoã~2|#hjR­(AùÆʯ›<–ƒñŽã¬uÖÕa%»Oðn¢~K{qÍSg*~Ûû°„‘ï„œ€Ž‚«Æûó¡#LNnÏzyPr,UÌ:í>Ýl²–›r…r€GóždÄ*òà!r?ØcHz 7y¤ai<½ºîYÁºœü…4€~†ÅÈ—à^Ú=±bÔs½ÊyÏb>J ‰ðñÂãŒQ€î…œœ¼³ÓÞŽ@<cVsœVz,mþL
"Yò2ÓHª[v€ÂZ’G²Ý·üó+	U;rý|b~nqNÎ#1èÔ¥«.Ž6ƒxl‘Ö°EÌåú;*ªSi•|©~oÁ[4¡ÖÞ¹p—¡ƒ5‡‰œ£›Êù^Eh&|ÿÐv]76Àãçf»€˜„ €Ùˆ[¢õÈZç6ÔCõf›vþzwC^ÓEŠ®éò¼ý£¼‰€2ˆ—i¹åk4_[éuöµ|eiYGSqûÅÌD¥rŠŽƒ–å·Èã¥c2Z0uL~}kjÚHv,CýrΦ£’Ú´‚•á©®ÒÒµ0ŽLâlý}z}HsËV+.ÿ[ß,´˜“,‚H€RŒ‰¨ûÐþïÂKêk§}ÆtXÝ/é᧵“”ª†,€Ž‹7§ßÀ/îýšIIa
+yÞÒt/dë?·åâàÄOŸB‡€J…?›J¿aìaP:`oxlözOe~A„†ô€Æƒ à‡ª€É„"š¹½øÚ
+¯8à^:q=u{jf)Pæ%Xö"ÈN­2Ý€M„V!¯:Ù¿((þQ]põ~p“Q£')ø´Ø´®í€u¹­~×ãöl&–P{o™{-ùpøR18
+rÚ°Í™£„¸€™Žá ýÆõ®$öA¥e{^?xº_Ó9Ö×ëѾéš#…Š€q‡«Ÿ\ÅAóAd@†dšzäÜxí`r;u¤íeÀ
+œT‹%€×†zž¶§ásÏ>…XKtÎryžk¤J;sïyÐ#¨Œ?€F‚ã“´âߤ­.1W„s±ä}˜lLÿ F,Òy©àŒ˜‚òì’&³ôÎÏýù,ÙU¹j8}5~m²Yã1áÓq·È•ø‚¤©Š§¥FÍýûÜÍG´iÔ|~²uýZ3ìåô¸Ï–`ƒ€ò‰^¤›Ë8êIFªh¬wügvC\]C¬Ñæzºü¡¦ˆ€A‰Ò˜Ü»mèI¶6d]wÿw¶gèDw›èÊ;£R‰€ÂƒÁ—Sº£æ5#\Uv½~t|ÅhpF·)YúÅˤ&‘dUƒµ–¬lÕ½d3àNdnx~Þ|üq To++üqÍر’¬î‚š±ªµÓê”"nMtm-~‘ÍrüU%-LÞL³“Ä…\€ËŒW©mÃñÑ øK(côy´™sXb`=ÓàMÂlR†<€ŒÓÁEï
å<þadyÐz€cø>¢ŸñèØžæ†f€›…í›<ÀÅÝx
H;Ï`r…§z£dÝM#oó†Å«Ù€…Ë‘i±ܧ©97T¼qZ*{ªnNOÛ$@õðÕy¬¯Ž½€Oàû¯EÚÍù2)ÕRãpS|Ð~’oºPŽ5ª×Ý­˜äƒûÛ¢Éû÷w'oQdgá{tpÄ]57ífÙS¼&™Z„×€tˆ¡øÇ)ö#åBNfh{úÞwÿ^Ø8œÃêá½>š(Š
+€Ð‡d €¸äVVAšZ{uî~x6`AHdìr¿
+¦âŠ€3‡z•þ¶·â‰a1NY¾tÜU}kÀI+[þuÏY§¡‹
+‚|‚z”µ©Ñº ±/þWNlÊ}°}l˜W//. &Ѭ¨.”a‚$‚“¾§÷Ïçþÿ-2JRkq}~…têXà0/⋶-•¾‚€‹n¦GÎíí´HQj­xéCu7ZÝ@Ìöã¸  ‡€_Š#¥Y¾Më%2G]_x÷ûuùenB™¾åzÇ>¡Bˆ€~„y™Ê¼éy	³7#^jw½{gûCò&o÷É{¢¸þ€„d˜>»/ا
6ä\Öoã~2|#hjR­(AùÆʯ›<–ƒñŽã¬uÖÕa%»Oðn¢~K{qÍSg*~Ûû°„‘ï„œ€Ž‚«Æûó¡#LNnÏzyPr,UÌ:í>Ýl²–›r…r€GóždÄ*òà!r?ØcHz 7y¤ai<½ºîYÁºœü…4€~†ÅÈ—à^Ú=±bÔs½ÊyÏb>J ‰ðñÂãŒQ€î…œœ¼³ÓÞŽ@<cVsœVz,mþL
"Yò2ÓHª[v€ÂZ’G²Ý·üó+	U;rý|b~nqNä21èÔ¥«.Ž6ƒxl‘Ö°EÌåú;*ªSi•|©~oÁ[4¡ÖÞ¹p—¡ƒ5‡‰œ£›Êù^Eh&|ÿÐv]76Àãçf»€˜
‰ €Ùˆ[¢õÈZç6ÔCõf›vþzwC^ÓEŠ®éò¼ý£¼‰€2ˆ—i¹åk4_[éuöµ|eiYGSqûÅÌD¥rŠŽƒ–å·Èã¥c2Z0uL~}kjÚHv,CýrΦ£’Ú´‚•á©®ÒÒµ0ŽLâlý}z}HsËV+.ÿ[ß,´˜“,‚H€RŒ‰¨ûÐþïÂKêk§}ÆtXÝ/é᧵“”ª†,€Ž‹7§ßÀ/îýšIIa
+yÞÒt/dë?·åâàÄOŸB‡€J…?›J¿aìaP:`oxlözOe~A„†ô€Æƒ à‡ª€É„"š¹½øÚ
+¯8à^:q=u{jf)Pæ%Xö"ÈN­2Ý€M„V!¯:Ù¿((þQ]põ~p“Q£'3´Ø´®í€u¹­~×ãöl&–P{o™{-ùpøR18
+rÚ°Í™£„¸€™Žá ýÆõ®$öA¥e{^?xº_Ó9Ö×ëѾéš#…Š€q‡«Ÿ\ÅAóAd@†dšzäÜxí`r;u¤íeÀ
+œT‹%€×†zž¶§ásÏ>…XKtÎryžk¤J;sïyÐ#¨Œ?€F‚ã“´âߤ­.1W„s±ä}˜lLÿ F,Òy©àŒ˜‚òì’&³ôÎÏýù,ÙU¹j8}5~m²Yã1áÓq·È•ø‚¤©Š§¥FÍýûÜÍG´iÔ|~²uýZ3ìåô¸Ï–`ƒ€ò‰^¤›Ë8êIFªh¬wügvC\]C¬Ñæzºü¡¦ˆ€A‰Ò˜Ü»mèI¶6d]wÿ|¶gèDw›èÊ;£R‰€ÂƒÁ—Sº£æ5#\Uv½~t|ÅhpF·)YúÅˤ&‘dUƒµ–¬lÕ½d3àNdnx~Þ|üq To++üqÍر’¬î‚š±ªµÓê”"nMtm-~‘ÍrüU%-LÞL³“Ä…\€ËŒW©mÃñÑ øK(côy´™sXb`=ÓàMÂlR†<€ŒÓÁEï
å<þadyÐz€cø>¢ŸñèØžæ†f€›…í›<ÀÅÝx
H;Ï`r…§z£dÝM#oó†Å«Ù€…Ë‘i±ܧ©97T¼qZ*{ªnNOÛ$@õðÕy¬¯Ž½€Oàû¯EÚÍù2)ÕRãpS|Ð~’oºPŽ5ª×Ý­˜äƒûÛ¢Éû÷w'rDdgá{tpÄ]57ífÙS¼&™Z„×€tˆ¡øÇ)ö#åBNfh{úÞwÿ^Ø8œÃêá½>š(Š
+€Ð‡d €¸äVVAšZ{uî~x6`AHdìr¿
+¦âŠ€3‡z•þ¶·â‰a1NY¾tÜU}kÀI+[þuÏY§¡‹
+‚|‚z”µ©Ñº ±/þWNlÊ}°}l˜W//. &Ѭ¨.”a‚$‚“¾§÷Ïçþÿ-2JRkq}~…têXà0/⋶-•¾‚€‹n¦GÎíí´HQj­xéCu7ZÝ@Ìöã¸  ‡€_Š#¥Y¾Më%2G]_x÷ûuùenB™¾åzÇ>¡Bˆ€~„y™Ê¼éy	³7#^jw½{gûCò&o÷É{¢¸þ€„d˜H®/ا
6ä\Öoã~2|#hjR­(AùÆʯ›<–ƒñŽã¬uÖÕa%»Oðn¢~K{qÍSg*~Ûû°„‘ï„œ€Ž‚«Æûó¡#LNùdÏzyPr,UÌ:í>Ýl²–›r…r€GóždÄ*òà!r?ØcHz 7y¤ai<½ºîYÁºœü…4€~†ÅÈ—à^Ú=±bÔs½ÊyÏb>J ‰ðñÂãŒQ€î…œœ¼³ÓÞŽ@<cVsœVz,mþL
"Yò2ÓHª[v€ÂZ’G²Ý·üó+	U;rý|b~nqNä21èÔ¥«.Ž6ƒxl‘Ö°EÌåú;*ªSi•|©~oÁ[4¡ÖÞ¹p—¡ƒ5‡‰œ£›Êù^Eh&|ÿÐv]76Àãçf»€˜
‰ €Ùˆ[¢õÈZç6ÔCõf›vþzwC^ÓEŠ®éò¼ý£¼‰€2ˆ—i¹åk4_[éuöµ|eiYGSqûÅÌD¥rŠŽƒ–å·dÔ¥c2Z0uL~}kjÚHv,CýrΦ£’Ú´‚•á©®ÒÒµ0ŽLâlý}z}HsËV+.ÿ[ß,´˜“,‚H€RŒ‰¨ûÐþïÂKêk§}ÆtXÝ/é᧵“”ª†,€Ž‹7§ßÀ/îýšIIa
+yÞÒt/dë?·åâàÄOŸB‡€J…?›J¿aìaP:`oxlözOe~A„†ô€Æƒ à‡ª€É„"š¹½øÚ
+¯8à^:q=u{jf)Pæ%Xö"ÈN­2Ý€M„V!¯:Ù¿((þQ]põ~p“Q£'3´Ø´®í€u¹­~×ãöl&–P{o™{-ùpøR18
+rÚ°Í™£„¸€™Žá ýÆõ®$öA¥e{^?xº_Ó9Ö×ëѾéš#…€q‡«Ÿ\ÅAóAd@†dšzäÜxí`r;u¤íeÀ
+œT‹%€×†zž¶§ásÏ>…XKtÎryžk¤J;sïyÐ#¨Œ?€F‚ã“´âߤ­.1W„s±ä}˜lLÿ F,Òy©àŒ˜‚òì’&³ôÎÏýù,ÙU¹j8}5~m²Yã1áÓq·È•ø‚¤©Š§¥FÍýûÜÍG´iÔ|~²uýZ3ìåô¸Ï–`ƒ€ò‰^¤›Ë8êIFªh¬wügvC\]C¬Ñæzºü¡¦ˆ€A‰Ò˜Ü»mèI¶6d]wÿ|¶gèDw›èÊ;£R‰€ÂƒÁ—Sº£æ5#\Uv½~t|ÅhpF·)YúÅˤ&‘dUƒµ–¬lÕ½d3àNdnx~Þ|üq To++ü‹Üر’¬î‚š±ªµÓê”"nMtm-~‘ÍrüU%-LÞL³“Ä…\€ËŒW©mÃñÑ øK(côy´™sXb`=ÓàMÂlR†<€ŒÓÁEï
å<þadyÐz€cø>¢ŸñèØžæ†f€›…í›<ÀÅÝx
H;Ï`r…§z£dÝM#oó†Å«Ù€…Ë‘i±ܧ©97T¼qZ*{ªnNOÛ$@õðÕy¬¯Ž½€Oàû¯EÚÍù2)ÕRãpS|Ð~’oºPŽ5ª×Ý­˜äƒûÛ¢Éû÷w'rDdgá{tpÄ]57ífÙS¼&™Z„×€tˆ¡øÇ)ö#åBNfh{úÞwÿ^Ø8œÃêá½>š(Š
+€Ð‡d €¸äVVAšZ{uî~xjAHdìr¿
+¦âŠ€3‡z•þ¶·â‰a1NY¾tÜU}kÀI+[þuÏY§¡‹
+‚|‚z”µ©Ñº ±/þWNlÊ}°}l˜W//. &ѵ.”a‚$‚“¾§÷Ïçþÿ-2JRkq}~…têXà0/⋶-•¾‚€‹n¦GÎíí´HQj­xéCu7ZÝ@Ìöã¸  ‡€_Š#¥Y¾Më%2G]_x÷ûuùenB™¾åzÇ>¡Bˆ€~„y™Ê¼éy	³7#^jw½{gûCò&o÷É{¢¸þ€„d˜H®/ا
6ä\Öoã~2|#hjR­(AùÆʯ›<–ƒñŽã¬uÖÕa%»Oðn¢~K{qÍSg*~Ûû°„‘ï„œ€Ž‚«Æûó¡#LNùdÏzyPr,UÌ:í>Ýl²–›r…r€GóždÄ*òà!r?ØcHz 7y¤ai<½ºîYÁºœü…4€~†ÅÈ—à^Ú=±bÔs½ÊyÏb‡KJ ‰ðñÂãŒQ€î…œœ¼³ÓÞŽ@<cVsœVz,mþL
"Yò2ÓHª[v€ÂZ’G²Ý·üó+	U;rý|b~nqNä21èÔ¥«.Ž6ƒxl‘Ö°EÌåú;*ªSi•|©~oÁ[4¡ÖÞ¹p—¡ƒ5‡‰œ£›Êù^Eh&|ÿÐv]76Àãçf»€˜
‰ €Ùˆ[¢õÈZç6ÔCõf›vþzwC^ÓEŠ®éò¼ý£¼‰€2ˆ—i¹åk4_[éuöµ|eiYGSqûÅÌD¥rŠŽƒ–å·dÔ¥c2Z0uL~}kjÚHv,CýrΦ£’Ú´‚•á©®ÒÒµ0ŽLâlý}z}HsËV+.ÿ[ß,´˜“,‚H€RŒ‰¨ûÐþïÂKêkžyÆtXÝ/é᧵“”ª†,€Ž‹7§ßÀ/îýšIIa
+yÞÒt/dë?·åâàÄOŸB‡€J…?›J¿aìaP:`oxlözOe~A„†ô€Æƒ à‡ª€É„"š¹½øÚ
+¯8à^:q=u{jf)Pæ%Xö"ÈN­2Ý€M„V!¯:Ù¿((þQ]põ~p“Q£'3´Ø´®í€u¹­~×ãöl&–P{o™{-ùpøR18
+rÚ°Í™£„¸€™Žá ýÆõ®$öA¥e{^?xº_Ó9Ö×ëѾéš#…€q‡«Ÿ\ÅAóAd@†dšzäÜxí`r;u¤íeÀ
+œT‹%€×†zž¶§ásÏ>…XKtÎryžk¤J;sïyÐ#¨Œ?€F‚ã“´âߢÿ­.1W„s±ä}˜lLÿ F,Òy©àŒ˜‚òì’&³ôÎÏýù,ÙU¹j8}5~m²Yã1áÓq·È•ø‚¤©Š§¥FÍýûÜÍG´iÔ|~²uýZ3ìåô¸Ï–`ƒ€ò‰^¤›Ë8êIFªh¬wügvC\]C¬Ñæzºü¡¦ˆ€A‰Ò˜Ü»mèI¶6d]wÿ|¶gèDw›èÊ;£R‰€ÂƒÁ—Sº£æ5#\Uv½~t|ÅhpF·)YúÅˤ&‘dUƒµ–¬lÕ½d3àNdnx~Þ|üq To++ü‹Üر’¬î‚š±ªµÓê”"nMtm-~‘ÍrüU%-LÞL³“Ä…\€ËŒW©mÃñÑ øK(côy´™sXb`=ÓàMÂlR†<€'†ÓÁEï
å<þadyÐz€cø>¢ŸñèØžæ†f€›…í›<ÀÅÝx
H;Ï`r…§z£dÝM#oó†Å«Ù€…Ë‘i±ܧë*7T¼qZ*{ªnNOÛ$@õðÕy¬¯Ž½€Oàû¯EÚÍù2)ÕRãpS|Ð~’oºPŽ5ª×Ý­˜äƒûÛ¢Éû÷w'rDdgá{tpÄ]57ífÙS¼&™Z„×€tˆ¡øÇ)ö#åBNfh{úÞwÿ^Ø8œÃêá½>š(Š
+€Ð‡d €¸äVVAšZ{uî~xjAHdìr¿
+¦âŠ€3‡z•þ¶·â‰a1NY¾tÜU}kÀI+[þuÏY§¡‹
+‚|‚z”µ©Ñº ±/þWNlÊ}°}l˜W//. &ѵ.”a‚$‚“¾§÷Ïçþÿ-2JRkq}~…têXà0/⋶-•¾‚€‹n¦GÎíí´HQj­xéCu7ZÝ@Ìöã¸  ‡€_Š“šY¾Më%2G]_x÷ûuùenB™¾åzÇ>¡Bˆ€~„y™Ê¼éy	³7#^jw½{gûCò&o÷É{¢¸þ€„d˜H®/ا
6ä\Öoã~2|#hjR­(AùÆʯ›<–ƒñŽã¬uÖÕa%»Oðn¢~K{qÍSg*~Ûû°„‘ï„œ€Ž‚«Æûó¡#LNùdÏzyPr,UÌ:í>Ýl²–›r…r€GóždÄ*òà!r?ØcHz 7y¤ai<½ºîYÁºœü…4€~†ÅÈ—à^Ú=±bÔs½ÊyÏb‡KJ ‰ðñÂãŒQ€î…œœ¼³ÓÞŽ@<cVsœVz,mþL
"Yò2ÓHª[v€ÂZ’G²Ý·üó+	U;rý|b~nqNä21èÔ¥«e–6ƒxl‘Ö°EÌåú;*ªSi•|©~oÁ[4¡ÖÞ¹p—¡ƒ5‡‰œ£›Êù^Eh&|ÿÐv]76Àãçf»€˜
‰ €Ùˆ[¢õÈZç6ÔCõf›vþzwC^ÓEŠ®éò¼ý£¼‰€2ˆ—i¹åk4_[éuöµ|eiYGSqûÅÌD¥rŠŽƒ–å·dÔ¥c2Z0uL~}kjÚHv,CýrΦ£’Ú´‚•á©®ÒÒµ0ŽLâlý}z}HsËV+.ÿ[ß,´˜“,‚H€RŒ‰¨ûÐ
\ No newline at end of file
Binary file mmapitest/mmsvs/testdata/mmf/T_MdaAudioConvertUtility/note.raw has changed
Binary file mmapitest/mmsvs/testdata/mmf/T_MdaAudioConvertUtility/note.wav has changed
Binary file mmapitest/mmsvs/testdata/mmf/T_MdaAudioConvertUtility/winscw/explode.wav has changed
Binary file mmapitest/mmsvs/testdata/mmf/T_MdaAudioOutputStream/MM-MMF-ACLNT-OUTPT-PublicAPI.raw has changed
Binary file mmapitest/mmsvs/testdata/mmf/T_MdaAudioPlayerUtility/answeringmachine.wav has changed
Binary file mmapitest/mmsvs/testdata/mmf/T_MdaAudioPlayerUtility/explode.au has changed
Binary file mmapitest/mmsvs/testdata/mmf/T_MdaAudioPlayerUtility/test.bad has changed
Binary file mmapitest/mmsvs/testdata/mmf/T_MdaAudioPlayerUtility/test.wav has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/testdata/mmf/T_MdaAudioPlayerUtility/test_err.wav	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1 @@
+error data 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/testdata/mmf/T_MdaAudioRecorderUtility/corrupted.wav	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,32 @@
+œT‹%€×†zž¶§ásÏ>…XKtÎryžk¤J;sïyÐ#¨Œ?€F‚ã“´âߤ­.1W„s±ä}˜lLÿ F,Òy©àŒ˜‚òì’&³ôÎÏýù,ÙU¹j8}5~m²Yã1áÓq·È•ø‚¤©Š§¥FÍýûC+ÍG´iÔ|~²uýZ3ìåô¸Ï–`ƒ€ò‰^¤›Ë8êIFªh¬wügvC\]C¬Ñæzºü¡¦ˆ€A‰Ò˜Ü»mèI¶6d]wÿw¶gèDw›èÊ;£R‰€ÂƒÁ—Sº£æ5#\Uv½~t|ÅhpF·)YúÅˤ&‘dUƒµ–¬lÕ½d3àNdnx~Þ|üq To++üqÍر’¬î‚š±ªµÓê”"nMtm-~‘ÍrüU%-LÞL³“Ä…\€ËŒW©mÃñÑ øK(côy´™sXb`=ÓàMÂlR†<€ŒÓÁEï
å<þadyÐz€cø>¢ŸñèØžæ†f€›…í›<ÀÅÝx
H;Ï`r…§z£dÝM#oó†Å«Ù€…Ìši±ܧ©97T¼qZ*{ªnNOÛ$@õðÕy¬¯Ž½€Oàû¯EÚÍù2)ÕRãpS|Ð~’oºPŽ5ª×Ý­˜äƒûÛ¢Éû÷w'oQdgá{tpÄ]57ífÙS¼&™Z„×€tˆ¡øÇ)ö#åBNfh{úÞwÿ^Ø8œÃêá½>š(Š
+€Ð‡d €¸äVVAšZ{uî~x6`AHdìr¿
+¦âŠ€3‡z•þ¶·â‰a1NY¾tÜU}kÀI+[þuÏY§¡‹
+‚|‚z”µ©Ñº ±/þWNlÊ}°}l˜W//. &Ѭ¨.”a‚$‚“¾§÷Ïçþÿ-2JRkq}~…têXà0/⋶-•¾‚€‹n¦GÎíí´HQj­xéCu7ZÝ@Ìöã¸1– ‡€_Š#¥Y¾Më%2G]_x÷ûuùenB™¾åzÇ>¡Bˆ€~„y™Ê¼éy	³7#^jw½{gûCò&o÷É{¢¸þ€„d˜>»/ا
6ä\Öoã~2|#hjR­(AùÆʯ›<–ƒñŽã¬uÖÕa%»Oðn¢~K{qÍSg*~Ûû°„‘ï„œ€Ž‚«Æûó¡#LNnÏzyPr,UÌ:í>Ýl²–›r…r€GóždÄ*òà!r?ØcHz 7y¤ai<½ºîYÁºœü…4€~†ÅÈ—à^Ú=±bÔs½ÊyÏb>J ‰ðñÂãŒQ€î…œœ¼³ÓÞŽ@<cVsœVz,mþL
"Yò2ÓHª[v€ÂZ’G²Ý·üó+	U;rý|b~nqNÎ#1èÔ¥«.Ž6ƒxl‘Ö°EÌåú;*ªSi•|©~oÁ[4¡ÖÞ¹p—¡ƒ5‡‰œ£›Êù^Eh&|ÿÐv]76Àãçf»€˜„ €Ùˆ[¢õÈZç6ÔCõf›vþzwC^ÓEŠ®éò¼ý£¼‰€2ˆ—i¹åk4_[éuöµ|eiYGSqûÅÌD¥rŠŽƒ–å·Èã¥c2Z0uL~}kjÚHv,CýrΦ£’Ú´‚•á©®ÒÒµ0ŽLâlý}z}HsËV+.ÿ[ß,´˜“,‚H€RŒ‰¨ûÐþïÂKêk§}ÆtXÝ/é᧵“”ª†,€Ž‹7§ßÀ/îýšIIa
+yÞÒt/dë?·åâàÄOŸB‡€J…?›J¿aìaP:`oxlözOe~A„†ô€Æƒ à‡ª€É„"š¹½øÚ
+¯8à^:q=u{jf)Pæ%Xö"ÈN­2Ý€M„V!¯:Ù¿((þQ]põ~p“Q£')ø´Ø´®í€u¹­~×ãöl&–P{o™{-ùpøR18
+rÚ°Í™£„¸€™Žá ýÆõ®$öA¥e{^?xº_Ó9Ö×ëѾéš#…Š€q‡«Ÿ\ÅAóAd@†dšzäÜxí`r;u¤íeÀ
+œT‹%€×†zž¶§ásÏ>…XKtÎryžk¤J;sïyÐ#¨Œ?€F‚ã“´âߤ­.1W„s±ä}˜lLÿ F,Òy©àŒ˜‚òì’&³ôÎÏýù,ÙU¹j8}5~m²Yã1áÓq·È•ø‚¤©Š§¥FÍýûÜÍG´iÔ|~²uýZ3ìåô¸Ï–`ƒ€ò‰^¤›Ë8êIFªh¬wügvC\]C¬Ñæzºü¡¦ˆ€A‰Ò˜Ü»mèI¶6d]wÿw¶gèDw›èÊ;£R‰€ÂƒÁ—Sº£æ5#\Uv½~t|ÅhpF·)YúÅˤ&‘dUƒµ–¬lÕ½d3àNdnx~Þ|üq To++üqÍر’¬î‚š±ªµÓê”"nMtm-~‘ÍrüU%-LÞL³“Ä…\€ËŒW©mÃñÑ øK(côy´™sXb`=ÓàMÂlR†<€ŒÓÁEï
å<þadyÐz€cø>¢ŸñèØžæ†f€›…í›<ÀÅÝx
H;Ï`r…§z£dÝM#oó†Å«Ù€…Ë‘i±ܧ©97T¼qZ*{ªnNOÛ$@õðÕy¬¯Ž½€Oàû¯EÚÍù2)ÕRãpS|Ð~’oºPŽ5ª×Ý­˜äƒûÛ¢Éû÷w'oQdgá{tpÄ]57ífÙS¼&™Z„×€tˆ¡øÇ)ö#åBNfh{úÞwÿ^Ø8œÃêá½>š(Š
+€Ð‡d €¸äVVAšZ{uî~x6`AHdìr¿
+¦âŠ€3‡z•þ¶·â‰a1NY¾tÜU}kÀI+[þuÏY§¡‹
+‚|‚z”µ©Ñº ±/þWNlÊ}°}l˜W//. &Ѭ¨.”a‚$‚“¾§÷Ïçþÿ-2JRkq}~…têXà0/⋶-•¾‚€‹n¦GÎíí´HQj­xéCu7ZÝ@Ìöã¸  ‡€_Š#¥Y¾Më%2G]_x÷ûuùenB™¾åzÇ>¡Bˆ€~„y™Ê¼éy	³7#^jw½{gûCò&o÷É{¢¸þ€„d˜>»/ا
6ä\Öoã~2|#hjR­(AùÆʯ›<–ƒñŽã¬uÖÕa%»Oðn¢~K{qÍSg*~Ûû°„‘ï„œ€Ž‚«Æûó¡#LNnÏzyPr,UÌ:í>Ýl²–›r…r€GóždÄ*òà!r?ØcHz 7y¤ai<½ºîYÁºœü…4€~†ÅÈ—à^Ú=±bÔs½ÊyÏb>J ‰ðñÂãŒQ€î…œœ¼³ÓÞŽ@<cVsœVz,mþL
"Yò2ÓHª[v€ÂZ’G²Ý·üó+	U;rý|b~nqNä21èÔ¥«.Ž6ƒxl‘Ö°EÌåú;*ªSi•|©~oÁ[4¡ÖÞ¹p—¡ƒ5‡‰œ£›Êù^Eh&|ÿÐv]76Àãçf»€˜
‰ €Ùˆ[¢õÈZç6ÔCõf›vþzwC^ÓEŠ®éò¼ý£¼‰€2ˆ—i¹åk4_[éuöµ|eiYGSqûÅÌD¥rŠŽƒ–å·Èã¥c2Z0uL~}kjÚHv,CýrΦ£’Ú´‚•á©®ÒÒµ0ŽLâlý}z}HsËV+.ÿ[ß,´˜“,‚H€RŒ‰¨ûÐþïÂKêk§}ÆtXÝ/é᧵“”ª†,€Ž‹7§ßÀ/îýšIIa
+yÞÒt/dë?·åâàÄOŸB‡€J…?›J¿aìaP:`oxlözOe~A„†ô€Æƒ à‡ª€É„"š¹½øÚ
+¯8à^:q=u{jf)Pæ%Xö"ÈN­2Ý€M„V!¯:Ù¿((þQ]põ~p“Q£'3´Ø´®í€u¹­~×ãöl&–P{o™{-ùpøR18
+rÚ°Í™£„¸€™Žá ýÆõ®$öA¥e{^?xº_Ó9Ö×ëѾéš#…Š€q‡«Ÿ\ÅAóAd@†dšzäÜxí`r;u¤íeÀ
+œT‹%€×†zž¶§ásÏ>…XKtÎryžk¤J;sïyÐ#¨Œ?€F‚ã“´âߤ­.1W„s±ä}˜lLÿ F,Òy©àŒ˜‚òì’&³ôÎÏýù,ÙU¹j8}5~m²Yã1áÓq·È•ø‚¤©Š§¥FÍýûÜÍG´iÔ|~²uýZ3ìåô¸Ï–`ƒ€ò‰^¤›Ë8êIFªh¬wügvC\]C¬Ñæzºü¡¦ˆ€A‰Ò˜Ü»mèI¶6d]wÿ|¶gèDw›èÊ;£R‰€ÂƒÁ—Sº£æ5#\Uv½~t|ÅhpF·)YúÅˤ&‘dUƒµ–¬lÕ½d3àNdnx~Þ|üq To++üqÍر’¬î‚š±ªµÓê”"nMtm-~‘ÍrüU%-LÞL³“Ä…\€ËŒW©mÃñÑ øK(côy´™sXb`=ÓàMÂlR†<€ŒÓÁEï
å<þadyÐz€cø>¢ŸñèØžæ†f€›…í›<ÀÅÝx
H;Ï`r…§z£dÝM#oó†Å«Ù€…Ë‘i±ܧ©97T¼qZ*{ªnNOÛ$@õðÕy¬¯Ž½€Oàû¯EÚÍù2)ÕRãpS|Ð~’oºPŽ5ª×Ý­˜äƒûÛ¢Éû÷w'rDdgá{tpÄ]57ífÙS¼&™Z„×€tˆ¡øÇ)ö#åBNfh{úÞwÿ^Ø8œÃêá½>š(Š
+€Ð‡d €¸äVVAšZ{uî~x6`AHdìr¿
+¦âŠ€3‡z•þ¶·â‰a1NY¾tÜU}kÀI+[þuÏY§¡‹
+‚|‚z”µ©Ñº ±/þWNlÊ}°}l˜W//. &Ѭ¨.”a‚$‚“¾§÷Ïçþÿ-2JRkq}~…têXà0/⋶-•¾‚€‹n¦GÎíí´HQj­xéCu7ZÝ@Ìöã¸  ‡€_Š#¥Y¾Më%2G]_x÷ûuùenB™¾åzÇ>¡Bˆ€~„y™Ê¼éy	³7#^jw½{gûCò&o÷É{¢¸þ€„d˜H®/ا
6ä\Öoã~2|#hjR­(AùÆʯ›<–ƒñŽã¬uÖÕa%»Oðn¢~K{qÍSg*~Ûû°„‘ï„œ€Ž‚«Æûó¡#LNùdÏzyPr,UÌ:í>Ýl²–›r…r€GóždÄ*òà!r?ØcHz 7y¤ai<½ºîYÁºœü…4€~†ÅÈ—à^Ú=±bÔs½ÊyÏb>J ‰ðñÂãŒQ€î…œœ¼³ÓÞŽ@<cVsœVz,mþL
"Yò2ÓHª[v€ÂZ’G²Ý·üó+	U;rý|b~nqNä21èÔ¥«.Ž6ƒxl‘Ö°EÌåú;*ªSi•|©~oÁ[4¡ÖÞ¹p—¡ƒ5‡‰œ£›Êù^Eh&|ÿÐv]76Àãçf»€˜
‰ €Ùˆ[¢õÈZç6ÔCõf›vþzwC^ÓEŠ®éò¼ý£¼‰€2ˆ—i¹åk4_[éuöµ|eiYGSqûÅÌD¥rŠŽƒ–å·dÔ¥c2Z0uL~}kjÚHv,CýrΦ£’Ú´‚•á©®ÒÒµ0ŽLâlý}z}HsËV+.ÿ[ß,´˜“,‚H€RŒ‰¨ûÐþïÂKêk§}ÆtXÝ/é᧵“”ª†,€Ž‹7§ßÀ/îýšIIa
+yÞÒt/dë?·åâàÄOŸB‡€J…?›J¿aìaP:`oxlözOe~A„†ô€Æƒ à‡ª€É„"š¹½øÚ
+¯8à^:q=u{jf)Pæ%Xö"ÈN­2Ý€M„V!¯:Ù¿((þQ]põ~p“Q£'3´Ø´®í€u¹­~×ãöl&–P{o™{-ùpøR18
+rÚ°Í™£„¸€™Žá ýÆõ®$öA¥e{^?xº_Ó9Ö×ëѾéš#…€q‡«Ÿ\ÅAóAd@†dšzäÜxí`r;u¤íeÀ
+œT‹%€×†zž¶§ásÏ>…XKtÎryžk¤J;sïyÐ#¨Œ?€F‚ã“´âߤ­.1W„s±ä}˜lLÿ F,Òy©àŒ˜‚òì’&³ôÎÏýù,ÙU¹j8}5~m²Yã1áÓq·È•ø‚¤©Š§¥FÍýûÜÍG´iÔ|~²uýZ3ìåô¸Ï–`ƒ€ò‰^¤›Ë8êIFªh¬wügvC\]C¬Ñæzºü¡¦ˆ€A‰Ò˜Ü»mèI¶6d]wÿ|¶gèDw›èÊ;£R‰€ÂƒÁ—Sº£æ5#\Uv½~t|ÅhpF·)YúÅˤ&‘dUƒµ–¬lÕ½d3àNdnx~Þ|üq To++ü‹Üر’¬î‚š±ªµÓê”"nMtm-~‘ÍrüU%-LÞL³“Ä…\€ËŒW©mÃñÑ øK(côy´™sXb`=ÓàMÂlR†<€ŒÓÁEï
å<þadyÐz€cø>¢ŸñèØžæ†f€›…í›<ÀÅÝx
H;Ï`r…§z£dÝM#oó†Å«Ù€…Ë‘i±ܧ©97T¼qZ*{ªnNOÛ$@õðÕy¬¯Ž½€Oàû¯EÚÍù2)ÕRãpS|Ð~’oºPŽ5ª×Ý­˜äƒûÛ¢Éû÷w'rDdgá{tpÄ]57ífÙS¼&™Z„×€tˆ¡øÇ)ö#åBNfh{úÞwÿ^Ø8œÃêá½>š(Š
+€Ð‡d €¸äVVAšZ{uî~xjAHdìr¿
+¦âŠ€3‡z•þ¶·â‰a1NY¾tÜU}kÀI+[þuÏY§¡‹
+‚|‚z”µ©Ñº ±/þWNlÊ}°}l˜W//. &ѵ.”a‚$‚“¾§÷Ïçþÿ-2JRkq}~…têXà0/⋶-•¾‚€‹n¦GÎíí´HQj­xéCu7ZÝ@Ìöã¸  ‡€_Š#¥Y¾Më%2G]_x÷ûuùenB™¾åzÇ>¡Bˆ€~„y™Ê¼éy	³7#^jw½{gûCò&o÷É{¢¸þ€„d˜H®/ا
6ä\Öoã~2|#hjR­(AùÆʯ›<–ƒñŽã¬uÖÕa%»Oðn¢~K{qÍSg*~Ûû°„‘ï„œ€Ž‚«Æûó¡#LNùdÏzyPr,UÌ:í>Ýl²–›r…r€GóždÄ*òà!r?ØcHz 7y¤ai<½ºîYÁºœü…4€~†ÅÈ—à^Ú=±bÔs½ÊyÏb‡KJ ‰ðñÂãŒQ€î…œœ¼³ÓÞŽ@<cVsœVz,mþL
"Yò2ÓHª[v€ÂZ’G²Ý·üó+	U;rý|b~nqNä21èÔ¥«.Ž6ƒxl‘Ö°EÌåú;*ªSi•|©~oÁ[4¡ÖÞ¹p—¡ƒ5‡‰œ£›Êù^Eh&|ÿÐv]76Àãçf»€˜
‰ €Ùˆ[¢õÈZç6ÔCõf›vþzwC^ÓEŠ®éò¼ý£¼‰€2ˆ—i¹åk4_[éuöµ|eiYGSqûÅÌD¥rŠŽƒ–å·dÔ¥c2Z0uL~}kjÚHv,CýrΦ£’Ú´‚•á©®ÒÒµ0ŽLâlý}z}HsËV+.ÿ[ß,´˜“,‚H€RŒ‰¨ûÐþïÂKêkžyÆtXÝ/é᧵“”ª†,€Ž‹7§ßÀ/îýšIIa
+yÞÒt/dë?·åâàÄOŸB‡€J…?›J¿aìaP:`oxlözOe~A„†ô€Æƒ à‡ª€É„"š¹½øÚ
+¯8à^:q=u{jf)Pæ%Xö"ÈN­2Ý€M„V!¯:Ù¿((þQ]põ~p“Q£'3´Ø´®í€u¹­~×ãöl&–P{o™{-ùpøR18
+rÚ°Í™£„¸€™Žá ýÆõ®$öA¥e{^?xº_Ó9Ö×ëѾéš#…€q‡«Ÿ\ÅAóAd@†dšzäÜxí`r;u¤íeÀ
+œT‹%€×†zž¶§ásÏ>…XKtÎryžk¤J;sïyÐ#¨Œ?€F‚ã“´âߢÿ­.1W„s±ä}˜lLÿ F,Òy©àŒ˜‚òì’&³ôÎÏýù,ÙU¹j8}5~m²Yã1áÓq·È•ø‚¤©Š§¥FÍýûÜÍG´iÔ|~²uýZ3ìåô¸Ï–`ƒ€ò‰^¤›Ë8êIFªh¬wügvC\]C¬Ñæzºü¡¦ˆ€A‰Ò˜Ü»mèI¶6d]wÿ|¶gèDw›èÊ;£R‰€ÂƒÁ—Sº£æ5#\Uv½~t|ÅhpF·)YúÅˤ&‘dUƒµ–¬lÕ½d3àNdnx~Þ|üq To++ü‹Üر’¬î‚š±ªµÓê”"nMtm-~‘ÍrüU%-LÞL³“Ä…\€ËŒW©mÃñÑ øK(côy´™sXb`=ÓàMÂlR†<€'†ÓÁEï
å<þadyÐz€cø>¢ŸñèØžæ†f€›…í›<ÀÅÝx
H;Ï`r…§z£dÝM#oó†Å«Ù€…Ë‘i±ܧë*7T¼qZ*{ªnNOÛ$@õðÕy¬¯Ž½€Oàû¯EÚÍù2)ÕRãpS|Ð~’oºPŽ5ª×Ý­˜äƒûÛ¢Éû÷w'rDdgá{tpÄ]57ífÙS¼&™Z„×€tˆ¡øÇ)ö#åBNfh{úÞwÿ^Ø8œÃêá½>š(Š
+€Ð‡d €¸äVVAšZ{uî~xjAHdìr¿
+¦âŠ€3‡z•þ¶·â‰a1NY¾tÜU}kÀI+[þuÏY§¡‹
+‚|‚z”µ©Ñº ±/þWNlÊ}°}l˜W//. &ѵ.”a‚$‚“¾§÷Ïçþÿ-2JRkq}~…têXà0/⋶-•¾‚€‹n¦GÎíí´HQj­xéCu7ZÝ@Ìöã¸  ‡€_Š“šY¾Më%2G]_x÷ûuùenB™¾åzÇ>¡Bˆ€~„y™Ê¼éy	³7#^jw½{gûCò&o÷É{¢¸þ€„d˜H®/ا
6ä\Öoã~2|#hjR­(AùÆʯ›<–ƒñŽã¬uÖÕa%»Oðn¢~K{qÍSg*~Ûû°„‘ï„œ€Ž‚«Æûó¡#LNùdÏzyPr,UÌ:í>Ýl²–›r…r€GóždÄ*òà!r?ØcHz 7y¤ai<½ºîYÁºœü…4€~†ÅÈ—à^Ú=±bÔs½ÊyÏb‡KJ ‰ðñÂãŒQ€î…œœ¼³ÓÞŽ@<cVsœVz,mþL
"Yò2ÓHª[v€ÂZ’G²Ý·üó+	U;rý|b~nqNä21èÔ¥«e–6ƒxl‘Ö°EÌåú;*ªSi•|©~oÁ[4¡ÖÞ¹p—¡ƒ5‡‰œ£›Êù^Eh&|ÿÐv]76Àãçf»€˜
‰ €Ùˆ[¢õÈZç6ÔCõf›vþzwC^ÓEŠ®éò¼ý£¼‰€2ˆ—i¹åk4_[éuöµ|eiYGSqûÅÌD¥rŠŽƒ–å·dÔ¥c2Z0uL~}kjÚHv,CýrΦ£’Ú´‚•á©®ÒÒµ0ŽLâlý}z}HsËV+.ÿ[ß,´˜“,‚H€RŒ‰¨ûÐ
\ No newline at end of file
Binary file mmapitest/mmsvs/testdata/mmf/T_MdaAudioRecorderUtility/pcm16stereo8khz.wav has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/testdata/mmf/T_MdaAudioToneUtility/badsequence.sqn	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,4 @@
+SQNCþÿ
+ d ¸ÿ    d Òÿÿ    d îÿ    d ÿ    d *ÿ    afd K¤ÿÿ    d nÿ    d “ÿ?ÿ    d pÿ    d     d Ýÿ    d 'ÿdgdg    d uÿ    d Èÿ    d }ÿ    d àÿ    d Iÿ    d ¸ÿ    d -ÿ    d ©ÿ  457  d -	ÿwed ¹	ÿ    d q
+ÿ    d ê
+ÿ    d ÿ    d úÿ    d Àÿ    p        ýÿp        ÿÿ
\ No newline at end of file
Binary file mmapitest/mmsvs/testdata/mmf/T_MdaAudioToneUtility/sequence1.sqn has changed
Binary file mmapitest/mmsvs/testdata/mmf/T_MdaAudioToneUtility/sequence2.sqn has changed
Binary file mmapitest/mmsvs/testdata/mmf/T_MidiClientUtility/midi.mid has changed
Binary file mmapitest/mmsvs/testdata/mmf/T_MidiClientUtility/midiclienttest.gm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmapitest/mmsvs/testdata/mmf/T_MidiClientUtility/textmidi.mid	Wed Jun 09 11:20:54 2010 +0300
@@ -0,0 +1,1 @@
+This is a sample text file to check the error conditions for Midi Client.
\ No newline at end of file
Binary file mmapitest/mmsvs/testdata/mmf/T_VideoPlayerUtility/alter.mp4 has changed
Binary file mmapitest/mmsvs/testdata/mmf/T_VideoPlayerUtility/corrupted.avi has changed
Binary file mmapitest/mmsvs/testdata/mmf/T_VideoPlayerUtility/xvid_clock.avi has changed
--- a/mmlibs/mmfw/MMPFiles/client/MediaClientVideo.mmp	Tue May 25 14:20:15 2010 +0300
+++ b/mmlibs/mmfw/MMPFiles/client/MediaClientVideo.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -88,6 +88,8 @@
 #endif //SYMBIAN_BUILD_GCE
 #endif //SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT
 
+MACRO MEDIA_CLIENT_SURFACE_NOT_REMOVED_FROM_CLIENT_WINDOW
+
 nostrictdef
 strictdepend
 
--- a/mmlibs/mmfw/MMPFiles/client/mediaclientvideodisplay.mmp	Tue May 25 14:20:15 2010 +0300
+++ b/mmlibs/mmfw/MMPFiles/client/mediaclientvideodisplay.mmp	Wed Jun 09 11:20:54 2010 +0300
@@ -48,6 +48,8 @@
 library			ecom.lib
 library			centralrepository.lib
 
+MACRO MEDIA_CLIENT_SURFACE_NOT_REMOVED_FROM_CLIENT_WINDOW
+
 nostrictdef
 
 SMPSAFE
--- a/mmlibs/mmfw/src/Client/Audio/mmfclienttoneplayer.cpp	Tue May 25 14:20:15 2010 +0300
+++ b/mmlibs/mmfw/src/Client/Audio/mmfclienttoneplayer.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -1037,7 +1037,10 @@
 		}
 	else
 		{
-		iAsyncCallback->MatoPlayStarted(KErrNone);
+        if(iPlayStartObserver)
+            {
+            iAsyncCallback->MatoPlayStarted(KErrNone);
+            }
 		}
 	}
 	
@@ -1139,12 +1142,15 @@
 
 void CMMFMdaAudioToneObserverCallback::MatoPlayComplete(TInt aError)
 	{
-	iAction = EPlayComplete;
-	iErrorCode = aError;
-
-	TRequestStatus* s = &iStatus;
-	SetActive();
-	User::RequestComplete(s, KErrNone);
+    if(!IsActive())
+        {
+        iAction = EPlayComplete;
+        iErrorCode = aError;
+        
+        TRequestStatus* s = &iStatus;
+        SetActive();
+        User::RequestComplete(s, KErrNone);
+        }
 	}
 
 void CMMFMdaAudioToneObserverCallback::MatoPlayStarted(TInt aError)
--- a/mmlibs/mmfw/src/Client/Video/mediaclientpolicyserverclient.cpp	Tue May 25 14:20:15 2010 +0300
+++ b/mmlibs/mmfw/src/Client/Video/mediaclientpolicyserverclient.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -45,10 +45,7 @@
     else
         {
         iSurfaceId = aSurfaceId;
-        DEBUG_PRINTF2("CMediaClientPolicyServerClient::SetSurface - SurfaceId 0 0x%x", iSurfaceId.iInternal[0]);  
-        DEBUG_PRINTF2("CMediaClientPolicyServerClient::SetSurface - SurfaceId 1 0x%x", iSurfaceId.iInternal[1]);  
-        DEBUG_PRINTF2("CMediaClientPolicyServerClient::SetSurface - SurfaceId 2 0x%x", iSurfaceId.iInternal[2]);  
-        DEBUG_PRINTF2("CMediaClientPolicyServerClient::SetSurface - SurfaceId 3 0x%x", iSurfaceId.iInternal[3]);  
+        DEBUG_PRINTF5("CMediaClientPolicyServerClient::SetSurface - iSurfaceId %08x:%08x:%08x:%08x", iSurfaceId.iInternal[3], iSurfaceId.iInternal[2], iSurfaceId.iInternal[1], iSurfaceId.iInternal[0]);
         }
     
     DEBUG_PRINTF(" CMediaClientPolicyServerClient::SetSurface ---");
@@ -58,10 +55,7 @@
     {
     DEBUG_PRINTF(" CMediaClientPolicyServerClient::FocusChanged +++");
 
-    DEBUG_PRINTF2("CMediaClientPolicyServerClient::FocusChanged - SurfaceId 0 0x%x", iSurfaceId.iInternal[0]);  
-    DEBUG_PRINTF2("CMediaClientPolicyServerClient::FocusChanged - SurfaceId 1 0x%x", iSurfaceId.iInternal[1]);  
-    DEBUG_PRINTF2("CMediaClientPolicyServerClient::FocusChanged - SurfaceId 2 0x%x", iSurfaceId.iInternal[2]);  
-    DEBUG_PRINTF2("CMediaClientPolicyServerClient::FocusChanged - SurfaceId 3 0x%x", iSurfaceId.iInternal[3]);  
+    DEBUG_PRINTF5("CMediaClientPolicyServerClient::FocusChanged - iSurfaceId %08x:%08x:%08x:%08x", iSurfaceId.iInternal[3], iSurfaceId.iInternal[2], iSurfaceId.iInternal[1], iSurfaceId.iInternal[0]);
     DEBUG_PRINTF2("CMediaClientPolicyServerClient::FocusChanged - Focus %d", aForeground);  
 
     if( iSurfaceId.IsNull() )
--- a/mmlibs/mmfw/src/Client/Video/mediaclientvideodisplaybody.cpp	Tue May 25 14:20:15 2010 +0300
+++ b/mmlibs/mmfw/src/Client/Video/mediaclientvideodisplaybody.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -25,6 +25,13 @@
 const TUid KCRUidTvoutSettings = {0x1020730B};
 const TUint32 KSettingsTvAspectRatio = 0x00000001;
 
+#ifdef MEDIA_CLIENT_SURFACE_NOT_REMOVED_FROM_CLIENT_WINDOW
+// make sure that off screen is bottom right and not top left. This makes it more efficient for GCE backend
+// to render
+const TInt KHiddenExtentA = 2000; // rect Ax and Ay co-ordinate used to set extent off screen
+const TInt KHiddenExtentB = 2001; // rect Bx and By co-ordinate used to set extent off screen
+#endif
+
 CMediaClientVideoDisplayBody* CMediaClientVideoDisplayBody::NewL(TInt aDisplayId, TBool aExtDisplaySwitchingControl)
 	{
 	DEBUG_PRINTF("CMediaClientVideoDisplayBody::NewL +++");
@@ -44,7 +51,7 @@
 	{
 	DEBUG_PRINTF("CMediaClientVideoDisplayBody::NewL +++");
 	DEBUG_PRINTF2("CMediaClientVideoDisplayBody::NewL - aDisplayId %d", aDisplayId);
-    DEBUG_PRINTF5("CMediaClientVideoDisplayBody::NewL - aSurfaceId 0x%X,0x%X,0x%X,0x%X", aSurfaceId.iInternal[0], aSurfaceId.iInternal[1], aSurfaceId.iInternal[2], aSurfaceId.iInternal[3]);
+    DEBUG_PRINTF5("CMediaClientVideoDisplayBody::NewL - aSurfaceId %08x:%08x:%08x:%08x", aSurfaceId.iInternal[3], aSurfaceId.iInternal[2], aSurfaceId.iInternal[1], aSurfaceId.iInternal[0]);
     DEBUG_PRINTF5("CMediaClientVideoDisplayBody::NewL - aCropRect %d,%d - %d,%d", aCropRect.iTl.iX, aCropRect.iTl.iY, aCropRect.iBr.iX, aCropRect.iBr.iY);
     DEBUG_PRINTF3("CMediaClientVideoDisplayBody::NewL - aAspectRatio %d/%d", aAspectRatio.iNumerator, aAspectRatio.iDenominator);
     DEBUG_PRINTF2("CMediaClientVideoDisplayBody::NewL - aExtDisplaySwitchingControl %d", aExtDisplaySwitchingControl);
@@ -125,6 +132,14 @@
 	// remove for whichever array is current
 	RemoveBackgroundSurface(ETrue);
 
+#ifdef MEDIA_CLIENT_SURFACE_NOT_REMOVED_FROM_CLIENT_WINDOW
+    if(iSwitchedToExternalDisplay)
+        {
+        SetWindowArrayPtr2Client();
+        RemoveBackgroundSurface(ETrue);
+        }
+#endif
+
 	iClientWindows.Close();	
     iExtDisplayWindows.Close(); 
 
@@ -205,6 +220,12 @@
             DEBUG_PRINTF2("CMediaClientVideoDisplayBody::AddDisplayWindowL CreateExtDisplayHandlerL error %d", err);
             if(err == KErrNone)
                 {
+#ifdef MEDIA_CLIENT_SURFACE_NOT_REMOVED_FROM_CLIENT_WINDOW
+                // attach surface to client window and hide
+                // ignore error - no handling required
+                SetHiddenBackgroundSurfaceOnClientWindow(winData);
+#endif                
+                // handle external display
                 SetWindowArrayPtr2Ext();
                 User::LeaveIfError(RedrawWindows(aCropRegion));
                 }
@@ -232,8 +253,12 @@
 	
 	if (pos >= 0)
 	    {
+#ifdef MEDIA_CLIENT_SURFACE_NOT_REMOVED_FROM_CLIENT_WINDOW
+        if(IsSurfaceCreated())
+#else
 	    if(IsSurfaceCreated() && !iSwitchedToExternalDisplay)
-            {
+#endif
+	        {
             iClientWindows[pos].iWindow->RemoveBackgroundSurface(ETrue);
             // Make sure all window rendering has completed before proceeding
             RWsSession* ws = iClientWindows[pos].iWindow->Session();
@@ -267,7 +292,7 @@
 TInt CMediaClientVideoDisplayBody::SurfaceCreated(const TSurfaceId& aSurfaceId, const TRect& aCropRect, TVideoAspectRatio aAspectRatio, const TRect& aCropRegion)
 	{
 	DEBUG_PRINTF("CMediaClientVideoDisplayBody::SurfaceCreated +++");
-    DEBUG_PRINTF5("CMediaClientVideoDisplayBody::SurfaceCreated - aSurfaceId 0x%X,0x%X,0x%X,0x%X", aSurfaceId.iInternal[0], aSurfaceId.iInternal[1], aSurfaceId.iInternal[2], aSurfaceId.iInternal[3]);
+    DEBUG_PRINTF5("CMediaClientVideoDisplayBody::SurfaceCreated - aSurfaceId %08x:%08x:%08x:%08x", aSurfaceId.iInternal[3], aSurfaceId.iInternal[2], aSurfaceId.iInternal[1], aSurfaceId.iInternal[0]);
     DEBUG_PRINTF5("CMediaClientVideoDisplayBody::SurfaceCreated - aCropRect %d,%d - %d,%d", aCropRect.iTl.iX, aCropRect.iTl.iY, aCropRect.iBr.iX, aCropRect.iBr.iY);
     DEBUG_PRINTF3("CMediaClientVideoDisplayBody::SurfaceCreated - aAspectRatio %d/%d", aAspectRatio.iNumerator, aAspectRatio.iDenominator);
     DEBUG_PRINTF5("CMediaClientVideoDisplayBody::SurfaceCreated - aCropRegion %d,%d - %d,%d", aCropRegion.iTl.iX, aCropRegion.iTl.iY, aCropRegion.iBr.iX, aCropRegion.iBr.iY);
@@ -302,6 +327,9 @@
             DEBUG_PRINTF2("CMediaClientVideoDisplayBody::SurfaceCreated CreateExtDisplayHandlerL error %d", err);
             if(err == KErrNone)
                 {
+#ifdef MEDIA_CLIENT_SURFACE_NOT_REMOVED_FROM_CLIENT_WINDOW
+                SetHiddenBackgroundSurfaceOnAllClientWindows();
+#endif          
                 SetWindowArrayPtr2Ext();
                 }
             }
@@ -316,6 +344,8 @@
 void CMediaClientVideoDisplayBody::RemoveBackgroundSurface(TBool aTriggerRedraw)
 	{
 	DEBUG_PRINTF("CMediaClientVideoDisplayBody::RemoveBackgroundSurface +++");
+    DEBUG_PRINTF5("CMediaClientVideoDisplayBody::RemoveBackgroundSurface - iSurfaceId %08x:%08x:%08x:%08x", iSurfaceId.iInternal[3], iSurfaceId.iInternal[2], iSurfaceId.iInternal[1], iSurfaceId.iInternal[0]);
+
 	if (IsSurfaceCreated())
 		{
 		RWsSession* ws = NULL;
@@ -338,6 +368,8 @@
 void CMediaClientVideoDisplayBody::RemoveSurface(TBool aControllerEvent)
     {
     DEBUG_PRINTF("CMediaClientVideoDisplayBody::RemoveSurface +++");
+    DEBUG_PRINTF5("CMediaClientVideoDisplayBody::RemoveSurface - iSurfaceId %08x:%08x:%08x:%08x", iSurfaceId.iInternal[3], iSurfaceId.iInternal[2], iSurfaceId.iInternal[1], iSurfaceId.iInternal[0]);
+
     if (IsSurfaceCreated())
         {
         RemoveBackgroundSurface(ETrue);
@@ -347,13 +379,15 @@
             iEventHandler->MmsehRemoveSurface(iSurfaceId);
             }
 
-        iSurfaceId = TSurfaceId::CreateNullId();
-
         if(iSwitchedToExternalDisplay)
             {
             SetWindowArrayPtr2Client();
+#ifdef MEDIA_CLIENT_SURFACE_NOT_REMOVED_FROM_CLIENT_WINDOW
+            RemoveBackgroundSurface(ETrue);
+#endif
             RemoveExtDisplayHandler();
             }
+        iSurfaceId = TSurfaceId::CreateNullId();
         }
     
     DEBUG_PRINTF("CMediaClientVideoDisplayBody::RemoveSurface ---");
@@ -362,7 +396,7 @@
 TInt CMediaClientVideoDisplayBody::SurfaceParametersChanged(const TSurfaceId& aSurfaceId, const TRect& aCropRect, TVideoAspectRatio aAspectRatio)
 	{
 	DEBUG_PRINTF("CMediaClientVideoDisplayBody::SurfaceParametersChanged +++");
-    DEBUG_PRINTF5("CMediaClientVideoDisplayBody::SurfaceCreated - aSurfaceId 0x%X,0x%X,0x%X,0x%X", aSurfaceId.iInternal[0], aSurfaceId.iInternal[1], aSurfaceId.iInternal[2], aSurfaceId.iInternal[3]);
+    DEBUG_PRINTF5("CMediaClientVideoDisplayBody::SurfaceCreated - aSurfaceId %08x:%08x:%08x:%08x", aSurfaceId.iInternal[3], aSurfaceId.iInternal[2], aSurfaceId.iInternal[1], aSurfaceId.iInternal[0]);
     DEBUG_PRINTF5("CMediaClientVideoDisplayBody::SurfaceCreated - aCropRect %d,%d - %d,%d", aCropRect.iTl.iX, aCropRect.iTl.iY, aCropRect.iBr.iX, aCropRect.iBr.iY);
     DEBUG_PRINTF3("CMediaClientVideoDisplayBody::SurfaceCreated - aAspectRatio %d/%d", aAspectRatio.iNumerator, aAspectRatio.iDenominator);
 
@@ -1049,6 +1083,9 @@
     aWindowData.iSurfaceConfig.SetOrientation(ConvertRotation(aWindowData.iRotation));
     
     aWindowData.iSurfaceConfig.SetSurfaceId(iSurfaceId);
+
+    DEBUG_PRINTF5("CMediaClientVideoDisplayBody::SetBackgroundSurface - iSurfaceId %08x:%08x:%08x:%08x",
+            iSurfaceId.iInternal[3], iSurfaceId.iInternal[2], iSurfaceId.iInternal[1], iSurfaceId.iInternal[0]);
     
     // Get the rectangle that bounds the crop rectangle and the viewport.  This should be
     // the same as the crop rectangle as long as the viewport does not go outside this area.
@@ -1427,20 +1464,26 @@
         DEBUG_PRINTF2("CMediaClientVideoDisplayBody::SwitchSurface CreateExtDisplayHandlerL error %d", err);
         if(err == KErrNone)
             {
-            // Set background surface for external display window before removing from client windows.
-            // Required for switching of paused video
             SetWindowArrayPtr2Ext();
-            RedrawWindows(iCropRegion);
+            RedrawWindows(iCropRegion); 
+            
+#ifdef MEDIA_CLIENT_SURFACE_NOT_REMOVED_FROM_CLIENT_WINDOW
+            // Hide surface so that video is not seen on client window
+            HideAllClientWindows();
+#else
+            // Surface removed from window
             SetWindowArrayPtr2Client();
             RemoveBackgroundSurface(ETrue);
             SetWindowArrayPtr2Ext();
+#endif
             }
         }
     else if(iSwitchedToExternalDisplay)
         {
         // Set background surface for clientwindows before removing from external display window.
-        // Required for switching of paused video
         SetWindowArrayPtr2Client();
+        // RedrawWindows handles both the case where the surface was removed from client window and 
+        // also the case where the surface was hidden from client window
         RedrawWindows(iCropRegion);
         SetWindowArrayPtr2Ext();
         RemoveBackgroundSurface(ETrue);
@@ -1665,3 +1708,82 @@
     DEBUG_PRINTF2("CMediaClientVideoDisplayBody::ExtDisplayAutoScaleTypeL --- return %d", autoScaleType);
     return autoScaleType;
     }
+
+#ifdef MEDIA_CLIENT_SURFACE_NOT_REMOVED_FROM_CLIENT_WINDOW
+
+void CMediaClientVideoDisplayBody::HideAllClientWindows()
+    {
+    DEBUG_PRINTF("CMediaClientVideoDisplayBody::HideAllClientWindows +++");
+
+    TInt count = iClientWindows.Count();
+    for (TInt i = 0; i < count; ++i)
+        {
+        // ignore error - cannot be handled
+        HideWindow(iClientWindows[i].iWindow);
+        }
+    
+    DEBUG_PRINTF("CMediaClientVideoDisplayBody::HideAllClientWindows ---");
+    }
+
+TInt CMediaClientVideoDisplayBody::HideWindow(RWindowBase* aWindow)
+    {
+    DEBUG_PRINTF("CMediaClientVideoDisplayBody::HideWindow +++");
+
+    TSurfaceConfiguration config;
+    TInt err = aWindow->GetBackgroundSurface(config);
+    DEBUG_PRINTF2("CMediaClientVideoDisplayBody::HideWindow GetBackgroundSurface error %d", err);
+    
+#ifdef _DEBUG
+    TSurfaceId surface;
+    config.GetSurfaceId(surface);
+    DEBUG_PRINTF5("CMediaClientVideoDisplayBody::HideWindow - Retrieved Surface %08x:%08x:%08x:%08x", 
+            surface.iInternal[3], surface.iInternal[2], surface.iInternal[1], surface.iInternal[0]);
+#endif
+    
+    if (err == KErrNone)
+        {
+        config.SetExtent(TRect(KHiddenExtentA, KHiddenExtentA, KHiddenExtentB, KHiddenExtentB));
+        err = aWindow->SetBackgroundSurface(config, ETrue);
+        // Make sure all window rendering has completed before proceeding
+        RWsSession* ws = aWindow->Session();
+        if (ws)
+           {
+           ws->Finish();
+           }
+        DEBUG_PRINTF2("CMediaClientVideoDisplayBody::HideWindow SetBackgroundSurface error %d", err);
+        }
+    
+    DEBUG_PRINTF("CMediaClientVideoDisplayBody::HideWindow ---");
+    return err;
+    }
+
+void CMediaClientVideoDisplayBody::SetHiddenBackgroundSurfaceOnAllClientWindows()
+    {
+    DEBUG_PRINTF("CMediaClientVideoDisplayBody::SetHiddenBackgroundSurfaceOnAllClientWindows +++");
+
+    TInt count = iClientWindows.Count();
+    for (TInt i = 0; i < count; ++i)
+        {
+        // ignore error - cannot be handled
+        SetHiddenBackgroundSurfaceOnClientWindow(iClientWindows[i]);
+        }
+    
+    DEBUG_PRINTF("CMediaClientVideoDisplayBody::SetHiddenBackgroundSurfaceOnAllClientWindows ---");
+    }
+
+
+TInt CMediaClientVideoDisplayBody::SetHiddenBackgroundSurfaceOnClientWindow(TWindowData& aWindowData)
+    {
+    DEBUG_PRINTF("CMediaClientVideoDisplayBody::SetHiddenBackgroundSurfaceOnClientWindow +++");    
+    DEBUG_PRINTF5("CMediaClientVideoDisplayBody::SetHiddenBackgroundSurfaceOnClientWindow - iSurfaceId %08x:%08x:%08x:%08x",
+                iSurfaceId.iInternal[3], iSurfaceId.iInternal[2], iSurfaceId.iInternal[1], iSurfaceId.iInternal[0]);
+    
+    TSurfaceConfiguration config;
+    config.SetExtent(TRect(KHiddenExtentA, KHiddenExtentA, KHiddenExtentB, KHiddenExtentB));   
+    config.SetSurfaceId(iSurfaceId);
+    TInt err = aWindowData.iWindow->SetBackgroundSurface(config, ETrue);
+    
+    DEBUG_PRINTF2("CMediaClientVideoDisplayBody::SetHiddenBackgroundSurfaceOnClientWindow ---, return %d", err);
+    return err;
+    }
+#endif
--- a/mmlibs/mmfw/src/Client/Video/mediaclientvideodisplaybody.h	Tue May 25 14:20:15 2010 +0300
+++ b/mmlibs/mmfw/src/Client/Video/mediaclientvideodisplaybody.h	Wed Jun 09 11:20:54 2010 +0300
@@ -171,6 +171,13 @@
     void MmcweoFocusWindowGroupChanged();
     TBool MmcweoIgnoreProcess(TSecureId aId);
     
+#ifdef MEDIA_CLIENT_SURFACE_NOT_REMOVED_FROM_CLIENT_WINDOW
+    void HideAllClientWindows();
+    TInt HideWindow(RWindowBase* aWindow);
+    void SetHiddenBackgroundSurfaceOnAllClientWindows();
+    TInt SetHiddenBackgroundSurfaceOnClientWindow(TWindowData& aWindowData);
+#endif
+    
 private:
 
     MMMFSurfaceEventHandler* iEventHandler;
--- a/mmplugins/lib3gp/impl/bwins/3gpmp4libu.def	Tue May 25 14:20:15 2010 +0300
+++ b/mmplugins/lib3gp/impl/bwins/3gpmp4libu.def	Wed Jun 09 11:20:54 2010 +0300
@@ -53,4 +53,5 @@
 	MP4ParseGetLastPosition64 @ 52 NONAME
 	MP4ComposeOpenFileHandle64 @ 53 NONAME
 	MP4ParseOpenFileHandle64 @ 54 NONAME
+	MP4ParseGetID32Location @ 55 NONAME
 
--- a/mmplugins/lib3gp/impl/eabi/3gpmp4libu.def	Tue May 25 14:20:15 2010 +0300
+++ b/mmplugins/lib3gp/impl/eabi/3gpmp4libu.def	Wed Jun 09 11:20:54 2010 +0300
@@ -53,4 +53,5 @@
 	MP4ParseGetLastPosition64 @ 52 NONAME
 	MP4ComposeOpenFileHandle64 @ 53 NONAME
 	MP4ParseOpenFileHandle64 @ 54 NONAME
+	MP4ParseGetID32Location @ 55 NONAME
 
--- a/mmplugins/lib3gp/impl/inc/filewriter.h	Tue May 25 14:20:15 2010 +0300
+++ b/mmplugins/lib3gp/impl/inc/filewriter.h	Wed Jun 09 11:20:54 2010 +0300
@@ -149,9 +149,6 @@
         TInt iMaxOutputBufSoftLimit;
         // Current output file size
 		TInt64 iOutputFileSize;
-		// Output file setsize cooldown 
-		//(setsize is done only after previously added size has been written to)
-		TInt64 iOutputFileSetSizeCooldown;
 
         // Output file for writes.
         RFile64* iOutputFile;
--- a/mmplugins/lib3gp/impl/inc/mp4atom.h	Tue May 25 14:20:15 2010 +0300
+++ b/mmplugins/lib3gp/impl/inc/mp4atom.h	Wed Jun 09 11:20:54 2010 +0300
@@ -66,6 +66,7 @@
 #define ATOMTYPE_URN  0x75726e20 /* 'urn ' */
 #define ATOMTYPE_UUID 0x75756964 /* 'uuid' */
 #define ATOMTYPE_EDTS 0x65647473 /* 'edts' */
+#define ATOMTYPE_META 0x6d657461 /* 'meta' */
 /* AVC Additions */
 #define ATOMTYPE_AVCC 0x61766343 /* 'avcC' */
 #define ATOMTYPE_BTRT 0x62747274 /* 'btrt' */
@@ -76,7 +77,8 @@
 /* QCELP 13K Additions */
 #define ATOMTYPE_SQCP 0x73716370 /* 'sqcp' */
 #define ATOMTYPE_DQCP 0x64716370 /* 'dqcp' */
-
+/* inline Addition */
+#define ATOMTYPE_ID32 0x49443332 /* 'ID32' */
 
 #define HANDLERTYPE_ODSM 0x6f64736d /* 'odsm' */
 #define HANDLERTYPE_VIDE 0x76696465 /* 'vide' */
@@ -560,6 +562,20 @@
   userDataAtom           *udta;
 } trackAtom;
 
+typedef struct ID32Atom
+{
+  atomHeader *atomhdr;
+  mp4_u64    atomcontentloc;
+  mp4_u16    language; // top bit is padding, remaining 15 bits is Packed ISO-639-2/T language code 
+} ID32Atom;
+
+typedef struct metaAtom
+{
+  atomHeader  *atomhdr;
+  handlerAtom *hdlr;
+  ID32Atom    *ID32;
+} metaAtom;
+
 typedef struct movieAtom
 {
   atomHeader            *atomhdr;
@@ -568,6 +584,7 @@
   trackAtom             *trakVideo; // video
   objectDescriptorAtom  *iods;
   userDataAtom          *udta;
+  metaAtom              *meta;
 } movieAtom;
 
 
@@ -777,12 +794,15 @@
 mp4_i32 readD263(MP4HandleImp handle, h263SpecificAtom *d263);
 mp4_i32 readBITR(MP4HandleImp handle, bitrateAtom *bitr);
 mp4_i32 readDAMR(MP4HandleImp handle, amrDecSpecStruc *damr);
+mp4_i32 readMeta(MP4HandleImp handle, metaAtom *meta);
 /* avc inclusions*/
 mp4_i32 readAVC1(MP4HandleImp handle, avcSampleEntry *avc1);
 mp4_i32 readSDTP(MP4HandleImp handle, sampleDependencyAtom *sdtp,  mp4_i32 sample_count);
 /* QCELP 13k inclusions */
 mp4_i32 readSQCP(MP4HandleImp handle, qcelpSampleEntry *sqcp);
 mp4_i32 readDQCP(MP4HandleImp handle, qcelpDecSpecStruc *dqcp);
+/* inline related */
+mp4_i32 readID32(MP4HandleImp handle, ID32Atom *ID32);
 
 mp4_i32 freeFTYP(fileTypeAtom *ftyp);
 mp4_i32 freeMOOV(movieAtom *moov);
@@ -826,6 +846,7 @@
 mp4_i32 readUDTA(MP4HandleImp handle, userDataAtom *udta);
 mp4_i32 freeUDTA(userDataAtom *udta);
 mp4_i32 freeSDTP(sampleDependencyAtom* sdtp);
+mp4_i32 freeMETA(metaAtom *meta);
 /* The following and AVC related */
 mp4_i32 freeAVC1(avcSampleEntry *avc1);
 mp4_i32 freeM4DS(mpeg4ExtensionDescriptorsAtom *m4ds);
@@ -834,6 +855,8 @@
 /* QCELP 13K related */
 mp4_i32 freeSQCP(qcelpSampleEntry *sqcp);
 mp4_i32 freeDQCP(qcelpDecSpecStruc *dqcp);
+/* inline related */
+mp4_i32 freeID32(ID32Atom *ID32);
 
 mp4_i32 determineVideoLength(MP4HandleImp handle, mp4_u32 *videolength);
 mp4_i32 determineFrameRate(MP4HandleImp handle, mp4_double *framerate);
--- a/mmplugins/lib3gp/impl/inc/mp4lib.h	Tue May 25 14:20:15 2010 +0300
+++ b/mmplugins/lib3gp/impl/inc/mp4lib.h	Wed Jun 09 11:20:54 2010 +0300
@@ -1539,6 +1539,21 @@
 */
 extern IMPORT_C void MP4CancelReadFrame(MP4Handle handle);
 
+/**
+Fetches ID32 data location.
+ *
+ * Parameters:
+ *
+@param handle         MP4 library handle
+@param location       Returns ID32 data location
+
+@return	MP4_OK                         Success
+		MP4_ERROR                      Generic error 
+		MP4_INVALID_INPUT_STREAM       MP4 stream is invalid
+		MP4_NOT_AVAILABLE              Metadata, META atom or ID32 atom is not available
+ */
+extern IMPORT_C MP4Err MP4ParseGetID32Location(MP4Handle apihandle, mp4_u32& location);
+
 #ifdef __cplusplus
 }
 #endif
--- a/mmplugins/lib3gp/impl/src/atom.cpp	Tue May 25 14:20:15 2010 +0300
+++ b/mmplugins/lib3gp/impl/src/atom.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -576,7 +576,24 @@
 
       break;
       }
-
+      
+    case ATOMTYPE_META:
+        
+        {
+        if (moov->meta) /* META has already been read, more than one is not allowed */
+          return -1;
+           
+        if ((moov->meta = (metaAtom *)mp4malloc(sizeof(metaAtom))) == NULL)
+            return -100;
+
+        bytesread = readMeta(handle, moov->meta);
+        if (bytesread < 0)
+          return -1;
+        totalbytesread += bytesread;
+        
+        break;
+        }
+        
     default:
 
       bytesread = readUnknown(handle);
@@ -4358,6 +4375,8 @@
       return -1;
     if (freeUDTA(moov->udta) < 0)
       return -1;
+    if (freeMETA(moov->meta) < 0)
+      return -1;
 
     mp4free(moov);
   }
@@ -8897,4 +8916,228 @@
     return stbl->stco64->chunkOffset[index];
 }
 
+/*
+ * Function:
+ *
+ *   mp4_i32 readMeta(MP4HandleImp handle,
+ *                    metaAtom *meta)
+ *
+ * Description:
+ *
+ *   This function parses one META atom.
+ *
+ * Parameters:
+ *
+ *   handle             MP4 library handle
+ *   meta               META pointer
+ *
+ * Return value:
+ *
+ *   Negative integer   Error
+ *   >= 0               Success. Value tells how many bytes were read.
+ *
+ */
+mp4_i32 readMeta(MP4HandleImp handle, metaAtom *meta)
+{
+    mp4_i32 bytesread;
+    mp4_i32 totalbytesread = 0;
+
+
+    if ((meta->atomhdr = (atomHeader *)mp4malloc(sizeof(atomHeader))) == NULL)
+      return -100;
+
+    bytesread = readFullAtomHeader(handle, meta->atomhdr);
+    if (bytesread < 0)
+      return -1;
+    totalbytesread += bytesread;
+
+    if (meta->atomhdr->type != ATOMTYPE_META)
+      return -1;
+
+
+    while ((mp4_u32)totalbytesread < meta->atomhdr->size)
+    {
+      mp4_u32 type;
+
+
+      if (peekData(handle, handle->buf, 8) < 0)
+        return -1;
+      
+      type = u32endian(*((mp4_u32 *)(handle->buf+4)));
+
+      switch (type)
+      {
+      case ATOMTYPE_HDLR:
+
+        if (meta->hdlr) /* HDLR has already been read, more than one is not allowed */
+          return -1;
+
+        if ((meta->hdlr = (handlerAtom *)mp4malloc(sizeof(handlerAtom))) == NULL)
+          return -100;
+
+        bytesread = readHDLR(handle, meta->hdlr);
+        if (bytesread < 0)
+          return -1;
+        totalbytesread += bytesread;
+
+        break;
+          
+      case ATOMTYPE_ID32:
+          
+        if (meta->ID32) /* ID32 has already been read, more than one is not allowed */
+          return -1;
+
+        if ((meta->ID32 = (ID32Atom *)mp4malloc(sizeof(ID32Atom))) == NULL)
+          return -100;
+
+        bytesread = readID32(handle, meta->ID32);
+        if (bytesread < 0)
+          return -1;
+        totalbytesread += bytesread;
+          
+        break;
+        
+      default:
+
+        bytesread = readUnknown(handle);
+        if (bytesread < 0)
+          return -1;
+        totalbytesread += bytesread;
+
+        break;
+      }
+    }
+
+    return totalbytesread;
+}
+
+/*
+ * Function:
+ *
+ *   mp4_i32 readID32(MP4HandleImp handle,
+ *                    ID32Atom *ID32)
+ *
+ * Description:
+ *
+ *   This function parses one ID32 atom.
+ *
+ * Parameters:
+ *
+ *   handle             MP4 library handle
+ *   ID32               ID32 pointer
+ *
+ * Return value:
+ *
+ *   Negative integer   Error
+ *   >= 0               Success. Value tells how many bytes were read.
+ *
+ */
+mp4_i32 readID32(MP4HandleImp handle, ID32Atom *ID32)
+{
+   mp4_i32 bytesread;
+   mp4_i32 totalbytesread = 0;
+
+
+   if ((ID32->atomhdr = (atomHeader *)mp4malloc(sizeof(atomHeader))) == NULL)
+     return -100;
+
+   bytesread = readFullAtomHeader(handle, ID32->atomhdr);
+   if (bytesread < 0)
+     return -1;
+   totalbytesread += bytesread;
+
+   if (ID32->atomhdr->type != ATOMTYPE_ID32)
+     return -1;
+
+   // next 2 bytes: top bit is padding, remaining 15 bits is Packed ISO-639-2/T language code 
+   bytesread = readData(handle, handle->buf, 2);
+   if (bytesread < 0)
+     return -1;
+   ID32->language = u16endian(*((mp4_u16 *)handle->buf));
+   totalbytesread += bytesread;
+   
+   if ( handle->file )
+       {
+       ID32->atomcontentloc = handle->diskReadBufStart + handle->diskReadBufPos;
+       }
+   else
+       {
+       ID32->atomcontentloc = handle->absPosition;
+       }
+   
+   bytesread = discardData(handle, ID32->atomhdr->size - totalbytesread );
+   if (bytesread < 0)
+     return -1;
+   totalbytesread += bytesread;     
+   
+   return totalbytesread;
+}
+
+/*
+ * Function:
+ *
+ *   mp4_i32 freeMETA(metaAtom *meta)
+ *
+ * Description:
+ *
+ *   This function frees memory for META atom.
+ *
+ * Parameters:
+ *
+ *   meta       META atom pointer
+ *
+ * Return value:
+ *
+ *   0          Success
+ *   Negative   Error
+ *
+ */
+mp4_i32 freeMETA(metaAtom *meta)
+{
+  if (meta)
+  {
+    if (freeAtomHeader(meta->atomhdr) < 0)
+      return -1;
+    if (freeHDLR(meta->hdlr) < 0)
+       return -1;
+    if (freeID32(meta->ID32) < 0)
+      return -1;
+
+    mp4free(meta);
+  }
+
+  return 0;
+}
+
+/*
+ * Function:
+ *
+ *   mp4_i32 freeID32(ID32Atom *ID32)
+ *
+ * Description:
+ *
+ *   This function frees memory for ID32 atom.
+ *
+ * Parameters:
+ *
+ *   ID32       ID32 atom pointer
+ *
+ * Return value:
+ *
+ *   0          Success
+ *   Negative   Error
+ *
+ */
+mp4_i32 freeID32(ID32Atom *ID32)
+{
+  if (ID32)
+  {
+    if (freeAtomHeader(ID32->atomhdr) < 0)
+      return -1;
+
+    mp4free(ID32);
+  }
+
+  return 0;
+}
 // End of File
--- a/mmplugins/lib3gp/impl/src/file.cpp	Tue May 25 14:20:15 2010 +0300
+++ b/mmplugins/lib3gp/impl/src/file.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -180,7 +180,7 @@
   if (error != KErrNone && error != KErrAlreadyExists)
     return -1;
 
-  if (file->Replace(*fs, TPtrC((const TUint16 *)filename), EFileWrite|EFileShareExclusive ) != KErrNone)
+  if (file->Replace(*fs, TPtrC((const TUint16 *)filename), EFileWrite|EFileShareExclusive|EFileWriteDirectIO ) != KErrNone)
   {
     return -1;
   }
@@ -226,7 +226,7 @@
   RFile64 * file = new RFile64;
   TBuf16<KMaxFileName> name(reinterpret_cast<const TUint16*>(filename));
   ASSERT(handle->fs != NULL);
-  err = file->Replace(*(RFs*)(handle->fs), name, EFileStream | EFileRead | EFileWrite);
+  err = file->Replace(*(RFs*)(handle->fs), name, EFileStream | EFileRead | EFileWrite | EFileWriteDirectIO);
   if (err != KErrNone)
   {
 	delete file;
--- a/mmplugins/lib3gp/impl/src/filewriter.cpp	Tue May 25 14:20:15 2010 +0300
+++ b/mmplugins/lib3gp/impl/src/filewriter.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -57,7 +57,6 @@
     iOutputBufferSize = KFileWriterBufferSizeSmall;
     iMaxOutputBufHardLimit = KFileWriterHardBufLimit;
     iMaxOutputBufSoftLimit = KFileWriterSoftBufLimit;
-    iOutputFileSetSizeCooldown = 0;
 
     iMemReadyForWriting = EFalse;
     iInputBuf = NULL;
@@ -496,25 +495,7 @@
         PRINT((_L("e_cfilewriter_runl 0")));  
         return;
         }
-        
-	// SetSize - reserve room for file writes in output file for all full buffers.
-	// This is done for performance reasons. Reserving space beforehand reduce FS overhead per write.
-	// Don't do new setsize until previously increased filesize has been filled.
-	if ( iOutputFileSetSizeCooldown ) 
-		{
-		iOutputFileSetSizeCooldown--;
-		PRINT((_L("CFileWriter::RunL() Setsize, buffer was written to reserved space, cooldown: %d"), iOutputFileSetSizeCooldown));		
-		}
-		
-	// if we have cumulated over iMaxOutputBufSoftLimit/2 full output buffers and setsize not in cooldown then set new size.
-	if ( !iOutputFileSetSizeCooldown && (iFullBufferQueue.Count() > iMaxOutputBufSoftLimit/2) )
-		{
-		PRINT(_L("CFileWriter::RunL() Setsize, start new size set"));
-		iOutputFile->SetSize(iOutputFileSize + (iFullBufferQueue.Count()*iOutputBufferSize) );
-		iOutputFileSetSizeCooldown = iFullBufferQueue.Count();
-		PRINT((_L("CFileWriter::RunL() Setsize, New size set to: %d, cooldown set: %d"), iOutputFileSize + (iFullBufferQueue.Count()*iOutputBufferSize), iOutputFileSetSizeCooldown));		
-		}
-	
+
     if ( iFullBufferQueue.Count() >= iMaxOutputBufHardLimit )
         {
         while ( iFullBufferQueue.Count() > iMaxOutputBufSoftLimit )
--- a/mmplugins/lib3gp/impl/src/mp4parse.cpp	Tue May 25 14:20:15 2010 +0300
+++ b/mmplugins/lib3gp/impl/src/mp4parse.cpp	Wed Jun 09 11:20:54 2010 +0300
@@ -3326,4 +3326,73 @@
 		}
 	}
 
+extern EXPORT_C MP4Err MP4ParseGetID32Location(MP4Handle apihandle, mp4_u32& location)
+    { 
+    MP4HandleImp handle = (MP4HandleImp)apihandle;
+
+    if (!handle)
+        {
+        return MP4_ERROR;
+        }
+
+    if (!handle->metaDataComplete)
+        {
+        switch (metaDataAvailable(handle))
+            {
+            case 0:
+                return MP4_NOT_AVAILABLE;
+            case 1:
+                handle->cafError = KErrNone;
+                if (readMetaData(handle) < 0)
+                    {
+			      	// Reading of meta data failed, so free up any allocated memory
+			  		freeFTYP(handle->ftyp);
+			  		handle->ftyp = NULL;
+					freeMOOV(handle->moov);
+					handle->moov = NULL;
+                    if (handle->cafError != KErrNone)
+                        {// if CAF/DRM caused the error return it instead of generic errorcode.
+                        return handle->cafError;
+                        }
+                    else
+                        {
+                        return MP4_INVALID_INPUT_STREAM;
+                        }
+                    }
+                handle->metaDataComplete = MP4TRUE;
+                break;
+
+		    case -2:
+                // Reading of FTYP meta data failed, so free up any allocated memory
+                freeFTYP(handle->ftyp);
+                handle->ftyp = NULL;
+                return MP4_ERROR;
+		      
+            case -1:
+            default:
+                return MP4_ERROR;
+            }
+        }    
+
+    if (!handle->moov)
+        return MP4_ERROR;
+
+    metaAtom* meta = handle->moov->meta;
+    if (!meta)
+        return MP4_NOT_AVAILABLE;
+
+    if (!meta->atomhdr)
+        return MP4_NOT_AVAILABLE;
+    
+    if(meta->ID32)
+        {
+        location = meta->ID32->atomcontentloc;     
+        }
+    else
+        {
+        return MP4_NOT_AVAILABLE;
+        }    
+
+    return MP4_OK;
+    }
 // End of File