sl@0: // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0: // All rights reserved.
sl@0: // This component and the accompanying materials are made available
sl@0: // under the terms of "Eclipse Public License v1.0"
sl@0: // which accompanies this distribution, and is available
sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0: //
sl@0: // Initial Contributors:
sl@0: // Nokia Corporation - initial contribution.
sl@0: //
sl@0: // Contributors:
sl@0: //
sl@0: // Description:
sl@0: // Unit tests for 3GP Library - Composer OOM Tests
sl@0: // 
sl@0: //
sl@0: 
sl@0: //! @file
sl@0: //! @SYMTestSuiteName tsu_3gp_compose_oom
sl@0: //! @SYMScriptTestEnvironment 3GP library and necessary test files should be present
sl@0: //! @SYMScriptInfo All tests contained in this suite are duplicates of OOM-applicable test cases from test suite tsu_3gp_compose_api (tsu_3gp_compose_api_te.script).  This allows the test suite tsu_3gp_compose_api to focus solely on functional testing.
sl@0: 
sl@0: LOAD_SUITE tsu_3gplibrary
sl@0: 
sl@0: RUN_UTILS DeleteDirectory C:\3gplibrary\temp\composer\
sl@0: RUN_UTILS MKDir C:\3gplibrary\temp\
sl@0: RUN_UTILS MKDir C:\3gplibrary\temp\composer\
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0203-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0203-CP
sl@0: //! @SYMTestCaseDesc 	Create a 3GP Composer with QCELP audio using 3GP or MP4 format.
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions 	1. Instantiate a 3GP Composer
sl@0: //!						2. Setup composer with QCELP audio in 3GP format.
sl@0: //!						3. Add the QCELP audio data and close the composer
sl@0: //!						4. Setup composer with QCELP audio in MP4 format.
sl@0: //!						5. Add the QCELP audio data and close the composer
sl@0: //! @SYMTestExpectedResults		Output files created with major brand of '3g2a'.  
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeFileWithFileFormatCheck C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0003-CP-1
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeFileWithFileFormatCheck C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0003-CP-2
sl@0: END_TESTCASE MM-3GP-COMP-U-0203-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0204-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0204-CP
sl@0: //! @SYMTestCaseDesc 	Create a MP4 file with video and/or audio of ONLY the combinations of MPEG-4 video, MPEG-4 audio and/or AVC video.
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions 	1. Instantiate a 3GP Composer
sl@0: //!						2. Setup composer with AMR audio and MPEG-4 video in MP4 format.
sl@0: //!						3. Add both audio and video data to create the content and close the composer
sl@0: //!						4. Setup composer with MPEG-4 audio and H263 video in MP4 format.
sl@0: //!						5. Add both audio and video data to create the content and close the composer
sl@0: //!						6. Setup composer with AMR audio and AVC video in MP4 format.
sl@0: //!						7. Add both audio and video data to create the content and close the composer
sl@0: //!						8. Exam the above output files and the major brand of both file should be '3gp4' instead of 'mp42'.
sl@0: //!						9. Setup composer with MPEG-4 audio and AVC video in MP4 format.
sl@0: //!						10. Add both audio and video data to create the content and close the composer
sl@0: //!						11. Setup composer with MPEG-4 audio and MPEG-4 video in MP4 format.
sl@0: //!						12. Add both audio and video data to create the content and close the composer
sl@0: //!						13. Setup composer with MPEG-4 audio in MP4 format.
sl@0: //!						14. Add both audio data to create the content and close the composer
sl@0: //!						15. Setup composer with MPEG-4 video in MP4 format.
sl@0: //!						16. Add both video data to create the content and close the composer
sl@0: //!						17. Setup composer with AVC video in MP4 format.
sl@0: //!						18. Add both video data to create the content and close the composer
sl@0: //!						19. Exam the above output files and the major brand of both file should be of 'mp42'.
sl@0: //! @SYMTestExpectedResults 	Test completes with no error.
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeFileWithFileFormatCheck C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0004-CP-1
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeFileWithFileFormatCheck C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0004-CP-2
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeFileWithFileFormatCheck C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0004-CP-3
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeFileWithFileFormatCheck C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0004-CP-4
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeFileWithFileFormatCheck C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0004-CP-5
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeFileWithFileFormatCheck C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0004-CP-6
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeFileWithFileFormatCheck C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0004-CP-7
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeFileWithFileFormatCheck C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0004-CP-8
sl@0: END_TESTCASE MM-3GP-COMP-U-0204-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0205-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0205-CP
sl@0: //! @SYMTestCaseDesc 	Set video stream properties of MP4/3GP/3G2 file with different video properties for different video types.
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions 	1. Instantiate a 3GP Composer 
sl@0: //!						2. Setup the composer with 3GP/MP4/3G2 file format with one of the supported video types w/ different video properties.  Close the composer.
sl@0: //!						3. Repeat with clips of different video properties: video length of 1 and big value, low frame rate & high frame rate, small video width -1 or large video width, small video height or large video height, small timescale or large.
sl@0: //! @SYMTestExpectedResults 	Test completes with no error.
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeVideoProperties C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0005-CP-1
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeVideoProperties C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0005-CP-2
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeVideoProperties C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0005-CP-3
sl@0: END_TESTCASE MM-3GP-COMP-U-0205-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0206-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0206-CP
sl@0: //! @SYMTestCaseDesc 	Create MP4 file with AVC video types specifying video frame dependencies.
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions 	1. Instantiate a 3GP Composer object with MP4 file format & AVC video source.
sl@0: //!						2. Write each video frame with different combinations of dependencies & redundancies available.
sl@0: //! @SYMTestExpectedResults 	Test completes with no error.	
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeFrameDependency C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0006-CP-1
sl@0: END_TESTCASE MM-3GP-COMP-U-0206-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0207-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0207-CP
sl@0: //! @SYMTestCaseDesc 	Set audio stream properties of MP4/3GP/3G2 file with different audio properties for different audio types.
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions 	1. Instantiate a 3GP Composer 
sl@0: //!						2. Setup the composer with 3GP/MP4/3G2 file format with one of the supported audio types w/ different audio properties.  Close the composer.
sl@0: //!						3. Repeat with clips of different audio properties: audio length of 1 and big value, low frame rate & high frame rate, etc ...
sl@0: //! @SYMTestExpectedResults 	Test completes with no error.	
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeAudioProperties C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0007-CP-1
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeAudioProperties C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0007-CP-2
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeAudioProperties C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0007-CP-3
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeAudioProperties C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0007-CP-4
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeAudioProperties C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0007-CP-5
sl@0: END_TESTCASE MM-3GP-COMP-U-0207-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0208-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0208-CP
sl@0: //! @SYMTestCaseDesc	Set user atoms for mp4/3gp files. 
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions 	1. Instantiate a 3GP Composer object with a 3GP/MP4/3G2 file.
sl@0: //!						2. Set the user atom for all 3 locations: movie, video track & audio track.
sl@0: //! @SYMTestExpectedResults 	Test completes with no error.
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeUserData C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0008-CP-1
sl@0: END_TESTCASE MM-3GP-COMP-U-0208-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0209-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0209-CP
sl@0: //! @SYMTestCaseDesc 	Set file buffer for the 3GP Composer.
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions 	1. Instantiate a 3GP Composer with data buffer of size 20000 and buffer count to 200
sl@0: //!						2. Instantiate a 3GP Composer with data buffer of size 100 and buffer count to 10
sl@0: //! @SYMTestExpectedResults 	Test completes with no error. 
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeWithSpecificBufferSize C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0009-CP-1
sl@0: END_TESTCASE MM-3GP-COMP-U-0209-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0210-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0210-CP
sl@0: //! @SYMTestCaseDesc 	Use composer flags to compose file.
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions		1. Instantiate a 3GP Composer object supplying a composer flag, and compose a file.
sl@0: //!						2. Try the test with all possible composer flag combinations. 
sl@0: //! @SYMTestExpectedResults 	Test completes with no error. 
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeWithFlag C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0010-CP-1
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeWithFlag C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0010-CP-2
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeWithFlag C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0010-CP-3
sl@0: END_TESTCASE MM-3GP-COMP-U-0210-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0301-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0301-CP
sl@0: //! @SYMTestCaseDesc 	Use of Composer API before the Composer has been initialised.
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions 	1. Instantiate a 3GP Composer without calling Open to setup the output destination.
sl@0: //!						2. Call all composer API available except C3GPCompose::Open
sl@0: //! @SYMTestExpectedResults 	All calls should fail with error KErrNotReady except C3GPCompose::Complete returns KErrNone.
sl@0: RUN_TEST_STEP !OOM -1 tsu_3gplibrary 3GPComposeWithoutOpen
sl@0: END_TESTCASE MM-3GP-COMP-U-0301-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0302-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0302-CP
sl@0: //! @SYMTestCaseDesc 	Create composer to write to a file location with invalid file names.
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions 	1. Instantiate a 3GP Composer object
sl@0: //!						2. Attempt to Open composer by supplying an empty file name.
sl@0: //!						3. Attempt to Open composer by supplying a file name containing > max file path length.
sl@0: //!						4. Attempt to Open composer by supplying a file name containing wildcards in the drive or in any directory name.
sl@0: //!						5. Attempt to Open composer by supplying a file name containing double backslashes in the path.
sl@0: //!						6. Attempt to Open composer by supplying a file name containing the following characters anywhere in the path: < > " / |	
sl@0: //!						7. Attempt to Open composer by supplying a file name containing a colon not between the drive and path
sl@0: //! 					8. Attempt to Open composer by supplying a file name containing solely of space characters, or of a single or double dot.
sl@0: //! 					9. Attempt to Open composer by supplying a file name containing spaces between the drive, if specified, and the first directory in the path are illegal, although there may be spaces between other path components, for instance between directories. 
sl@0: //! @SYMTestExpectedResults 	Setup fails with errors KErrUnderflow(-10) for the first case, and KErrAccessDenied(-21) for the rest.
sl@0: RUN_TEST_STEP !OOM !Error=-10 -1 tsu_3gplibrary 3GPComposeFilename C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0102-CP-1
sl@0: RUN_TEST_STEP !OOM !Error=-21 -1 tsu_3gplibrary 3GPComposeFilename C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0102-CP-2
sl@0: RUN_TEST_STEP !OOM !Error=-21 -1 tsu_3gplibrary 3GPComposeFilename C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0102-CP-3
sl@0: RUN_TEST_STEP !OOM !Error=-21 -1 tsu_3gplibrary 3GPComposeFilename C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0102-CP-4
sl@0: RUN_TEST_STEP !OOM !Error=-21 -1 tsu_3gplibrary 3GPComposeFilename C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0102-CP-5
sl@0: RUN_TEST_STEP !OOM !Error=-21 -1 tsu_3gplibrary 3GPComposeFilename C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0102-CP-6
sl@0: RUN_TEST_STEP !OOM !Error=-21 -1 tsu_3gplibrary 3GPComposeFilename C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0102-CP-7
sl@0: RUN_TEST_STEP !OOM !Error=-21 -1 tsu_3gplibrary 3GPComposeFilename C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0102-CP-8
sl@0: END_TESTCASE MM-3GP-COMP-U-0302-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0303-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0303-CP
sl@0: //! @SYMTestCaseDesc 	Setup composer with an invalid file format.
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions 	Supply an invalid file format value when setup a composer.
sl@0: //! @SYMTestExpectedResults 	Open panics with error KErrArgument.
sl@0: RUN_TEST_STEP !OOM !PanicCode=-6 -1 tsu_3gplibrary 3GPComposeUserData C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0103-CP-1
sl@0: END_TESTCASE MM-3GP-COMP-U-0303-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0307-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0307-CP
sl@0: //! @SYMTestCaseDesc	Composer setup by filepath writes to a file use exclusive mode.
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions 	1. Use RFile to open a file with EFileShareAny
sl@0: //!						2. Initialise a 3GP Composer with file path pointing at the file opened in Step 1
sl@0: //!						3. Close RFile in Step 1.  Reopen with EFileShareReadersOrWriters
sl@0: //!						4. Repeat Step 2.
sl@0: //! @SYMTestExpectedResults 	Composition fails with error -21.
sl@0: RUN_TEST_STEP !OOM !Error=-21 -1 tsu_3gplibrary 3GPComposeOpenedFile C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0106-CP-1
sl@0: END_TESTCASE MM-3GP-COMP-U-0307-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0308-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0308-CP
sl@0: //! @SYMTestCaseDesc	Create composer to create a MP4/3GP/3G2 file specifying no video or audio type. 
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions		1. Instantiate a composer
sl@0: //!						2. Call C3GPCompose::Open passing NULL for both video & audio input parameter. 
sl@0: //! @SYMTestExpectedResults 	Fails with error .
sl@0: RUN_TEST_STEP !OOM !Error=-6 -1 tsu_3gplibrary 3GPComposeWithNoAudioVideo C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0108-CP-1
sl@0: END_TESTCASE MM-3GP-COMP-U-0308-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0309-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0309-CP
sl@0: //! @SYMTestCaseDesc 	Write Audio Frames with invalid input parameters.
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions 	1. Initialise a 3GP Composer with file path / file handle
sl@0: //!						2. Attempt to add audio frame with NULL frame data.
sl@0: //!						3. Attempt to add audio frame to a video only composer setup.
sl@0: //! @SYMTestExpectedResults 	The first 3 tests fails with KErrUnderFlow, and the last one fails with KErrNotSupported.
sl@0: RUN_TEST_STEP !OOM !Error=-10 -1 tsu_3gplibrary 3GPComposeAudioFrames C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0109-CP-1
sl@0: RUN_TEST_STEP !OOM !Error=-5 -1 tsu_3gplibrary 3GPComposeAudioFrames C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0109-CP-4
sl@0: END_TESTCASE MM-3GP-COMP-U-0309-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0312-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0312-CP
sl@0: //! @SYMTestCaseDesc 	Set the custom file buffer size to invalid values.
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions 	1. Instantiate a 3GP Composer with file path / file handle
sl@0: //!						2. Set customer media write buffer to size 0 and max count to 10.  This should result in error.
sl@0: //!						3. Set customer media write buffer to size 1000 and max count to 0.  This should result in error.
sl@0: //!						4. Set customer media write buffer to size 1000 and max count to 5.  This should result in error."
sl@0: //! @SYMTestExpectedResults 	Test should panic w/ error KErrArgument.
sl@0: RUN_TEST_STEP !OOM !PanicCode=-6 -1 tsu_3gplibrary 3GPComposeWithSpecificBufferSize C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0112-CP-1
sl@0: RUN_TEST_STEP !OOM !PanicCode=-6 -1 tsu_3gplibrary 3GPComposeWithSpecificBufferSize C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0112-CP-2
sl@0: RUN_TEST_STEP !OOM !PanicCode=-6 -1 tsu_3gplibrary 3GPComposeWithSpecificBufferSize C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0112-CP-3
sl@0: END_TESTCASE MM-3GP-COMP-U-0312-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0304-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0304-CP
sl@0: //! @SYMTestCaseDesc 	Setup composer w/ invalid audio properties. 
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions 	1. Attempt to setup composer w/ audio timescale > 65536
sl@0: //!						2. Attempt to setup composer w/ FPS > 256.
sl@0: //! @SYMTestExpectedResults 	Both test should panic with KErrOverFlow
sl@0: RUN_TEST_STEP !OOM !PanicCode=-9 -1 tsu_3gplibrary 3GPComposeAudioProperties C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0104-CP-1
sl@0: RUN_TEST_STEP !OOM !PanicCode=-9 -1 tsu_3gplibrary 3GPComposeAudioProperties C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0104-CP-2
sl@0: END_TESTCASE MM-3GP-COMP-U-0304-CP
sl@0: 
sl@0: START_TESTCASE MM-3GP-COMP-U-0305-CP
sl@0: //! @SYMTestCaseID 		MM-3GP-COMP-U-0305-CP
sl@0: //! @SYMTestCaseDesc 	Use an opened Composer to compose another file.
sl@0: //! @SYMPREQ 			PREQ2050
sl@0: //! @SYMTestPriority 	3
sl@0: //! @SYMTestActions 	1. Instantiate a 3GP Composer with file path / file handle with one of the supported audio and/or video types.
sl@0: //!						2. Attempt to use the same composer to compose another file without closing it first.
sl@0: //! @SYMTestExpectedResults 	Test should failed w/ error KErrInUse.
sl@0: RUN_TEST_STEP !OOM !Error=-14 -1 tsu_3gplibrary 3GPComposeOpenAgain C:\mm\tsu_3gp_compose_api_te.ini MM-3GP-COMP-U-0105-CP-1
sl@0: END_TESTCASE MM-3GP-COMP-U-0305-CP
sl@0: 
sl@0: RUN_UTILS DeleteDirectory C:\3gplibrary\temp\composer\
sl@0: