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: // 3GP library parser api Unit Testing script sl@0: // testexecute.exe [path]\[this script name]. 3GP library and necessary test files should be present. sl@0: // It requires no exceptional network support. sl@0: // sl@0: // sl@0: sl@0: //! @file sl@0: //! @SYMTestSuiteName tsu_3gp_parse_api sl@0: //! @SYMScriptTestEnvironment This test runs using Symbian test execution with the following test list entry: sl@0: sl@0: sl@0: PRINT Run all the 3GP library parser api Unit sl@0: PRINT sl@0: sl@0: LOAD_SUITE tsu_3gplibrary sl@0: sl@0: // Positive test sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0001-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0001-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Setup parser to read file by file path sl@0: //! Pre-Condition A valid mp4/3gp file must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Setup parser to open file using different file modes and read file by file path sl@0: //! @SYMTestExpectedResults File read and complete with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0001-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H263-ARMNB sl@0: END_TESTCASE MM-3GP-PARSE-U-0001-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0002-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0002-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Setup parser to use buffer mode sl@0: //! Pre-Condition A valid mp4/3gp file must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Setup parser to open and read file by buffer mode sl@0: //! @SYMTestExpectedResults File read and complete with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0002-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0002-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0003-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0003-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Setup parser to read file by file handle sl@0: //! Pre-Condition A valid mp4/3gp file must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Setup parser to open file using different file modes and read file by file handle sl@0: //! @SYMTestExpectedResults File read and complete with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0003-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0003-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0004-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0004-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Setup parser to read file by ContentAccess::CData sl@0: //! Pre-Condition A valid mp4/3gp file must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Setup parser to open and read file by ContentAccess::CData sl@0: //! @SYMTestExpectedResults File read and complete with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0004-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0004-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0005-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0005-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Retrieve video & audio stream attributes from a mp4/3gp/3g2 file using file mode sl@0: //! Pre-Condition A valid mp4/3gp file containing both supported audio and video stream (not h263) must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Retrieve video & audio stream attributes from a mp4/3gp/3g2 file using file mode sl@0: - file path / file handle or CAF object. sl@0: //! @SYMTestExpectedResults File read and complete with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0005-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-MP4-MP4 sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0005-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-MP4 sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0005-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-H264-WB sl@0: END_TESTCASE MM-3GP-PARSE-U-0005-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0006-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0006-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Retrieve video & audio stream attributes from a mp4/3gp/3g2 file using buffer mode sl@0: //! Pre-Condition A valid mp4/3gp file containing both supported audio and video stream must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Retrieve video & audio stream attributes from a mp4/3gp/3g2 file using buffer mode sl@0: //! @SYMTestExpectedResults Retrieve video & audio stream attributes with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0006-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-MP4-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0006-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0007-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0007-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Check if the clip is streamable in file mode sl@0: //! Pre-Condition A non-streamable mp4/3gp/3g2 file must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Check if the clip is streamable in file mode sl@0: //! @SYMTestExpectedResults Result returned is non-streamable sl@0: RUN_TEST_STEP !Error=-5 -1 tsu_3gplibrary MM-3GP-PARSE-U-0007-CP c:\mm\tsu_3gp_parse_api_te.ini NON-STREAMABLE sl@0: END_TESTCASE MM-3GP-PARSE-U-0007-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0008-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0008-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Check if the clip is streamable in buffer mode sl@0: //! Pre-Condition A non-streamable mp4/3gp/3g2 file must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Check if the clip is streamable in buffer mode sl@0: //! @SYMTestExpectedResults Result returned is non-streamable sl@0: RUN_TEST_STEP !Error=-5 -1 tsu_3gplibrary MM-3GP-PARSE-U-0008-CP c:\mm\tsu_3gp_parse_api_te.ini NON-STREAMABLE sl@0: END_TESTCASE MM-3GP-PARSE-U-0008-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0009-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0009-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Check if the clip is streamable in file mode sl@0: //! Pre-Condition A streamable mp4/3gp/3g2 file must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Check if the clip is streamable in file mode sl@0: //! @SYMTestExpectedResults Result returned is streamable sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0007-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4 sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0007-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-ONLY sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0007-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY sl@0: RUN_TEST_STEP !Error=-2 -1 tsu_3gplibrary MM-3GP-PARSE-U-0007-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-NO-A-V sl@0: RUN_TEST_STEP !Error=-20 -1 tsu_3gplibrary MM-3GP-PARSE-U-0007-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-H263+-ARMWB sl@0: END_TESTCASE MM-3GP-PARSE-U-0009-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0010-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0010-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Check if the clip is streamable in buffer mode sl@0: //! Pre-Condition A streamable mp4/3gp/3g2 file must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Check if the clip is streamable in buffer mode sl@0: //! @SYMTestExpectedResults Result returned is streamable sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0008-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0010-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0011-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0011-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Retrieve buffered bytes, and video & audio frames synchronously in file mode sl@0: //! Pre-Condition A valid mp4/3gp file containing both supported audio and video stream must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Retrieve buffered bytes, and video & audio frames synchronously in file mode sl@0: //! @SYMTestExpectedResults Retrieving buffered bytes returns KErrNotSupported. Retrieving audio and video frames with no errors. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0011-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-MP4-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0011-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0014-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0014-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Parse video & audio frames from a mp4/3gp file asynchronously sl@0: //! Pre-Condition A valid mp4/3gp file containing both supported audio and video stream must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Parse video & audio frames from a mp4/3gp file asynchronously thru file path, file handle and CAF object. sl@0: //! @SYMTestExpectedResults All frames retrieved with no error. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0014-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0014-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0015-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0015-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Parse video & audio frames from a mp4/3gp file synchronously sl@0: //! Pre-Condition A valid mp4/3gp file containing both supported audio and video stream must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Parse video & audio frames from a mp4/3gp file synchronously in buffer mode. sl@0: //! @SYMTestExpectedResults All frames retrieved with no error. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0015-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0015-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0016-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0016-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Get frame type sl@0: //! Pre-Condition Different files which contain different video and different audio types must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Get frame type in file path. sl@0: //! @SYMTestExpectedResults All frame types retrieved with no error. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-ONLY sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4 sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-H263-QCEL-MP4 sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini H263-P3-L15 sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-H264-MP4 sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-main-NB sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-extended-NB sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4 sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-NONE-WB sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H263-ARMNB sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-H263-QCEL-MP4 sl@0: RUN_TEST_STEP !Error=-2 -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-NO-A-V sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-main-ONLY sl@0: END_TESTCASE MM-3GP-PARSE-U-0016-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0017-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0017-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Get the QCELP storage mode sl@0: //! Pre-Condition A valid mp4/3gp file containing QCELP encoded audio stored using QCELP sample entry sl@0: box must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Get the QCELP storage mode in file path and buffer mode. sl@0: //! @SYMTestExpectedResults The QCELP storage mode retrieved with no error and the mode returned is QCELP sample entry sl@0: box. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0017-CP c:\mm\tsu_3gp_parse_api_te.ini H263-QCEL-QCELP sl@0: END_TESTCASE MM-3GP-PARSE-U-0017-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0018-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0018-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Get the QCELP storage mode sl@0: //! Pre-Condition A valid mp4/3gp file containing QCELP encoded audio stored using MPEG4 sample entry sl@0: box must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Get the QCELP storage mode in file path and buffer mode. sl@0: //! @SYMTestExpectedResults The QCELP storage mode retrieved with no error and the mode returned is MPEG4 sample entry sl@0: box. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0017-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-H263-QCEL-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0018-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0021-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0021-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Get H263 video leve sl@0: //! Pre-Condition A valid mp4/3gp file with H263 video source of level X must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Get H263 video level in file path and buffer mode. sl@0: //! @SYMTestExpectedResults test with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0021-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-H263-QCEL-MP4 sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0021-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H263-ARMNB sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0021-CP c:\mm\tsu_3gp_parse_api_te.ini H263-P3-L15 sl@0: END_TESTCASE MM-3GP-PARSE-U-0021-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0023-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0023-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Read Video and audio Decoder Info size and info sl@0: //! Pre-Condition A valid mp4/3gp file containing video type of MPEG-4/AVC video and supported audio must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Read Video and audio Decoder Info size and info in file path and buffer mode. sl@0: //! @SYMTestExpectedResults test with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0023-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0023-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0027-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0027-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Seek different position of a video/audio file sl@0: //! Pre-Condition A valid 3GP/3G2/MP4 file with equal length of audio and video data must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Seek different position of a video/audio file sl@0: //! @SYMTestExpectedResults test with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0027-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-SAME-LEN sl@0: END_TESTCASE MM-3GP-PARSE-U-0027-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0028-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0028-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Seek a position after audio stream has been exhausted and there's still video stream left. sl@0: //! Pre-Condition A valid 3GP/3G2/MP4 file with length of audio is less than length of video data must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Seek a position after audio stream has been exhausted and there's still video stream left. sl@0: //! @SYMTestExpectedResults test with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0027-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-VIDEO-MORE sl@0: END_TESTCASE MM-3GP-PARSE-U-0028-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0029-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0029-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Seek a position after video stream has been exhausted and there's still audio stream left. sl@0: //! Pre-Condition A valid 3GP/3G2/MP4 file with length of audio is greater than length of video data must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Seek a position after video stream has been exhausted and there's still audio stream left. sl@0: //! @SYMTestExpectedResults test with no error sl@0: sl@0: // c:\3gplibrary\h264-aac.3gp returns pos both to 0 because used keyframe True and the file without it. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0027-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-MORE sl@0: END_TESTCASE MM-3GP-PARSE-U-0029-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0030-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0030-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Seek different position sl@0: //! Pre-Condition A valid mp4/3gp file containing only audio/video must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Seek different position sl@0: //! @SYMTestExpectedResults test with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0027-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-ONLY sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0027-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY sl@0: END_TESTCASE MM-3GP-PARSE-U-0030-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0031-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0031-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Seek positions after any keyframe and immediately after a non-key frame. sl@0: //! Pre-Condition A valid mp4/3gp file with and without the use of Key frames must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Seek positions after any keyframe and immediately after a non-key frame. sl@0: //! @SYMTestExpectedResults test with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0031-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY-KEYFRAME sl@0: END_TESTCASE MM-3GP-PARSE-U-0031-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0032-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0032-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Check frame availability sl@0: //! Pre-Condition Valid mp4/3gp files with no video, no audio, audio only, video only, and with audio and video must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Check frame availability of different files. sl@0: //! @SYMTestExpectedResults test with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0032-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-NO-A-V sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0032-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-ONLY sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0032-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0032-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-VIDEO-MORE sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0032-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0032-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0033-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0033-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Retrieve video frame size & start time without parsing the content file frame by frame sl@0: //! Pre-Condition A valid mp4/3gp file with at least video data must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Retrieve video frame size & start time without parsing the content file frame by frame in file mode sl@0: //! @SYMTestExpectedResults test with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0033-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY-KEYFRAME sl@0: END_TESTCASE MM-3GP-PARSE-U-0033-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0034-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0034-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Retrieve video frame size & start time without parsing the content file frame by frame sl@0: //! Pre-Condition A valid mp4/3gp file with at least video data must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Retrieve video frame size & start time without parsing the content file frame by frame in buffer mode sl@0: //! @SYMTestExpectedResults test with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0034-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY-KEYFRAME sl@0: END_TESTCASE MM-3GP-PARSE-U-0034-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0035-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0035-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Retrieve user atoms sl@0: //! Pre-Condition A valid mp4/3gp file containing user atoms in all the possible locations: movie, video sl@0: & audio and multiple entries of the same user atom type within a user atom must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Retrieve user atoms in all the possible locations and check the index values sl@0: //! @SYMTestExpectedResults test with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0035-CP c:\mm\tsu_3gp_parse_api_te.ini USER-ATOM-ALL sl@0: END_TESTCASE MM-3GP-PARSE-U-0035-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0037-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0037-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Retrieve video frame dependencies sl@0: //! Pre-Condition A valid mp4/3gp file with/without AVC video stream must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Retrieve video frame dependencies sl@0: //! @SYMTestExpectedResults test with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0037-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4 sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0037-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H263-ARMNB sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0037-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-DEP1 sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0037-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-DEP2 sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0037-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-DEP3 sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0037-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-DEP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0037-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0038-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0038-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Get Video Frame Properties sl@0: //! Pre-Condition A valid mp4/3gp file with AVC video stream must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Get Video Frame Properties with at least video data sl@0: //! @SYMTestExpectedResults test with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0038-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0038-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0039-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0039-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc retrieve video / audio frame data sl@0: //! Pre-Condition A valid mp4/3gp file containing supported audio and video data must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Read a audio and a video frame into a buffer of filled with junk content and sl@0: ensure the buffer gets properly reset when retrieve video / audio frame data. sl@0: //! @SYMTestExpectedResults test with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0039-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0039-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0041-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0041-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Multiple parser working simultaneously. sl@0: //! Pre-Condition Valid mp4/3gp files containing supported audio and video and audio only data must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Multiple parser working simultaneously. sl@0: //! @SYMTestExpectedResults test with no error sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0041-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0041-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0043-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0043-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Seek position in buffer mode sl@0: //! Pre-Condition A valid mp4/3gp file must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Seek position in buffer mode. sl@0: //! @SYMTestExpectedResults Test returns with no error. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0043-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-MP4-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0043-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0044-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0044-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Retrieval of user data atom sl@0: //! Pre-Condition A valid mp4/3gp file must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions 1. Retrieve user data atom with multiple entries all of the same type sl@0: //! 2. Retrieve user data atom with multiple entries of the same type and some other types sl@0: //! 3. Retrieve user data atom with no entries of the specified type but with entries of some other types sl@0: //! @SYMTestExpectedResults Test returns with no error. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary UserDataAtomRetrieval c:\mm\tsu_3gp_parse_api_te.ini MM-3GP-PARSE-U-0044-CP-1 sl@0: RUN_TEST_STEP -1 tsu_3gplibrary UserDataAtomRetrieval c:\mm\tsu_3gp_parse_api_te.ini MM-3GP-PARSE-U-0044-CP-2 sl@0: RUN_TEST_STEP -1 tsu_3gplibrary UserDataAtomRetrieval c:\mm\tsu_3gp_parse_api_te.ini MM-3GP-PARSE-U-0044-CP-3 sl@0: END_TESTCASE MM-3GP-PARSE-U-0044-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0133-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0133-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Check frame availability sl@0: //! Pre-Condition Valid mp4/3gp file with avc profile main/extended video must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Check frame availability of the file. sl@0: //! @SYMTestExpectedResults Test returns with no error. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0032-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-main-NB sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0032-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-extended-NB sl@0: END_TESTCASE MM-3GP-PARSE-U-0133-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0134-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0134-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Retrieve video frame size without parsing the content file frame by frame sl@0: //! Pre-Condition A valid mp4/3gp file with avc profile main/extended video data which must be present. sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Retrieve video frame size without parsing the content file frame by frame in buffer mode sl@0: //! @SYMTestExpectedResults Test returns with no error. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0034-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-main-NB sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0034-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-extended-NB sl@0: END_TESTCASE MM-3GP-PARSE-U-0134-CP sl@0: sl@0: // end of positive testing sl@0: sl@0: // Negative testing sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0101-CP sl@0: sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0101-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Create 3GP Parser to read zero size file content and call all APIs. sl@0: //! Pre-Condition A zero size file must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Create 3GP Parser to read zero size file content, read file again sl@0: when it is in used and call all APIs. sl@0: //! @SYMTestExpectedResults All calls to retrieve video clip properties, video and/or audio sl@0: source & properties should fail with KErrCorrupt. Calling parser open when it is in used, should fail with KErrInUse. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0101-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-EMPTY sl@0: END_TESTCASE MM-3GP-PARSE-U-0101-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0102-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0102-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Initialise a 3GP file parse with an empty filename and file path pointing at non-existent files. sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Initialise a 3GP file parse with an empty filename and file path pointing at non-existent files. sl@0: //! @SYMTestExpectedResults Setup fails with error KErrUnderflow with an empty file name, KErrAccessDenied when sl@0: file path pointing at non-existent files. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0102-CP sl@0: END_TESTCASE MM-3GP-PARSE-U-0102-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0104-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0104-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Create parser by passing in a file path of a file already opened in EFileShareExclusive mode. sl@0: //! Pre-Condition Any file. sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Create parser by passing in a file path of a file already opened in EFileShareExclusive mode. sl@0: //! @SYMTestExpectedResults Setup fails with KErrAccessDenied. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0104-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0104-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0106-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0106-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Use 3GP Parser to parse file before it has been setup. sl@0: //! Pre-Condition Any file. sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Instantiate a 3GP Parser and call all the Parser API except Close & Open sl@0: //! @SYMTestExpectedResults Test fails with KErrNotReady. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0106-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0106-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0107-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0107-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Use invalid frame type for all frame type API. sl@0: //! Pre-Condition A valid mp4/3gp file with supported audio and video stream must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Instantiate a 3GP Parser and Call all Parser API that get frame type. sl@0: //! @SYMTestExpectedResults Test with no error. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0107-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-VIDEO-MORE sl@0: END_TESTCASE MM-3GP-PARSE-U-0107-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0108-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0108-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Use invalid frame index for video frame APIs and Get video frame properties for more sl@0: than the total number of video frames in the video clip sl@0: //! Pre-Condition A valid mp4/3gp file with supported video/audio stream must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Use invalid frame index for video frame APIs and Get video frame properties for more sl@0: than the total number of video frames in the video clip sl@0: //! @SYMTestExpectedResults All APIs returns with KErrGeneral. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0108-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY-KEYFRAME sl@0: END_TESTCASE MM-3GP-PARSE-U-0108-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0109-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0109-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Use invalid frame type for all frame type APIs. sl@0: //! Pre-Condition A valid mp4/3gp file with supported audio and video stream must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Instantiate a 3GP Parser and Call all Parser APIs that use frame type as sl@0: input parameter with invalid frame types sl@0: //! @SYMTestExpectedResults Panic with KErrArgument. sl@0: RUN_PANIC_STEP_RESULT -6 C3GPParse -1 tsu_3gplibrary MM-3GP-PARSE-U-0109-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0109-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0110-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0110-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Get user data atom by passing in an invalid user atom location. sl@0: //! Pre-Condition A valid mp4/3gp file with supported audio and video stream must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Instantiate a 3GP Parser and Get user data atom by passing in an invalid user atom location. sl@0: //! @SYMTestExpectedResults Panic with KErrArgument. sl@0: RUN_PANIC_STEP_RESULT -6 C3GPParse -1 tsu_3gplibrary MM-3GP-PARSE-U-0110-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0110-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0111-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0111-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Retrieve video related information in an audio-only mp4/3gp file. sl@0: //! Pre-Condition A valid mp4/3gp file with only supported audio stream must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Retrieve video related information in an audio-only mp4/3gp file. sl@0: //! @SYMTestExpectedResults Test Step 1 should fail with KErrNotSupported. Test Step 2 completes with no error. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0111-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-ONLY sl@0: RUN_TEST_STEP -1 tsu_3gplibrary 3GPSingleDataSourceTest c:\mm\tsu_3gp_parse_api_te.ini MM-3GP-PARSE-U-0111-CP-2 sl@0: END_TESTCASE MM-3GP-PARSE-U-0111-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0112-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0112-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Retrieve audio related information in a video-only mp4/3gp file. sl@0: //! Pre-Condition A valid mp4/3gp file with only supported video stream must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Retrieve audio related information in a video-only mp4/3gp file. sl@0: //! @SYMTestExpectedResults Test Step 1 should fail with KErrNotSupported. Test Step 2 completes with no error. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0111-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY sl@0: RUN_TEST_STEP -1 tsu_3gplibrary 3GPSingleDataSourceTest c:\mm\tsu_3gp_parse_api_te.ini MM-3GP-PARSE-U-0112-CP-2 sl@0: END_TESTCASE MM-3GP-PARSE-U-0112-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0113-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0113-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Call all parser API in a mp4/3gp file with no audio nor video. sl@0: //! Pre-Condition A valid mp4/3gp file with no audio nor video must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Call all parser API in a mp4/3gp file with no audio nor video. sl@0: //! @SYMTestExpectedResults Test fails with KErrNotSupported for all audio and video related API, KErrGeneral for others. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0111-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-NO-A-V sl@0: END_TESTCASE MM-3GP-PARSE-U-0113-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0115-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0115-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Parse file of unsupported file format (WMA) and attempt to retrieve audio/video information. sl@0: //! Pre-Condition A valid WMA must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Retrieve audio and video attributes. sl@0: //! @SYMTestExpectedResults test fails with KErrCorrupt. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0111-CP c:\mm\tsu_3gp_parse_api_te.ini WMA sl@0: END_TESTCASE MM-3GP-PARSE-U-0115-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0116-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0116-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Parse file of supported file format and unsupported video stream. sl@0: //! Pre-Condition A file of supported file format and unsupported video stream must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Retrieve video attributes. sl@0: //! @SYMTestExpectedResults Test fails with KErrNotSupported. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0111-CP c:\mm\tsu_3gp_parse_api_te.ini UNSUPPORTED-VIDEO sl@0: END_TESTCASE MM-3GP-PARSE-U-0116-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0117-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0117-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Parse file of supported file format and unsupported audio stream sl@0: //! Pre-Condition A file of supported file format and unsupported audio stream must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Retrieve audio attributes. sl@0: //! @SYMTestExpectedResults Test fails with KErrNotSupported. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0111-CP c:\mm\tsu_3gp_parse_api_te.ini UNSUPORTED-AUDIO-STREAM sl@0: END_TESTCASE MM-3GP-PARSE-U-0117-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0118-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0118-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Parse file. sl@0: //! Pre-Condition A file of supported file format and audio/video streams but with mis-matching file extension must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Parse file. sl@0: //! @SYMTestExpectedResults Test with no error. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0111-CP c:\mm\tsu_3gp_parse_api_te.ini MISMATCHED sl@0: END_TESTCASE MM-3GP-PARSE-U-0118-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0119-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0119-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Seek position of a file with no audio nor video. sl@0: //! Pre-Condition A file with no audio nor video must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Seek position of a file with no audio nor video. sl@0: //! @SYMTestExpectedResults Test fails with KErrGeneral. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0119-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-NO-A-V sl@0: END_TESTCASE MM-3GP-PARSE-U-0119-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0120-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0120-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Read Video Decoder Info. sl@0: //! Pre-Condition A valid mp4/3gp/3g2 file containing H263 video must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Read Video Decoder Info. sl@0: //! @SYMTestExpectedResults Expect Read Video Decoder Info fails with KErrNotSupported. sl@0: sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0120-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H263-ARMNB sl@0: END_TESTCASE MM-3GP-PARSE-U-0120-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0122-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0122-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Retrieve user atoms sl@0: //! Pre-Condition A valid mp4/3gp file containing user atoms only in location movie must be present/ no user atom sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Retrieve user atoms sl@0: //! @SYMTestExpectedResults Test fails with KErrNotFound. sl@0: RUN_TEST_STEP !Error=-1 -1 tsu_3gplibrary MM-3GP-PARSE-U-0036-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-USER-ATOM sl@0: RUN_TEST_STEP !Error=-1 -1 tsu_3gplibrary MM-3GP-PARSE-U-0036-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0122-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0124-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0124-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Seek to an invalid position of the file. sl@0: //! Pre-Condition A valid mp4/3gp/3g2 file with both audio and video must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Seek to an invalid position of the file. sl@0: //! @SYMTestExpectedResults Test with no error. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0119-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H263-ARMNB sl@0: END_TESTCASE MM-3GP-PARSE-U-0124-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0125-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0125-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Seek to an invalid position of the file. sl@0: //! Pre-Condition A valid mp4/3gp/3g2 file with audio or video only must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Seek to an invalid position of the file. sl@0: //! @SYMTestExpectedResults Test with no error. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0119-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-ONLY sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0119-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY sl@0: END_TESTCASE MM-3GP-PARSE-U-0125-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0126-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0126-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Instantiate parser with read buffer size < 0. sl@0: //! Pre-Condition A valid mp4/3gp file with supported audio and video stream must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Instantiate parser with read buffer size < 0. sl@0: //! @SYMTestExpectedResults Panic with KErrArgument. sl@0: RUN_PANIC_STEP_RESULT -6 C3GPParse -1 tsu_3gplibrary MM-3GP-PARSE-U-0126-CP sl@0: END_TESTCASE MM-3GP-PARSE-U-0126-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0127-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0127-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Retrieve video and audio info using empty buffer for all buffer related API. sl@0: //! Pre-Condition A valid mp4/3gp/3g2 file with audio or video must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Retrieve video and audio info using empty buffer for all buffer related API. sl@0: //! @SYMTestExpectedResults Test fails with KErrOverflow except InsertData fails with KErrUnderflow. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0127-CP c:\mm\tsu_3gp_parse_api_te.ini USER-ATOM-ALL sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0127-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-MORE sl@0: END_TESTCASE MM-3GP-PARSE-U-0127-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0129-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0129-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Get H263 video leve sl@0: //! Pre-Condition A valid mp4/3gp file without H263 video source/an invalid file must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Get H263 video leve in file path and buffer mode. sl@0: //! @SYMTestExpectedResults test failed with KErrNotSupported. sl@0: RUN_TEST_STEP !Error=-5 -1 tsu_3gplibrary MM-3GP-PARSE-U-0021-CP c:\mm\tsu_3gp_parse_api_te.ini UNSUPPORTED-VIDEO sl@0: RUN_TEST_STEP !Error=-5 -1 tsu_3gplibrary MM-3GP-PARSE-U-0021-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0129-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0130-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0130-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Async read before the parser has been setup. sl@0: //! Pre-Condition A valid mp4/3gp/3g2 file must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Without open parser, do Async read for both audio and video. Should fail with KErrNotReady. sl@0: //! @SYMTestExpectedResults Test fails with expected results. sl@0: RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0130-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-EMPTY sl@0: END_TESTCASE MM-3GP-PARSE-U-0130-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0131-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0131-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Async read negative test after the parser has been setup. sl@0: //! Pre-Condition N/A sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Open parser with an empty file and do Async read for both audio and video, both of them sl@0: should fail with KErrCorrupt; Open parser with an valid 3gp file without audio nor video, do Async read for both sl@0: audio and video, both of them should fail with KErrNotSupported; open parser with an audio only file, and do Async video sl@0: read or Open parser with a video only file, and do Async audio read , Should fail with KErrNotSupported. sl@0: //! @SYMTestExpectedResults Test fails with expected results. sl@0: RUN_TEST_STEP !Error=-20 -1 tsu_3gplibrary MM-3GP-PARSE-U-0131-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-EMPTY sl@0: RUN_TEST_STEP !Error=-5 -1 tsu_3gplibrary MM-3GP-PARSE-U-0131-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-NO-A-V sl@0: RUN_TEST_STEP !Error=-5 -1 tsu_3gplibrary MM-3GP-PARSE-U-0131-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-ONLY sl@0: RUN_TEST_STEP !Error=-5 -1 tsu_3gplibrary MM-3GP-PARSE-U-0131-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY sl@0: END_TESTCASE MM-3GP-PARSE-U-0131-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0132-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0132-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Get the QCELP storage mode when the file is not of QCELP info sl@0: //! Pre-Condition A valid mp4/3gp file without containing QCELP encoded audio stored must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Get the QCELP storage mode in file and buffer mode. sl@0: //! @SYMTestExpectedResults The QCELP storage mode retrieved returns KErrNotSupported sl@0: RUN_TEST_STEP !Error=-5 -1 tsu_3gplibrary MM-3GP-PARSE-U-0017-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H263-ARMNB sl@0: END_TESTCASE MM-3GP-PARSE-U-0132-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0135-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0135-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Get frame type sl@0: //! Pre-Condition Different files which contain audio or video or both must be present sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions Get frame type when the frames have been read in file path. sl@0: //! @SYMTestExpectedResults Test fails with KErrNotFound. sl@0: RUN_TEST_STEP !Error=-1 -1 tsu_3gplibrary MM-3GP-PARSE-U-0135-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-ONLY sl@0: RUN_TEST_STEP !Error=-1 -1 tsu_3gplibrary MM-3GP-PARSE-U-0135-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY sl@0: RUN_TEST_STEP !Error=-1 -1 tsu_3gplibrary MM-3GP-PARSE-U-0135-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4 sl@0: END_TESTCASE MM-3GP-PARSE-U-0135-CP sl@0: sl@0: START_TESTCASE MM-3GP-PARSE-U-0136-CP sl@0: //! @SYMTestCaseID MM-3GP-PARSE-U-0136-CP sl@0: //! @SYMREQ REQ9021 sl@0: //! @SYMTestCaseDesc Async read of video / audio frame when the parser is in buffer mode. sl@0: //! Pre-Condition File with audio & video. sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestActions 1. Setup a 3GP Parser object in buffer mode supplied with a 3GP/MP4/3G2 file with both audio & video. sl@0: //! 2. Attempt to read a video frame asynchronously. sl@0: //! 3. Attempt to read a audio frame asynchronously. sl@0: //! @SYMTestExpectedResults Both async read attempt should fail with KErrAccessDenied. sl@0: RUN_TEST_STEP !Error=-21 -1 tsu_3gplibrary MM-3GP-PARSE-U-0136-CP c:\mm\tsu_3gp_parse_api_te.ini MM-3GP-PARSE-U-0136-CP sl@0: END_TESTCASE MM-3GP-PARSE-U-0136-CP sl@0: sl@0: // End of negative tests