mmapitest/devvideohaitest/scripts/mm-mmf-devvideo-playback-mpeg4-backward-automated.script
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 23 Jun 2010 19:56:04 +0300
changeset 33 0267baa9dea9
permissions -rw-r--r--
Revision: 201025 Kit: 2010125

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