mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-mpeg4-rotation-automated.script
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:38:50 +0100
branchRCL_3
changeset 50 948c7f65f6d4
parent 23 545d349d14da
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201028 Kit: 201035

//
// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
// which accompanies 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