Update contrib.
1 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // 3GP library parser api Unit Testing script
15 // testexecute.exe [path]\[this script name]. 3GP library and necessary test files should be present.
16 // It requires no exceptional network support.
21 //! @SYMTestSuiteName tsu_3gp_parse_api
22 //! @SYMScriptTestEnvironment This test runs using Symbian test execution with the following test list entry:
25 PRINT Run all the 3GP library parser api Unit
28 LOAD_SUITE tsu_3gplibrary
32 START_TESTCASE MM-3GP-PARSE-U-0001-CP
33 //! @SYMTestCaseID MM-3GP-PARSE-U-0001-CP
35 //! @SYMTestCaseDesc Setup parser to read file by file path
36 //! Pre-Condition A valid mp4/3gp file must be present
37 //! @SYMTestPriority High
38 //! @SYMTestActions Setup parser to open file using different file modes and read file by file path
39 //! @SYMTestExpectedResults File read and complete with no error
40 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0001-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H263-ARMNB
41 END_TESTCASE MM-3GP-PARSE-U-0001-CP
43 START_TESTCASE MM-3GP-PARSE-U-0002-CP
44 //! @SYMTestCaseID MM-3GP-PARSE-U-0002-CP
46 //! @SYMTestCaseDesc Setup parser to use buffer mode
47 //! Pre-Condition A valid mp4/3gp file must be present
48 //! @SYMTestPriority High
49 //! @SYMTestActions Setup parser to open and read file by buffer mode
50 //! @SYMTestExpectedResults File read and complete with no error
51 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0002-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-MP4
52 END_TESTCASE MM-3GP-PARSE-U-0002-CP
54 START_TESTCASE MM-3GP-PARSE-U-0003-CP
55 //! @SYMTestCaseID MM-3GP-PARSE-U-0003-CP
57 //! @SYMTestCaseDesc Setup parser to read file by file handle
58 //! Pre-Condition A valid mp4/3gp file must be present
59 //! @SYMTestPriority High
60 //! @SYMTestActions Setup parser to open file using different file modes and read file by file handle
61 //! @SYMTestExpectedResults File read and complete with no error
62 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0003-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-MP4
63 END_TESTCASE MM-3GP-PARSE-U-0003-CP
65 START_TESTCASE MM-3GP-PARSE-U-0004-CP
66 //! @SYMTestCaseID MM-3GP-PARSE-U-0004-CP
68 //! @SYMTestCaseDesc Setup parser to read file by ContentAccess::CData
69 //! Pre-Condition A valid mp4/3gp file must be present
70 //! @SYMTestPriority High
71 //! @SYMTestActions Setup parser to open and read file by ContentAccess::CData
72 //! @SYMTestExpectedResults File read and complete with no error
73 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0004-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-MP4
74 END_TESTCASE MM-3GP-PARSE-U-0004-CP
76 START_TESTCASE MM-3GP-PARSE-U-0005-CP
77 //! @SYMTestCaseID MM-3GP-PARSE-U-0005-CP
79 //! @SYMTestCaseDesc Retrieve video & audio stream attributes from a mp4/3gp/3g2 file using file mode
80 //! Pre-Condition A valid mp4/3gp file containing both supported audio and video stream (not h263) must be present
81 //! @SYMTestPriority High
82 //! @SYMTestActions Retrieve video & audio stream attributes from a mp4/3gp/3g2 file using file mode
83 - file path / file handle or CAF object.
84 //! @SYMTestExpectedResults File read and complete with no error
85 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0005-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-MP4-MP4
86 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0005-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-MP4
87 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0005-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-H264-WB
88 END_TESTCASE MM-3GP-PARSE-U-0005-CP
90 START_TESTCASE MM-3GP-PARSE-U-0006-CP
91 //! @SYMTestCaseID MM-3GP-PARSE-U-0006-CP
93 //! @SYMTestCaseDesc Retrieve video & audio stream attributes from a mp4/3gp/3g2 file using buffer mode
94 //! Pre-Condition A valid mp4/3gp file containing both supported audio and video stream must be present
95 //! @SYMTestPriority High
96 //! @SYMTestActions Retrieve video & audio stream attributes from a mp4/3gp/3g2 file using buffer mode
97 //! @SYMTestExpectedResults Retrieve video & audio stream attributes with no error
98 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0006-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-MP4-MP4
99 END_TESTCASE MM-3GP-PARSE-U-0006-CP
101 START_TESTCASE MM-3GP-PARSE-U-0007-CP
102 //! @SYMTestCaseID MM-3GP-PARSE-U-0007-CP
104 //! @SYMTestCaseDesc Check if the clip is streamable in file mode
105 //! Pre-Condition A non-streamable mp4/3gp/3g2 file must be present
106 //! @SYMTestPriority High
107 //! @SYMTestActions Check if the clip is streamable in file mode
108 //! @SYMTestExpectedResults Result returned is non-streamable
109 RUN_TEST_STEP !Error=-5 -1 tsu_3gplibrary MM-3GP-PARSE-U-0007-CP c:\mm\tsu_3gp_parse_api_te.ini NON-STREAMABLE
110 END_TESTCASE MM-3GP-PARSE-U-0007-CP
112 START_TESTCASE MM-3GP-PARSE-U-0008-CP
113 //! @SYMTestCaseID MM-3GP-PARSE-U-0008-CP
115 //! @SYMTestCaseDesc Check if the clip is streamable in buffer mode
116 //! Pre-Condition A non-streamable mp4/3gp/3g2 file must be present
117 //! @SYMTestPriority High
118 //! @SYMTestActions Check if the clip is streamable in buffer mode
119 //! @SYMTestExpectedResults Result returned is non-streamable
120 RUN_TEST_STEP !Error=-5 -1 tsu_3gplibrary MM-3GP-PARSE-U-0008-CP c:\mm\tsu_3gp_parse_api_te.ini NON-STREAMABLE
121 END_TESTCASE MM-3GP-PARSE-U-0008-CP
123 START_TESTCASE MM-3GP-PARSE-U-0009-CP
124 //! @SYMTestCaseID MM-3GP-PARSE-U-0009-CP
126 //! @SYMTestCaseDesc Check if the clip is streamable in file mode
127 //! Pre-Condition A streamable mp4/3gp/3g2 file must be present
128 //! @SYMTestPriority High
129 //! @SYMTestActions Check if the clip is streamable in file mode
130 //! @SYMTestExpectedResults Result returned is streamable
131 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0007-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4
132 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0007-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-ONLY
133 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0007-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY
134 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
135 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
136 END_TESTCASE MM-3GP-PARSE-U-0009-CP
138 START_TESTCASE MM-3GP-PARSE-U-0010-CP
139 //! @SYMTestCaseID MM-3GP-PARSE-U-0010-CP
141 //! @SYMTestCaseDesc Check if the clip is streamable in buffer mode
142 //! Pre-Condition A streamable mp4/3gp/3g2 file must be present
143 //! @SYMTestPriority High
144 //! @SYMTestActions Check if the clip is streamable in buffer mode
145 //! @SYMTestExpectedResults Result returned is streamable
146 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0008-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4
147 END_TESTCASE MM-3GP-PARSE-U-0010-CP
149 START_TESTCASE MM-3GP-PARSE-U-0011-CP
150 //! @SYMTestCaseID MM-3GP-PARSE-U-0011-CP
152 //! @SYMTestCaseDesc Retrieve buffered bytes, and video & audio frames synchronously in file mode
153 //! Pre-Condition A valid mp4/3gp file containing both supported audio and video stream must be present
154 //! @SYMTestPriority High
155 //! @SYMTestActions Retrieve buffered bytes, and video & audio frames synchronously in file mode
156 //! @SYMTestExpectedResults Retrieving buffered bytes returns KErrNotSupported. Retrieving audio and video frames with no errors.
157 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0011-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-MP4-MP4
158 END_TESTCASE MM-3GP-PARSE-U-0011-CP
160 START_TESTCASE MM-3GP-PARSE-U-0014-CP
161 //! @SYMTestCaseID MM-3GP-PARSE-U-0014-CP
163 //! @SYMTestCaseDesc Parse video & audio frames from a mp4/3gp file asynchronously
164 //! Pre-Condition A valid mp4/3gp file containing both supported audio and video stream must be present
165 //! @SYMTestPriority High
166 //! @SYMTestActions Parse video & audio frames from a mp4/3gp file asynchronously thru file path, file handle and CAF object.
167 //! @SYMTestExpectedResults All frames retrieved with no error.
168 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0014-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4
169 END_TESTCASE MM-3GP-PARSE-U-0014-CP
171 START_TESTCASE MM-3GP-PARSE-U-0015-CP
172 //! @SYMTestCaseID MM-3GP-PARSE-U-0015-CP
174 //! @SYMTestCaseDesc Parse video & audio frames from a mp4/3gp file synchronously
175 //! Pre-Condition A valid mp4/3gp file containing both supported audio and video stream must be present
176 //! @SYMTestPriority High
177 //! @SYMTestActions Parse video & audio frames from a mp4/3gp file synchronously in buffer mode.
178 //! @SYMTestExpectedResults All frames retrieved with no error.
179 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0015-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4
180 END_TESTCASE MM-3GP-PARSE-U-0015-CP
182 START_TESTCASE MM-3GP-PARSE-U-0016-CP
183 //! @SYMTestCaseID MM-3GP-PARSE-U-0016-CP
185 //! @SYMTestCaseDesc Get frame type
186 //! Pre-Condition Different files which contain different video and different audio types must be present
187 //! @SYMTestPriority High
188 //! @SYMTestActions Get frame type in file path.
189 //! @SYMTestExpectedResults All frame types retrieved with no error.
190 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-ONLY
191 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY
192 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4
193 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-H263-QCEL-MP4
194 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini H263-P3-L15
195 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-H264-MP4
196 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-main-NB
197 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-extended-NB
198 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4
199 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-NONE-WB
200 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H263-ARMNB
201 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-H263-QCEL-MP4
202 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
203 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0016-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-main-ONLY
204 END_TESTCASE MM-3GP-PARSE-U-0016-CP
206 START_TESTCASE MM-3GP-PARSE-U-0017-CP
207 //! @SYMTestCaseID MM-3GP-PARSE-U-0017-CP
209 //! @SYMTestCaseDesc Get the QCELP storage mode
210 //! Pre-Condition A valid mp4/3gp file containing QCELP encoded audio stored using QCELP sample entry
212 //! @SYMTestPriority High
213 //! @SYMTestActions Get the QCELP storage mode in file path and buffer mode.
214 //! @SYMTestExpectedResults The QCELP storage mode retrieved with no error and the mode returned is QCELP sample entry
216 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0017-CP c:\mm\tsu_3gp_parse_api_te.ini H263-QCEL-QCELP
217 END_TESTCASE MM-3GP-PARSE-U-0017-CP
219 START_TESTCASE MM-3GP-PARSE-U-0018-CP
220 //! @SYMTestCaseID MM-3GP-PARSE-U-0018-CP
222 //! @SYMTestCaseDesc Get the QCELP storage mode
223 //! Pre-Condition A valid mp4/3gp file containing QCELP encoded audio stored using MPEG4 sample entry
225 //! @SYMTestPriority High
226 //! @SYMTestActions Get the QCELP storage mode in file path and buffer mode.
227 //! @SYMTestExpectedResults The QCELP storage mode retrieved with no error and the mode returned is MPEG4 sample entry
229 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0017-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-H263-QCEL-MP4
230 END_TESTCASE MM-3GP-PARSE-U-0018-CP
232 START_TESTCASE MM-3GP-PARSE-U-0021-CP
233 //! @SYMTestCaseID MM-3GP-PARSE-U-0021-CP
235 //! @SYMTestCaseDesc Get H263 video leve
236 //! Pre-Condition A valid mp4/3gp file with H263 video source of level X must be present
237 //! @SYMTestPriority High
238 //! @SYMTestActions Get H263 video level in file path and buffer mode.
239 //! @SYMTestExpectedResults test with no error
240 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0021-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-H263-QCEL-MP4
241 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0021-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H263-ARMNB
242 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0021-CP c:\mm\tsu_3gp_parse_api_te.ini H263-P3-L15
243 END_TESTCASE MM-3GP-PARSE-U-0021-CP
245 START_TESTCASE MM-3GP-PARSE-U-0023-CP
246 //! @SYMTestCaseID MM-3GP-PARSE-U-0023-CP
248 //! @SYMTestCaseDesc Read Video and audio Decoder Info size and info
249 //! Pre-Condition A valid mp4/3gp file containing video type of MPEG-4/AVC video and supported audio must be present
250 //! @SYMTestPriority High
251 //! @SYMTestActions Read Video and audio Decoder Info size and info in file path and buffer mode.
252 //! @SYMTestExpectedResults test with no error
253 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0023-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4
254 END_TESTCASE MM-3GP-PARSE-U-0023-CP
256 START_TESTCASE MM-3GP-PARSE-U-0027-CP
257 //! @SYMTestCaseID MM-3GP-PARSE-U-0027-CP
259 //! @SYMTestCaseDesc Seek different position of a video/audio file
260 //! Pre-Condition A valid 3GP/3G2/MP4 file with equal length of audio and video data must be present
261 //! @SYMTestPriority High
262 //! @SYMTestActions Seek different position of a video/audio file
263 //! @SYMTestExpectedResults test with no error
264 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0027-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-SAME-LEN
265 END_TESTCASE MM-3GP-PARSE-U-0027-CP
267 START_TESTCASE MM-3GP-PARSE-U-0028-CP
268 //! @SYMTestCaseID MM-3GP-PARSE-U-0028-CP
270 //! @SYMTestCaseDesc Seek a position after audio stream has been exhausted and there's still video stream left.
271 //! Pre-Condition A valid 3GP/3G2/MP4 file with length of audio is less than length of video data must be present
272 //! @SYMTestPriority High
273 //! @SYMTestActions Seek a position after audio stream has been exhausted and there's still video stream left.
274 //! @SYMTestExpectedResults test with no error
275 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0027-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-VIDEO-MORE
276 END_TESTCASE MM-3GP-PARSE-U-0028-CP
278 START_TESTCASE MM-3GP-PARSE-U-0029-CP
279 //! @SYMTestCaseID MM-3GP-PARSE-U-0029-CP
281 //! @SYMTestCaseDesc Seek a position after video stream has been exhausted and there's still audio stream left.
282 //! Pre-Condition A valid 3GP/3G2/MP4 file with length of audio is greater than length of video data must be present
283 //! @SYMTestPriority High
284 //! @SYMTestActions Seek a position after video stream has been exhausted and there's still audio stream left.
285 //! @SYMTestExpectedResults test with no error
287 // c:\3gplibrary\h264-aac.3gp returns pos both to 0 because used keyframe True and the file without it.
288 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0027-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-MORE
289 END_TESTCASE MM-3GP-PARSE-U-0029-CP
291 START_TESTCASE MM-3GP-PARSE-U-0030-CP
292 //! @SYMTestCaseID MM-3GP-PARSE-U-0030-CP
294 //! @SYMTestCaseDesc Seek different position
295 //! Pre-Condition A valid mp4/3gp file containing only audio/video must be present
296 //! @SYMTestPriority High
297 //! @SYMTestActions Seek different position
298 //! @SYMTestExpectedResults test with no error
299 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0027-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-ONLY
300 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0027-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY
301 END_TESTCASE MM-3GP-PARSE-U-0030-CP
303 START_TESTCASE MM-3GP-PARSE-U-0031-CP
304 //! @SYMTestCaseID MM-3GP-PARSE-U-0031-CP
306 //! @SYMTestCaseDesc Seek positions after any keyframe and immediately after a non-key frame.
307 //! Pre-Condition A valid mp4/3gp file with and without the use of Key frames must be present
308 //! @SYMTestPriority High
309 //! @SYMTestActions Seek positions after any keyframe and immediately after a non-key frame.
310 //! @SYMTestExpectedResults test with no error
311 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0031-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY-KEYFRAME
312 END_TESTCASE MM-3GP-PARSE-U-0031-CP
314 START_TESTCASE MM-3GP-PARSE-U-0032-CP
315 //! @SYMTestCaseID MM-3GP-PARSE-U-0032-CP
317 //! @SYMTestCaseDesc Check frame availability
318 //! Pre-Condition Valid mp4/3gp files with no video, no audio, audio only, video only, and with audio and video must be present
319 //! @SYMTestPriority High
320 //! @SYMTestActions Check frame availability of different files.
321 //! @SYMTestExpectedResults test with no error
322 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0032-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-NO-A-V
323 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0032-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-ONLY
324 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0032-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY
325 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0032-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-VIDEO-MORE
326 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0032-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4
327 END_TESTCASE MM-3GP-PARSE-U-0032-CP
329 START_TESTCASE MM-3GP-PARSE-U-0033-CP
330 //! @SYMTestCaseID MM-3GP-PARSE-U-0033-CP
332 //! @SYMTestCaseDesc Retrieve video frame size & start time without parsing the content file frame by frame
333 //! Pre-Condition A valid mp4/3gp file with at least video data must be present
334 //! @SYMTestPriority High
335 //! @SYMTestActions Retrieve video frame size & start time without parsing the content file frame by frame in file mode
336 //! @SYMTestExpectedResults test with no error
337 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0033-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY-KEYFRAME
338 END_TESTCASE MM-3GP-PARSE-U-0033-CP
340 START_TESTCASE MM-3GP-PARSE-U-0034-CP
341 //! @SYMTestCaseID MM-3GP-PARSE-U-0034-CP
343 //! @SYMTestCaseDesc Retrieve video frame size & start time without parsing the content file frame by frame
344 //! Pre-Condition A valid mp4/3gp file with at least video data must be present
345 //! @SYMTestPriority High
346 //! @SYMTestActions Retrieve video frame size & start time without parsing the content file frame by frame in buffer mode
347 //! @SYMTestExpectedResults test with no error
348 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0034-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY-KEYFRAME
349 END_TESTCASE MM-3GP-PARSE-U-0034-CP
351 START_TESTCASE MM-3GP-PARSE-U-0035-CP
352 //! @SYMTestCaseID MM-3GP-PARSE-U-0035-CP
354 //! @SYMTestCaseDesc Retrieve user atoms
355 //! Pre-Condition A valid mp4/3gp file containing user atoms in all the possible locations: movie, video
356 & audio and multiple entries of the same user atom type within a user atom must be present
357 //! @SYMTestPriority High
358 //! @SYMTestActions Retrieve user atoms in all the possible locations and check the index values
359 //! @SYMTestExpectedResults test with no error
360 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0035-CP c:\mm\tsu_3gp_parse_api_te.ini USER-ATOM-ALL
361 END_TESTCASE MM-3GP-PARSE-U-0035-CP
363 START_TESTCASE MM-3GP-PARSE-U-0037-CP
364 //! @SYMTestCaseID MM-3GP-PARSE-U-0037-CP
366 //! @SYMTestCaseDesc Retrieve video frame dependencies
367 //! Pre-Condition A valid mp4/3gp file with/without AVC video stream must be present
368 //! @SYMTestPriority High
369 //! @SYMTestActions Retrieve video frame dependencies
370 //! @SYMTestExpectedResults test with no error
371 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0037-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4
372 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0037-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H263-ARMNB
373 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0037-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-DEP1
374 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0037-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-DEP2
375 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0037-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-DEP3
376 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0037-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-DEP4
377 END_TESTCASE MM-3GP-PARSE-U-0037-CP
379 START_TESTCASE MM-3GP-PARSE-U-0038-CP
380 //! @SYMTestCaseID MM-3GP-PARSE-U-0038-CP
382 //! @SYMTestCaseDesc Get Video Frame Properties
383 //! Pre-Condition A valid mp4/3gp file with AVC video stream must be present
384 //! @SYMTestPriority High
385 //! @SYMTestActions Get Video Frame Properties with at least video data
386 //! @SYMTestExpectedResults test with no error
387 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0038-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4
388 END_TESTCASE MM-3GP-PARSE-U-0038-CP
390 START_TESTCASE MM-3GP-PARSE-U-0039-CP
391 //! @SYMTestCaseID MM-3GP-PARSE-U-0039-CP
393 //! @SYMTestCaseDesc retrieve video / audio frame data
394 //! Pre-Condition A valid mp4/3gp file containing supported audio and video data must be present
395 //! @SYMTestPriority High
396 //! @SYMTestActions Read a audio and a video frame into a buffer of filled with junk content and
397 ensure the buffer gets properly reset when retrieve video / audio frame data.
398 //! @SYMTestExpectedResults test with no error
399 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0039-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4
400 END_TESTCASE MM-3GP-PARSE-U-0039-CP
402 START_TESTCASE MM-3GP-PARSE-U-0041-CP
403 //! @SYMTestCaseID MM-3GP-PARSE-U-0041-CP
405 //! @SYMTestCaseDesc Multiple parser working simultaneously.
406 //! Pre-Condition Valid mp4/3gp files containing supported audio and video and audio only data must be present
407 //! @SYMTestPriority High
408 //! @SYMTestActions Multiple parser working simultaneously.
409 //! @SYMTestExpectedResults test with no error
410 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0041-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-MP4-MP4
411 END_TESTCASE MM-3GP-PARSE-U-0041-CP
413 START_TESTCASE MM-3GP-PARSE-U-0043-CP
414 //! @SYMTestCaseID MM-3GP-PARSE-U-0043-CP
416 //! @SYMTestCaseDesc Seek position in buffer mode
417 //! Pre-Condition A valid mp4/3gp file must be present
418 //! @SYMTestPriority High
419 //! @SYMTestActions Seek position in buffer mode.
420 //! @SYMTestExpectedResults Test returns with no error.
421 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0043-CP c:\mm\tsu_3gp_parse_api_te.ini 3G2-MP4-MP4
422 END_TESTCASE MM-3GP-PARSE-U-0043-CP
424 START_TESTCASE MM-3GP-PARSE-U-0044-CP
425 //! @SYMTestCaseID MM-3GP-PARSE-U-0044-CP
427 //! @SYMTestCaseDesc Retrieval of user data atom
428 //! Pre-Condition A valid mp4/3gp file must be present
429 //! @SYMTestPriority High
430 //! @SYMTestActions 1. Retrieve user data atom with multiple entries all of the same type
431 //! 2. Retrieve user data atom with multiple entries of the same type and some other types
432 //! 3. Retrieve user data atom with no entries of the specified type but with entries of some other types
433 //! @SYMTestExpectedResults Test returns with no error.
434 RUN_TEST_STEP -1 tsu_3gplibrary UserDataAtomRetrieval c:\mm\tsu_3gp_parse_api_te.ini MM-3GP-PARSE-U-0044-CP-1
435 RUN_TEST_STEP -1 tsu_3gplibrary UserDataAtomRetrieval c:\mm\tsu_3gp_parse_api_te.ini MM-3GP-PARSE-U-0044-CP-2
436 RUN_TEST_STEP -1 tsu_3gplibrary UserDataAtomRetrieval c:\mm\tsu_3gp_parse_api_te.ini MM-3GP-PARSE-U-0044-CP-3
437 END_TESTCASE MM-3GP-PARSE-U-0044-CP
439 START_TESTCASE MM-3GP-PARSE-U-0133-CP
440 //! @SYMTestCaseID MM-3GP-PARSE-U-0133-CP
442 //! @SYMTestCaseDesc Check frame availability
443 //! Pre-Condition Valid mp4/3gp file with avc profile main/extended video must be present
444 //! @SYMTestPriority High
445 //! @SYMTestActions Check frame availability of the file.
446 //! @SYMTestExpectedResults Test returns with no error.
447 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0032-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-main-NB
448 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0032-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-extended-NB
449 END_TESTCASE MM-3GP-PARSE-U-0133-CP
451 START_TESTCASE MM-3GP-PARSE-U-0134-CP
452 //! @SYMTestCaseID MM-3GP-PARSE-U-0134-CP
454 //! @SYMTestCaseDesc Retrieve video frame size without parsing the content file frame by frame
455 //! Pre-Condition A valid mp4/3gp file with avc profile main/extended video data which must be present.
456 //! @SYMTestPriority High
457 //! @SYMTestActions Retrieve video frame size without parsing the content file frame by frame in buffer mode
458 //! @SYMTestExpectedResults Test returns with no error.
459 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0034-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-main-NB
460 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0034-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-extended-NB
461 END_TESTCASE MM-3GP-PARSE-U-0134-CP
463 // end of positive testing
467 START_TESTCASE MM-3GP-PARSE-U-0101-CP
469 //! @SYMTestCaseID MM-3GP-PARSE-U-0101-CP
471 //! @SYMTestCaseDesc Create 3GP Parser to read zero size file content and call all APIs.
472 //! Pre-Condition A zero size file must be present
473 //! @SYMTestPriority High
474 //! @SYMTestActions Create 3GP Parser to read zero size file content, read file again
475 when it is in used and call all APIs.
476 //! @SYMTestExpectedResults All calls to retrieve video clip properties, video and/or audio
477 source & properties should fail with KErrCorrupt. Calling parser open when it is in used, should fail with KErrInUse.
478 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0101-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-EMPTY
479 END_TESTCASE MM-3GP-PARSE-U-0101-CP
481 START_TESTCASE MM-3GP-PARSE-U-0102-CP
482 //! @SYMTestCaseID MM-3GP-PARSE-U-0102-CP
484 //! @SYMTestCaseDesc Initialise a 3GP file parse with an empty filename and file path pointing at non-existent files.
485 //! @SYMTestPriority High
486 //! @SYMTestActions Initialise a 3GP file parse with an empty filename and file path pointing at non-existent files.
487 //! @SYMTestExpectedResults Setup fails with error KErrUnderflow with an empty file name, KErrAccessDenied when
488 file path pointing at non-existent files.
489 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0102-CP
490 END_TESTCASE MM-3GP-PARSE-U-0102-CP
492 START_TESTCASE MM-3GP-PARSE-U-0104-CP
493 //! @SYMTestCaseID MM-3GP-PARSE-U-0104-CP
495 //! @SYMTestCaseDesc Create parser by passing in a file path of a file already opened in EFileShareExclusive mode.
496 //! Pre-Condition Any file.
497 //! @SYMTestPriority High
498 //! @SYMTestActions Create parser by passing in a file path of a file already opened in EFileShareExclusive mode.
499 //! @SYMTestExpectedResults Setup fails with KErrAccessDenied.
500 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0104-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-MP4
501 END_TESTCASE MM-3GP-PARSE-U-0104-CP
503 START_TESTCASE MM-3GP-PARSE-U-0106-CP
504 //! @SYMTestCaseID MM-3GP-PARSE-U-0106-CP
506 //! @SYMTestCaseDesc Use 3GP Parser to parse file before it has been setup.
507 //! Pre-Condition Any file.
508 //! @SYMTestPriority High
509 //! @SYMTestActions Instantiate a 3GP Parser and call all the Parser API except Close & Open
510 //! @SYMTestExpectedResults Test fails with KErrNotReady.
511 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0106-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H264-MP4
512 END_TESTCASE MM-3GP-PARSE-U-0106-CP
514 START_TESTCASE MM-3GP-PARSE-U-0107-CP
515 //! @SYMTestCaseID MM-3GP-PARSE-U-0107-CP
517 //! @SYMTestCaseDesc Use invalid frame type for all frame type API.
518 //! Pre-Condition A valid mp4/3gp file with supported audio and video stream must be present
519 //! @SYMTestPriority High
520 //! @SYMTestActions Instantiate a 3GP Parser and Call all Parser API that get frame type.
521 //! @SYMTestExpectedResults Test with no error.
522 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0107-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-VIDEO-MORE
523 END_TESTCASE MM-3GP-PARSE-U-0107-CP
525 START_TESTCASE MM-3GP-PARSE-U-0108-CP
526 //! @SYMTestCaseID MM-3GP-PARSE-U-0108-CP
528 //! @SYMTestCaseDesc Use invalid frame index for video frame APIs and Get video frame properties for more
529 than the total number of video frames in the video clip
530 //! Pre-Condition A valid mp4/3gp file with supported video/audio stream must be present
531 //! @SYMTestPriority High
532 //! @SYMTestActions Use invalid frame index for video frame APIs and Get video frame properties for more
533 than the total number of video frames in the video clip
534 //! @SYMTestExpectedResults All APIs returns with KErrGeneral.
535 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0108-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY-KEYFRAME
536 END_TESTCASE MM-3GP-PARSE-U-0108-CP
538 START_TESTCASE MM-3GP-PARSE-U-0109-CP
539 //! @SYMTestCaseID MM-3GP-PARSE-U-0109-CP
541 //! @SYMTestCaseDesc Use invalid frame type for all frame type APIs.
542 //! Pre-Condition A valid mp4/3gp file with supported audio and video stream must be present
543 //! @SYMTestPriority High
544 //! @SYMTestActions Instantiate a 3GP Parser and Call all Parser APIs that use frame type as
545 input parameter with invalid frame types
546 //! @SYMTestExpectedResults Panic with KErrArgument.
547 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
548 END_TESTCASE MM-3GP-PARSE-U-0109-CP
550 START_TESTCASE MM-3GP-PARSE-U-0110-CP
551 //! @SYMTestCaseID MM-3GP-PARSE-U-0110-CP
553 //! @SYMTestCaseDesc Get user data atom by passing in an invalid user atom location.
554 //! Pre-Condition A valid mp4/3gp file with supported audio and video stream must be present
555 //! @SYMTestPriority High
556 //! @SYMTestActions Instantiate a 3GP Parser and Get user data atom by passing in an invalid user atom location.
557 //! @SYMTestExpectedResults Panic with KErrArgument.
558 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
559 END_TESTCASE MM-3GP-PARSE-U-0110-CP
561 START_TESTCASE MM-3GP-PARSE-U-0111-CP
562 //! @SYMTestCaseID MM-3GP-PARSE-U-0111-CP
564 //! @SYMTestCaseDesc Retrieve video related information in an audio-only mp4/3gp file.
565 //! Pre-Condition A valid mp4/3gp file with only supported audio stream must be present
566 //! @SYMTestPriority High
567 //! @SYMTestActions Retrieve video related information in an audio-only mp4/3gp file.
568 //! @SYMTestExpectedResults Test Step 1 should fail with KErrNotSupported. Test Step 2 completes with no error.
569 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0111-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-ONLY
570 RUN_TEST_STEP -1 tsu_3gplibrary 3GPSingleDataSourceTest c:\mm\tsu_3gp_parse_api_te.ini MM-3GP-PARSE-U-0111-CP-2
571 END_TESTCASE MM-3GP-PARSE-U-0111-CP
573 START_TESTCASE MM-3GP-PARSE-U-0112-CP
574 //! @SYMTestCaseID MM-3GP-PARSE-U-0112-CP
576 //! @SYMTestCaseDesc Retrieve audio related information in a video-only mp4/3gp file.
577 //! Pre-Condition A valid mp4/3gp file with only supported video stream must be present
578 //! @SYMTestPriority High
579 //! @SYMTestActions Retrieve audio related information in a video-only mp4/3gp file.
580 //! @SYMTestExpectedResults Test Step 1 should fail with KErrNotSupported. Test Step 2 completes with no error.
581 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0111-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY
582 RUN_TEST_STEP -1 tsu_3gplibrary 3GPSingleDataSourceTest c:\mm\tsu_3gp_parse_api_te.ini MM-3GP-PARSE-U-0112-CP-2
583 END_TESTCASE MM-3GP-PARSE-U-0112-CP
585 START_TESTCASE MM-3GP-PARSE-U-0113-CP
586 //! @SYMTestCaseID MM-3GP-PARSE-U-0113-CP
588 //! @SYMTestCaseDesc Call all parser API in a mp4/3gp file with no audio nor video.
589 //! Pre-Condition A valid mp4/3gp file with no audio nor video must be present
590 //! @SYMTestPriority High
591 //! @SYMTestActions Call all parser API in a mp4/3gp file with no audio nor video.
592 //! @SYMTestExpectedResults Test fails with KErrNotSupported for all audio and video related API, KErrGeneral for others.
593 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0111-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-NO-A-V
594 END_TESTCASE MM-3GP-PARSE-U-0113-CP
596 START_TESTCASE MM-3GP-PARSE-U-0115-CP
597 //! @SYMTestCaseID MM-3GP-PARSE-U-0115-CP
599 //! @SYMTestCaseDesc Parse file of unsupported file format (WMA) and attempt to retrieve audio/video information.
600 //! Pre-Condition A valid WMA must be present
601 //! @SYMTestPriority High
602 //! @SYMTestActions Retrieve audio and video attributes.
603 //! @SYMTestExpectedResults test fails with KErrCorrupt.
604 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0111-CP c:\mm\tsu_3gp_parse_api_te.ini WMA
605 END_TESTCASE MM-3GP-PARSE-U-0115-CP
607 START_TESTCASE MM-3GP-PARSE-U-0116-CP
608 //! @SYMTestCaseID MM-3GP-PARSE-U-0116-CP
610 //! @SYMTestCaseDesc Parse file of supported file format and unsupported video stream.
611 //! Pre-Condition A file of supported file format and unsupported video stream must be present
612 //! @SYMTestPriority High
613 //! @SYMTestActions Retrieve video attributes.
614 //! @SYMTestExpectedResults Test fails with KErrNotSupported.
615 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0111-CP c:\mm\tsu_3gp_parse_api_te.ini UNSUPPORTED-VIDEO
616 END_TESTCASE MM-3GP-PARSE-U-0116-CP
618 START_TESTCASE MM-3GP-PARSE-U-0117-CP
619 //! @SYMTestCaseID MM-3GP-PARSE-U-0117-CP
621 //! @SYMTestCaseDesc Parse file of supported file format and unsupported audio stream
622 //! Pre-Condition A file of supported file format and unsupported audio stream must be present
623 //! @SYMTestPriority High
624 //! @SYMTestActions Retrieve audio attributes.
625 //! @SYMTestExpectedResults Test fails with KErrNotSupported.
626 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0111-CP c:\mm\tsu_3gp_parse_api_te.ini UNSUPORTED-AUDIO-STREAM
627 END_TESTCASE MM-3GP-PARSE-U-0117-CP
629 START_TESTCASE MM-3GP-PARSE-U-0118-CP
630 //! @SYMTestCaseID MM-3GP-PARSE-U-0118-CP
632 //! @SYMTestCaseDesc Parse file.
633 //! Pre-Condition A file of supported file format and audio/video streams but with mis-matching file extension must be present
634 //! @SYMTestPriority High
635 //! @SYMTestActions Parse file.
636 //! @SYMTestExpectedResults Test with no error.
637 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0111-CP c:\mm\tsu_3gp_parse_api_te.ini MISMATCHED
638 END_TESTCASE MM-3GP-PARSE-U-0118-CP
640 START_TESTCASE MM-3GP-PARSE-U-0119-CP
641 //! @SYMTestCaseID MM-3GP-PARSE-U-0119-CP
643 //! @SYMTestCaseDesc Seek position of a file with no audio nor video.
644 //! Pre-Condition A file with no audio nor video must be present
645 //! @SYMTestPriority High
646 //! @SYMTestActions Seek position of a file with no audio nor video.
647 //! @SYMTestExpectedResults Test fails with KErrGeneral.
648 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0119-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-NO-A-V
649 END_TESTCASE MM-3GP-PARSE-U-0119-CP
651 START_TESTCASE MM-3GP-PARSE-U-0120-CP
652 //! @SYMTestCaseID MM-3GP-PARSE-U-0120-CP
654 //! @SYMTestCaseDesc Read Video Decoder Info.
655 //! Pre-Condition A valid mp4/3gp/3g2 file containing H263 video must be present
656 //! @SYMTestPriority High
657 //! @SYMTestActions Read Video Decoder Info.
658 //! @SYMTestExpectedResults Expect Read Video Decoder Info fails with KErrNotSupported.
660 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0120-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H263-ARMNB
661 END_TESTCASE MM-3GP-PARSE-U-0120-CP
663 START_TESTCASE MM-3GP-PARSE-U-0122-CP
664 //! @SYMTestCaseID MM-3GP-PARSE-U-0122-CP
666 //! @SYMTestCaseDesc Retrieve user atoms
667 //! Pre-Condition A valid mp4/3gp file containing user atoms only in location movie must be present/ no user atom
668 //! @SYMTestPriority High
669 //! @SYMTestActions Retrieve user atoms
670 //! @SYMTestExpectedResults Test fails with KErrNotFound.
671 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
672 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
673 END_TESTCASE MM-3GP-PARSE-U-0122-CP
675 START_TESTCASE MM-3GP-PARSE-U-0124-CP
676 //! @SYMTestCaseID MM-3GP-PARSE-U-0124-CP
678 //! @SYMTestCaseDesc Seek to an invalid position of the file.
679 //! Pre-Condition A valid mp4/3gp/3g2 file with both audio and video must be present
680 //! @SYMTestPriority High
681 //! @SYMTestActions Seek to an invalid position of the file.
682 //! @SYMTestExpectedResults Test with no error.
683 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0119-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-H263-ARMNB
684 END_TESTCASE MM-3GP-PARSE-U-0124-CP
686 START_TESTCASE MM-3GP-PARSE-U-0125-CP
687 //! @SYMTestCaseID MM-3GP-PARSE-U-0125-CP
689 //! @SYMTestCaseDesc Seek to an invalid position of the file.
690 //! Pre-Condition A valid mp4/3gp/3g2 file with audio or video only must be present
691 //! @SYMTestPriority High
692 //! @SYMTestActions Seek to an invalid position of the file.
693 //! @SYMTestExpectedResults Test with no error.
694 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0119-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-ONLY
695 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0119-CP c:\mm\tsu_3gp_parse_api_te.ini MP4-VIDEO-ONLY
696 END_TESTCASE MM-3GP-PARSE-U-0125-CP
698 START_TESTCASE MM-3GP-PARSE-U-0126-CP
699 //! @SYMTestCaseID MM-3GP-PARSE-U-0126-CP
701 //! @SYMTestCaseDesc Instantiate parser with read buffer size < 0.
702 //! Pre-Condition A valid mp4/3gp file with supported audio and video stream must be present
703 //! @SYMTestPriority High
704 //! @SYMTestActions Instantiate parser with read buffer size < 0.
705 //! @SYMTestExpectedResults Panic with KErrArgument.
706 RUN_PANIC_STEP_RESULT -6 C3GPParse -1 tsu_3gplibrary MM-3GP-PARSE-U-0126-CP
707 END_TESTCASE MM-3GP-PARSE-U-0126-CP
709 START_TESTCASE MM-3GP-PARSE-U-0127-CP
710 //! @SYMTestCaseID MM-3GP-PARSE-U-0127-CP
712 //! @SYMTestCaseDesc Retrieve video and audio info using empty buffer for all buffer related API.
713 //! Pre-Condition A valid mp4/3gp/3g2 file with audio or video must be present
714 //! @SYMTestPriority High
715 //! @SYMTestActions Retrieve video and audio info using empty buffer for all buffer related API.
716 //! @SYMTestExpectedResults Test fails with KErrOverflow except InsertData fails with KErrUnderflow.
717 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0127-CP c:\mm\tsu_3gp_parse_api_te.ini USER-ATOM-ALL
718 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0127-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-AUDIO-MORE
719 END_TESTCASE MM-3GP-PARSE-U-0127-CP
721 START_TESTCASE MM-3GP-PARSE-U-0129-CP
722 //! @SYMTestCaseID MM-3GP-PARSE-U-0129-CP
724 //! @SYMTestCaseDesc Get H263 video leve
725 //! Pre-Condition A valid mp4/3gp file without H263 video source/an invalid file must be present
726 //! @SYMTestPriority High
727 //! @SYMTestActions Get H263 video leve in file path and buffer mode.
728 //! @SYMTestExpectedResults test failed with KErrNotSupported.
729 RUN_TEST_STEP !Error=-5 -1 tsu_3gplibrary MM-3GP-PARSE-U-0021-CP c:\mm\tsu_3gp_parse_api_te.ini UNSUPPORTED-VIDEO
730 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
731 END_TESTCASE MM-3GP-PARSE-U-0129-CP
733 START_TESTCASE MM-3GP-PARSE-U-0130-CP
734 //! @SYMTestCaseID MM-3GP-PARSE-U-0130-CP
736 //! @SYMTestCaseDesc Async read before the parser has been setup.
737 //! Pre-Condition A valid mp4/3gp/3g2 file must be present
738 //! @SYMTestPriority High
739 //! @SYMTestActions Without open parser, do Async read for both audio and video. Should fail with KErrNotReady.
740 //! @SYMTestExpectedResults Test fails with expected results.
741 RUN_TEST_STEP -1 tsu_3gplibrary MM-3GP-PARSE-U-0130-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-EMPTY
742 END_TESTCASE MM-3GP-PARSE-U-0130-CP
744 START_TESTCASE MM-3GP-PARSE-U-0131-CP
745 //! @SYMTestCaseID MM-3GP-PARSE-U-0131-CP
747 //! @SYMTestCaseDesc Async read negative test after the parser has been setup.
748 //! Pre-Condition N/A
749 //! @SYMTestPriority High
750 //! @SYMTestActions Open parser with an empty file and do Async read for both audio and video, both of them
751 should fail with KErrCorrupt; Open parser with an valid 3gp file without audio nor video, do Async read for both
752 audio and video, both of them should fail with KErrNotSupported; open parser with an audio only file, and do Async video
753 read or Open parser with a video only file, and do Async audio read , Should fail with KErrNotSupported.
754 //! @SYMTestExpectedResults Test fails with expected results.
755 RUN_TEST_STEP !Error=-20 -1 tsu_3gplibrary MM-3GP-PARSE-U-0131-CP c:\mm\tsu_3gp_parse_api_te.ini 3GP-EMPTY
756 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
757 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
758 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
759 END_TESTCASE MM-3GP-PARSE-U-0131-CP
761 START_TESTCASE MM-3GP-PARSE-U-0132-CP
762 //! @SYMTestCaseID MM-3GP-PARSE-U-0132-CP
764 //! @SYMTestCaseDesc Get the QCELP storage mode when the file is not of QCELP info
765 //! Pre-Condition A valid mp4/3gp file without containing QCELP encoded audio stored must be present
766 //! @SYMTestPriority High
767 //! @SYMTestActions Get the QCELP storage mode in file and buffer mode.
768 //! @SYMTestExpectedResults The QCELP storage mode retrieved returns KErrNotSupported
769 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
770 END_TESTCASE MM-3GP-PARSE-U-0132-CP
772 START_TESTCASE MM-3GP-PARSE-U-0135-CP
773 //! @SYMTestCaseID MM-3GP-PARSE-U-0135-CP
775 //! @SYMTestCaseDesc Get frame type
776 //! Pre-Condition Different files which contain audio or video or both must be present
777 //! @SYMTestPriority High
778 //! @SYMTestActions Get frame type when the frames have been read in file path.
779 //! @SYMTestExpectedResults Test fails with KErrNotFound.
780 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
781 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
782 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
783 END_TESTCASE MM-3GP-PARSE-U-0135-CP
785 START_TESTCASE MM-3GP-PARSE-U-0136-CP
786 //! @SYMTestCaseID MM-3GP-PARSE-U-0136-CP
788 //! @SYMTestCaseDesc Async read of video / audio frame when the parser is in buffer mode.
789 //! Pre-Condition File with audio & video.
790 //! @SYMTestPriority High
791 //! @SYMTestActions 1. Setup a 3GP Parser object in buffer mode supplied with a 3GP/MP4/3G2 file with both audio & video.
792 //! 2. Attempt to read a video frame asynchronously.
793 //! 3. Attempt to read a audio frame asynchronously.
794 //! @SYMTestExpectedResults Both async read attempt should fail with KErrAccessDenied.
795 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
796 END_TESTCASE MM-3GP-PARSE-U-0136-CP
798 // End of negative tests