• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "gtest/gtest.h"
17 
18 #include "native_avcodec_base.h"
19 #include "native_avdemuxer.h"
20 #include "native_avformat.h"
21 #include "native_avsource.h"
22 #include "native_avmemory.h"
23 
24 #include <iostream>
25 #include <cstdio>
26 #include <string>
27 #include <fcntl.h>
28 #include <cmath>
29 #include <thread>
30 #include <random>
31 namespace OHOS {
32 namespace Media {
33 class DemuxerRandomSeekNdkTest : public testing::Test {
34 public:
35     // SetUpTestCase: Called before all test cases
36     static void SetUpTestCase(void);
37     // TearDownTestCase: Called after all test case
38     static void TearDownTestCase(void);
39     // SetUp: Called before each test cases
40     void SetUp(void);
41     // TearDown: Called after each test cases
42     void TearDown(void);
43 };
44 
45 static OH_AVMemory *memory = nullptr;
46 static OH_AVSource *source = nullptr;
47 static OH_AVDemuxer *demuxer = nullptr;
48 static OH_AVFormat *sourceFormat = nullptr;
49 static OH_AVFormat *trackFormat = nullptr;
50 static OH_AVBuffer *avBuffer = nullptr;
51 static OH_AVFormat *format = nullptr;
52 static int32_t g_trackCount;
53 static int32_t g_width = 3840;
54 static int32_t g_height = 2160;
55 constexpr int32_t THOUSAND = 1000.0;
56 constexpr int32_t SEEKTIMES = 10;
SetUpTestCase()57 void DemuxerRandomSeekNdkTest::SetUpTestCase() {}
TearDownTestCase()58 void DemuxerRandomSeekNdkTest::TearDownTestCase() {}
SetUp()59 void DemuxerRandomSeekNdkTest::SetUp()
60 {
61     memory = OH_AVMemory_Create(g_width * g_height);
62     g_trackCount = 0;
63 }
TearDown()64 void DemuxerRandomSeekNdkTest::TearDown()
65 {
66     if (trackFormat != nullptr) {
67         OH_AVFormat_Destroy(trackFormat);
68         trackFormat = nullptr;
69     }
70 
71     if (sourceFormat != nullptr) {
72         OH_AVFormat_Destroy(sourceFormat);
73         sourceFormat = nullptr;
74     }
75     if (format != nullptr) {
76         OH_AVFormat_Destroy(format);
77         format = nullptr;
78     }
79 
80     if (memory != nullptr) {
81         OH_AVMemory_Destroy(memory);
82         memory = nullptr;
83     }
84     if (source != nullptr) {
85         OH_AVSource_Destroy(source);
86         source = nullptr;
87     }
88     if (demuxer != nullptr) {
89         OH_AVDemuxer_Destroy(demuxer);
90         demuxer = nullptr;
91     }
92     if (avBuffer != nullptr) {
93         OH_AVBuffer_Destroy(avBuffer);
94         avBuffer = nullptr;
95     }
96 }
97 } // namespace Media
98 } // namespace OHOS
99 
100 using namespace std;
101 using namespace OHOS;
102 using namespace OHOS::Media;
103 using namespace testing::ext;
104 std::random_device rd;
105 
GetFileSize(const char * fileName)106 static int64_t GetFileSize(const char *fileName)
107 {
108     int64_t fileSize = 0;
109     if (fileName != nullptr) {
110         struct stat fileStatus {};
111         if (stat(fileName, &fileStatus) == 0) {
112             fileSize = static_cast<int64_t>(fileStatus.st_size);
113         }
114     }
115     return fileSize;
116 }
117 
CheckSeekResult(const char * fileName,uint32_t seekCount)118 static void CheckSeekResult(const char *fileName, uint32_t seekCount)
119 {
120     int64_t duration = 0;
121     OH_AVCodecBufferAttr attr;
122     int fd = open(fileName, O_RDONLY);
123     int64_t size = GetFileSize(fileName);
124     cout << fileName << "-------" << fd << "-------" << size << endl;
125     source = OH_AVSource_CreateWithFD(fd, 0, size);
126     ASSERT_NE(source, nullptr);
127     demuxer = OH_AVDemuxer_CreateWithSource(source);
128     ASSERT_NE(demuxer, nullptr);
129     sourceFormat = OH_AVSource_GetSourceFormat(source);
130     ASSERT_NE(sourceFormat, nullptr);
131     ASSERT_TRUE(OH_AVFormat_GetIntValue(sourceFormat, OH_MD_KEY_TRACK_COUNT, &g_trackCount));
132     cout << "g_trackCount----" << g_trackCount << endl;
133     ASSERT_TRUE(OH_AVFormat_GetLongValue(sourceFormat, OH_MD_KEY_DURATION, &duration));
134     cout << "duration----" << duration << endl;
135     srand(time(NULL));
136     for (int32_t index = 0; index < g_trackCount; index++) {
137         ASSERT_EQ(AV_ERR_OK, OH_AVDemuxer_SelectTrackByID(demuxer, index));
138         for (int32_t i = 0; i < seekCount; i++) {
139             if (duration != 0) {
140                 ASSERT_EQ(AV_ERR_OK, OH_AVDemuxer_SeekToTime(demuxer, (rd() % duration) / THOUSAND,
141                 (OH_AVSeekMode)((rd() % 1) +1)));
142             }
143             ASSERT_EQ(AV_ERR_OK, OH_AVDemuxer_ReadSample(demuxer, index, memory, &attr));
144         }
145     }
146     close(fd);
147 }
148 
149 /**
150  * @tc.number    : DEMUXER_RANDOM_SEEK_0001
151  * @tc.name      : demuxer random seek, 01_video_audio.mp4
152  * @tc.desc      : function test
153  */
154 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0001, TestSize.Level0)
155 {
156     CheckSeekResult("/data/test/media/01_video_audio.mp4", SEEKTIMES);
157 }
158 
159 /**
160  * @tc.number    : DEMUXER_RANDOM_SEEK_0002
161  * @tc.name      : demuxer random seek, avc_mp3.flv
162  * @tc.desc      : function test
163  */
164 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0002, TestSize.Level0)
165 {
166     CheckSeekResult("/data/test/media/avc_mp3.flv", SEEKTIMES);
167 }
168 
169 /**
170  * @tc.number    : DEMUXER_RANDOM_SEEK_0003
171  * @tc.name      : demuxer random seek, avc_mp3_error.flv
172  * @tc.desc      : function test
173  */
174 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0003, TestSize.Level2)
175 {
176     CheckSeekResult("/data/test/media/avc_mp3_error.flv", SEEKTIMES);
177 }
178 
179 /**
180  * @tc.number    : DEMUXER_RANDOM_SEEK_0004
181  * @tc.name      : demuxer random seek, avcc_10sec.mp4
182  * @tc.desc      : function test
183  */
184 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0004, TestSize.Level2)
185 {
186     CheckSeekResult("/data/test/media/avcc_10sec.mp4", SEEKTIMES);
187 }
188 
189 /**
190  * @tc.number    : DEMUXER_RANDOM_SEEK_0005
191  * @tc.name      : demuxer random seek, demuxer_parser_2_layer_frame_avc.mp4
192  * @tc.desc      : function test
193  */
194 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0005, TestSize.Level0)
195 {
196     CheckSeekResult("/data/test/media/demuxer_parser_2_layer_frame_avc.mp4", SEEKTIMES);
197 }
198 
199 /**
200  * @tc.number    : DEMUXER_RANDOM_SEEK_0006
201  * @tc.name      : demuxer random seek, demuxer_parser_2_layer_frame_hevc.mp4
202  * @tc.desc      : function test
203  */
204 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0006, TestSize.Level2)
205 {
206     CheckSeekResult("/data/test/media/demuxer_parser_2_layer_frame_hevc.mp4", SEEKTIMES);
207 }
208 
209 /**
210  * @tc.number    : DEMUXER_RANDOM_SEEK_0007
211  * @tc.name      : demuxer random seek, demuxer_parser_3_layer_frame_avc.mp4
212  * @tc.desc      : function test
213  */
214 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0007, TestSize.Level2)
215 {
216     CheckSeekResult("/data/test/media/demuxer_parser_3_layer_frame_avc.mp4", SEEKTIMES);
217 }
218 
219 /**
220  * @tc.number    : DEMUXER_RANDOM_SEEK_0008
221  * @tc.name      : demuxer random seek, demuxer_parser_3_layer_frame_hevc.mp4
222  * @tc.desc      : function test
223  */
224 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0008, TestSize.Level2)
225 {
226     CheckSeekResult("/data/test/media/demuxer_parser_3_layer_frame_hevc.mp4", SEEKTIMES);
227 }
228 
229 /**
230  * @tc.number    : DEMUXER_RANDOM_SEEK_0009
231  * @tc.name      : demuxer random seek, demuxer_parser_4_layer_frame_avc.mp4
232  * @tc.desc      : function test
233  */
234 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0009, TestSize.Level2)
235 {
236     CheckSeekResult("/data/test/media/demuxer_parser_4_layer_frame_avc.mp4", SEEKTIMES);
237 }
238 
239 /**
240  * @tc.number    : DEMUXER_RANDOM_SEEK_0010
241  * @tc.name      : demuxer random seek, demuxer_parser_4_layer_frame_hevc.mp4
242  * @tc.desc      : function test
243  */
244 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0010, TestSize.Level2)
245 {
246     CheckSeekResult("/data/test/media/demuxer_parser_4_layer_frame_hevc.mp4", SEEKTIMES);
247 }
248 
249 /**
250  * @tc.number    : DEMUXER_RANDOM_SEEK_0011
251  * @tc.name      : demuxer random seek, demuxer_parser_all_i_frame_avc.mp4
252  * @tc.desc      : function test
253  */
254 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0011, TestSize.Level1)
255 {
256     CheckSeekResult("/data/test/media/demuxer_parser_all_i_frame_avc.mp4", SEEKTIMES);
257 }
258 
259 /**
260  * @tc.number    : DEMUXER_RANDOM_SEEK_0012
261  * @tc.name      : demuxer random seek, demuxer_parser_all_i_frame_hevc.mp4
262  * @tc.desc      : function test
263  */
264 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0012, TestSize.Level1)
265 {
266     CheckSeekResult("/data/test/media/demuxer_parser_all_i_frame_hevc.mp4", SEEKTIMES);
267 }
268 
269 /**
270  * @tc.number    : DEMUXER_RANDOM_SEEK_0013
271  * @tc.name      : demuxer random seek, demuxer_parser_ipb_frame_avc.mp4
272  * @tc.desc      : function test
273  */
274 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0013, TestSize.Level0)
275 {
276     CheckSeekResult("/data/test/media/demuxer_parser_ipb_frame_avc.mp4", SEEKTIMES);
277 }
278 
279 /**
280  * @tc.number    : DEMUXER_RANDOM_SEEK_0014
281  * @tc.name      : demuxer random seek, demuxer_parser_ipb_frame_hevc.mp4
282  * @tc.desc      : function test
283  */
284 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0014, TestSize.Level0)
285 {
286     CheckSeekResult("/data/test/media/demuxer_parser_ipb_frame_hevc.mp4", SEEKTIMES);
287 }
288 
289 /**
290  * @tc.number    : DEMUXER_RANDOM_SEEK_0015
291  * @tc.name      : demuxer random seek, demuxer_parser_ltr_frame_avc.mp4
292  * @tc.desc      : function test
293  */
294 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0015, TestSize.Level2)
295 {
296     CheckSeekResult("/data/test/media/demuxer_parser_ltr_frame_avc.mp4", SEEKTIMES);
297 }
298 
299 /**
300  * @tc.number    : DEMUXER_RANDOM_SEEK_0016
301  * @tc.name      : demuxer random seek, demuxer_parser_ltr_frame_hevc.mp4
302  * @tc.desc      : function test
303  */
304 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0016, TestSize.Level2)
305 {
306     CheckSeekResult("/data/test/media/demuxer_parser_ltr_frame_hevc.mp4", SEEKTIMES);
307 }
308 
309 /**
310  * @tc.number    : DEMUXER_RANDOM_SEEK_0017
311  * @tc.name      : demuxer random seek, demuxer_parser_one_i_frame_avc.mp4
312  * @tc.desc      : function test
313  */
314 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0017, TestSize.Level0)
315 {
316     CheckSeekResult("/data/test/media/demuxer_parser_one_i_frame_avc.mp4", SEEKTIMES);
317 }
318 
319 /**
320  * @tc.number    : DEMUXER_RANDOM_SEEK_0018
321  * @tc.name      : demuxer random seek, demuxer_parser_one_i_frame_hevc.mp4
322  * @tc.desc      : function test
323  */
324 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0018, TestSize.Level1)
325 {
326     CheckSeekResult("/data/test/media/demuxer_parser_one_i_frame_hevc.mp4", SEEKTIMES);
327 }
328 
329 /**
330  * @tc.number    : DEMUXER_RANDOM_SEEK_0019
331  * @tc.name      : demuxer random seek, demuxer_parser_one_i_frame_no_audio_avc.mp4
332  * @tc.desc      : function test
333  */
334 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0019, TestSize.Level2)
335 {
336     CheckSeekResult("/data/test/media/demuxer_parser_one_i_frame_no_audio_avc.mp4", SEEKTIMES);
337 }
338 
339 /**
340  * @tc.number    : DEMUXER_RANDOM_SEEK_0020
341  * @tc.name      : demuxer random seek, demuxer_parser_one_i_frame_no_audio_hevc.mp4
342  * @tc.desc      : function test
343  */
344 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0020, TestSize.Level2)
345 {
346     CheckSeekResult("/data/test/media/demuxer_parser_one_i_frame_no_audio_hevc.mp4", SEEKTIMES);
347 }
348 
349 /**
350  * @tc.number    : DEMUXER_RANDOM_SEEK_0021
351  * @tc.name      : demuxer random seek, demuxer_parser_sdtp_frame_avc.mp4
352  * @tc.desc      : function test
353  */
354 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0021, TestSize.Level2)
355 {
356     CheckSeekResult("/data/test/media/demuxer_parser_sdtp_frame_avc.mp4", SEEKTIMES);
357 }
358 
359 /**
360  * @tc.number    : DEMUXER_RANDOM_SEEK_0022
361  * @tc.name      : demuxer random seek, demuxer_parser_sdtp_frame_hevc.mp4
362  * @tc.desc      : function test
363  */
364 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0022, TestSize.Level2)
365 {
366     CheckSeekResult("/data/test/media/demuxer_parser_sdtp_frame_hevc.mp4", SEEKTIMES);
367 }
368 
369 /**
370  * @tc.number    : DEMUXER_RANDOM_SEEK_0023
371  * @tc.name      : demuxer random seek, double_hevc.mp4
372  * @tc.desc      : function test
373  */
374 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0023, TestSize.Level1)
375 {
376     CheckSeekResult("/data/test/media/double_hevc.mp4", SEEKTIMES);
377 }
378 
379 /**
380  * @tc.number    : DEMUXER_RANDOM_SEEK_0024
381  * @tc.name      : demuxer random seek, double_vivid.mp4
382  * @tc.desc      : function test
383  */
384 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0024, TestSize.Level2)
385 {
386     CheckSeekResult("/data/test/media/double_vivid.mp4", SEEKTIMES);
387 }
388 
389 /**
390  * @tc.number    : DEMUXER_RANDOM_SEEK_0026
391  * @tc.name      : demuxer random seek, h264_aac_640.ts
392  * @tc.desc      : function test
393  */
394 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0026, TestSize.Level2)
395 {
396     CheckSeekResult("/data/test/media/h264_aac_640.ts", SEEKTIMES);
397 }
398 
399 /**
400  * @tc.number    : DEMUXER_RANDOM_SEEK_0027
401  * @tc.name      : demuxer random seek, h264_aac_1280.ts
402  * @tc.desc      : function test
403  */
404 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0027, TestSize.Level2)
405 {
406     CheckSeekResult("/data/test/media/h264_aac_1280.ts", SEEKTIMES);
407 }
408 
409 /**
410  * @tc.number    : DEMUXER_RANDOM_SEEK_0028
411  * @tc.name      : demuxer random seek, h264_aac_1920.ts
412  * @tc.desc      : function test
413  */
414 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0028, TestSize.Level2)
415 {
416     CheckSeekResult("/data/test/media/h264_aac_1920.ts", SEEKTIMES);
417 }
418 
419 /**
420  * @tc.number    : DEMUXER_RANDOM_SEEK_0029
421  * @tc.name      : demuxer random seek, h264_mp3_3mevx_fmp4.mp4
422  * @tc.desc      : function test
423  */
424 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0029, TestSize.Level1)
425 {
426     CheckSeekResult("/data/test/media/h264_mp3_3mevx_fmp4.mp4", SEEKTIMES);
427 }
428 
429 /**
430  * @tc.number    : DEMUXER_RANDOM_SEEK_0030
431  * @tc.name      : demuxer random seek, h265_aac_1mvex_fmp4.mp4
432  * @tc.desc      : function test
433  */
434 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0030, TestSize.Level2)
435 {
436     CheckSeekResult("/data/test/media/h265_aac_1mvex_fmp4.mp4", SEEKTIMES);
437 }
438 
439 /**
440  * @tc.number    : DEMUXER_RANDOM_SEEK_0032
441  * @tc.name      : demuxer random seek, h265_mp3_640.ts
442  * @tc.desc      : function test
443  */
444 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0032, TestSize.Level2)
445 {
446     CheckSeekResult("/data/test/media/h265_mp3_640.ts", SEEKTIMES);
447 }
448 
449 /**
450  * @tc.number    : DEMUXER_RANDOM_SEEK_0033
451  * @tc.name      : demuxer random seek, h265_mp3_1280.ts
452  * @tc.desc      : function test
453  */
454 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0033, TestSize.Level2)
455 {
456     CheckSeekResult("/data/test/media/h265_mp3_1280.ts", SEEKTIMES);
457 }
458 
459 /**
460  * @tc.number    : DEMUXER_RANDOM_SEEK_0034
461  * @tc.name      : demuxer random seek, h265_mp3_1920.ts
462  * @tc.desc      : function test
463  */
464 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0034, TestSize.Level2)
465 {
466     CheckSeekResult("/data/test/media/h265_mp3_1920.ts", SEEKTIMES);
467 }
468 
469 /**
470  * @tc.number    : DEMUXER_RANDOM_SEEK_0035
471  * @tc.name      : demuxer random seek, hevc_pcm_a.flv
472  * @tc.desc      : function test
473  */
474 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0035, TestSize.Level2)
475 {
476     CheckSeekResult("/data/test/media/hevc_pcm_a.flv", SEEKTIMES);
477 }
478 
479 /**
480  * @tc.number    : DEMUXER_RANDOM_SEEK_0036
481  * @tc.name      : demuxer random seek, hevc_v.ts
482  * @tc.desc      : function test
483  */
484 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0036, TestSize.Level2)
485 {
486     CheckSeekResult("/data/test/media/hevc_v.ts", SEEKTIMES);
487 }
488 
489 /**
490  * @tc.number    : DEMUXER_RANDOM_SEEK_0037
491  * @tc.name      : demuxer random seek, hevc_v_a.ts
492  * @tc.desc      : function test
493  */
494 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0037, TestSize.Level2)
495 {
496     CheckSeekResult("/data/test/media/hevc_v_a.ts", SEEKTIMES);
497 }
498 
499 /**
500  * @tc.number    : DEMUXER_RANDOM_SEEK_0038
501  * @tc.name      : demuxer random seek, hvcc.mp4
502  * @tc.desc      : function test
503  */
504 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0038, TestSize.Level1)
505 {
506     CheckSeekResult("/data/test/media/hvcc.mp4", SEEKTIMES);
507 }
508 
509 /**
510  * @tc.number    : DEMUXER_RANDOM_SEEK_0039
511  * @tc.name      : demuxer random seek, m4a_fmp4.mp4
512  * @tc.desc      : function test
513  */
514 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0039, TestSize.Level2)
515 {
516     CheckSeekResult("/data/test/media/m4a_fmp4.mp4", SEEKTIMES);
517 }
518 
519 /**
520  * @tc.number    : DEMUXER_RANDOM_SEEK_0040
521  * @tc.name      : demuxer random seek, m4v_fmp4.mp4
522  * @tc.desc      : function test
523  */
524 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0040, TestSize.Level2)
525 {
526     CheckSeekResult("/data/test/media/m4v_fmp4.mp4", SEEKTIMES);
527 }
528 
529 /**
530  * @tc.number    : DEMUXER_RANDOM_SEEK_0041
531  * @tc.name      : demuxer random seek, mkv.mkv
532  * @tc.desc      : function test
533  */
534 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0041, TestSize.Level1)
535 {
536     CheckSeekResult("/data/test/media/mkv.mkv", SEEKTIMES);
537 }
538 
539 /**
540  * @tc.number    : DEMUXER_RANDOM_SEEK_0042
541  * @tc.name      : demuxer random seek, MP3_avcc_10sec.bin
542  * @tc.desc      : function test
543  */
544 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0042, TestSize.Level2)
545 {
546     CheckSeekResult("/data/test/media/MP3_avcc_10sec.bin", SEEKTIMES);
547 }
548 
549 /**
550  * @tc.number    : DEMUXER_RANDOM_SEEK_0043
551  * @tc.name      : demuxer random seek, MP3_OGG_48000_1.bin
552  * @tc.desc      : function test
553  */
554 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0043, TestSize.Level2)
555 {
556     CheckSeekResult("/data/test/media/MP3_OGG_48000_1.bin", SEEKTIMES);
557 }
558 
559 /**
560  * @tc.number    : DEMUXER_RANDOM_SEEK_0044
561  * @tc.name      : demuxer random seek, mpeg2.mp4
562  * @tc.desc      : function test
563  */
564 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0044, TestSize.Level2)
565 {
566     CheckSeekResult("/data/test/media/mpeg2.mp4", SEEKTIMES);
567 }
568 
569 /**
570  * @tc.number    : DEMUXER_RANDOM_SEEK_0045
571  * @tc.name      : demuxer random seek, noPermission.mp4
572  * @tc.desc      : function test
573  */
574 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0045, TestSize.Level2)
575 {
576     CheckSeekResult("/data/test/media/noPermission.mp4", SEEKTIMES);
577 }
578 
579 /**
580  * @tc.number    : DEMUXER_RANDOM_SEEK_0046
581  * @tc.name      : demuxer random seek, NoTimedmetadataAudio.mp4
582  * @tc.desc      : function test
583  */
584 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0046, TestSize.Level2)
585 {
586     CheckSeekResult("/data/test/media/NoTimedmetadataAudio.mp4", SEEKTIMES);
587 }
588 
589 /**
590  * @tc.number    : DEMUXER_RANDOM_SEEK_0047
591  * @tc.name      : demuxer random seek, single_60.mp4
592  * @tc.desc      : function test
593  */
594 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0047, TestSize.Level2)
595 {
596     CheckSeekResult("/data/test/media/single_60.mp4", SEEKTIMES);
597 }
598 
599 /**
600  * @tc.number    : DEMUXER_RANDOM_SEEK_0048
601  * @tc.name      : demuxer random seek, single_rk.mp4
602  * @tc.desc      : function test
603  */
604 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0048, TestSize.Level2)
605 {
606     CheckSeekResult("/data/test/media/single_rk.mp4", SEEKTIMES);
607 }
608 
609 /**
610  * @tc.number    : DEMUXER_RANDOM_SEEK_0054
611  * @tc.name      : demuxer random seek, test_264_B_Gop25_4sec.mp4
612  * @tc.desc      : function test
613  */
614 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0054, TestSize.Level2)
615 {
616     CheckSeekResult("/data/test/media/test_264_B_Gop25_4sec.mp4", SEEKTIMES);
617 }
618 
619 /**
620  * @tc.number    : DEMUXER_RANDOM_SEEK_0055
621  * @tc.name      : demuxer random seek, test_265_B_Gop25_4sec.mp4
622  * @tc.desc      : function test
623  */
624 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0055, TestSize.Level2)
625 {
626     CheckSeekResult("/data/test/media/test_265_B_Gop25_4sec.mp4", SEEKTIMES);
627 }
628 
629 /**
630  * @tc.number    : DEMUXER_RANDOM_SEEK_0056
631  * @tc.name      : demuxer random seek, test_video_avcc_10sec.bin
632  * @tc.desc      : function test
633  */
634 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0056, TestSize.Level1)
635 {
636     CheckSeekResult("/data/test/media/test_video_avcc_10sec.bin", SEEKTIMES);
637 }
638 
639 /**
640  * @tc.number    : DEMUXER_RANDOM_SEEK_0057
641  * @tc.name      : demuxer random seek, Timedmetadata1Track0.mp4
642  * @tc.desc      : function test
643  */
644 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0057, TestSize.Level2)
645 {
646     CheckSeekResult("/data/test/media/Timedmetadata1Track0.mp4", SEEKTIMES);
647 }
648 
649 /**
650  * @tc.number    : DEMUXER_RANDOM_SEEK_0058
651  * @tc.name      : demuxer random seek, Timedmetadata1Track1.mp4
652  * @tc.desc      : function test
653  */
654 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0058, TestSize.Level2)
655 {
656     CheckSeekResult("/data/test/media/Timedmetadata1Track1.mp4", SEEKTIMES);
657 }
658 
659 /**
660  * @tc.number    : DEMUXER_RANDOM_SEEK_0059
661  * @tc.name      : demuxer random seek, Timedmetadata1Track2.mp4
662  * @tc.desc      : function test
663  */
664 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0059, TestSize.Level2)
665 {
666     CheckSeekResult("/data/test/media/Timedmetadata1Track2.mp4", SEEKTIMES);
667 }
668 
669 /**
670  * @tc.number    : DEMUXER_RANDOM_SEEK_0060
671  * @tc.name      : demuxer random seek, Timedmetadata2Track2.mp4
672  * @tc.desc      : function test
673  */
674 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0060, TestSize.Level2)
675 {
676     CheckSeekResult("/data/test/media/Timedmetadata2Track2.mp4", SEEKTIMES);
677 }
678 
679 /**
680  * @tc.number    : DEMUXER_RANDOM_SEEK_0061
681  * @tc.name      : demuxer random seek, TimedmetadataAudio.mp4
682  * @tc.desc      : function test
683  */
684 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0061, TestSize.Level2)
685 {
686     CheckSeekResult("/data/test/media/TimedmetadataAudio.mp4", SEEKTIMES);
687 }
688 
689 /**
690  * @tc.number    : DEMUXER_RANDOM_SEEK_0062
691  * @tc.name      : demuxer random seek, TimedmetadataVideo.mp4
692  * @tc.desc      : function test
693  */
694 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0062, TestSize.Level2)
695 {
696     CheckSeekResult("/data/test/media/TimedmetadataVideo.mp4", SEEKTIMES);
697 }
698 
699 /**
700  * @tc.number    : DEMUXER_RANDOM_SEEK_0063
701  * @tc.name      : demuxer random seek, ts_video.ts
702  * @tc.desc      : function test
703  */
704 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0063, TestSize.Level1)
705 {
706     CheckSeekResult("/data/test/media/ts_video.ts", SEEKTIMES);
707 }
708 
709 /**
710  * @tc.number    : DEMUXER_RANDOM_SEEK_0064
711  * @tc.name      : demuxer random seek, video_2audio.mp4
712  * @tc.desc      : function test
713  */
714 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0064, TestSize.Level2)
715 {
716     CheckSeekResult("/data/test/media/video_2audio.mp4", SEEKTIMES);
717 }
718 
719 /**
720  * @tc.number    : DEMUXER_RANDOM_SEEK_0065
721  * @tc.name      : demuxer random seek, video_9audio.mp4
722  * @tc.desc      : function test
723  */
724 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0065, TestSize.Level2)
725 {
726     CheckSeekResult("/data/test/media/video_9audio.mp4", SEEKTIMES);
727 }
728 
729 /**
730  * @tc.number    : DEMUXER_RANDOM_SEEK_0071
731  * @tc.name      : demuxer random seek, xm.mp4
732  * @tc.desc      : function test
733  */
734 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0071, TestSize.Level2)
735 {
736     CheckSeekResult("/data/test/media/xm.mp4", SEEKTIMES);
737 }
738 
739 /**
740  * @tc.number    : DEMUXER_RANDOM_SEEK_0072
741  * @tc.name      : demuxer random seek, AAC_48000_1.aac
742  * @tc.desc      : function test
743  */
744 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0072, TestSize.Level2)
745 {
746     CheckSeekResult("/data/test/media/audio/AAC_48000_1.aac", SEEKTIMES);
747 }
748 
749 /**
750  * @tc.number    : DEMUXER_RANDOM_SEEK_0073
751  * @tc.name      : demuxer random seek, amr_nb_8000_1.amr
752  * @tc.desc      : function test
753  */
754 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0073, TestSize.Level2)
755 {
756     CheckSeekResult("/data/test/media/audio/amr_nb_8000_1.amr", SEEKTIMES);
757 }
758 
759 /**
760  * @tc.number    : DEMUXER_RANDOM_SEEK_0074
761  * @tc.name      : demuxer random seek, amr_wb_16000_1.amr
762  * @tc.desc      : function test
763  */
764 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0074, TestSize.Level2)
765 {
766     CheckSeekResult("/data/test/media/audio/amr_wb_16000_1.amr", SEEKTIMES);
767 }
768 
769 /**
770  * @tc.number    : DEMUXER_RANDOM_SEEK_0075
771  * @tc.name      : demuxer random seek, ape.ape
772  * @tc.desc      : function test
773  */
774 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0075, TestSize.Level2)
775 {
776     CheckSeekResult("/data/test/media/audio/ape.ape", SEEKTIMES);
777 }
778 
779 /**
780  * @tc.number    : DEMUXER_RANDOM_SEEK_0076
781  * @tc.name      : demuxer random seek, feff_bom.mp3
782  * @tc.desc      : function test
783  */
784 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0076, TestSize.Level2)
785 {
786     CheckSeekResult("/data/test/media/audio/feff_bom.mp3", SEEKTIMES);
787 }
788 
789 /**
790  * @tc.number    : DEMUXER_RANDOM_SEEK_0077
791  * @tc.name      : demuxer random seek, fffe_bom.mp3
792  * @tc.desc      : function test
793  */
794 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0077, TestSize.Level2)
795 {
796     CheckSeekResult("/data/test/media/audio/fffe_bom.mp3", SEEKTIMES);
797 }
798 
799 /**
800  * @tc.number    : DEMUXER_RANDOM_SEEK_0078
801  * @tc.name      : demuxer random seek, FLAC_48000_1.flac
802  * @tc.desc      : function test
803  */
804 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0078, TestSize.Level2)
805 {
806     CheckSeekResult("/data/test/media/audio/FLAC_48000_1.flac", SEEKTIMES);
807 }
808 
809 /**
810  * @tc.number    : DEMUXER_RANDOM_SEEK_0079
811  * @tc.name      : demuxer random seek, M4A_48000_1.m4a
812  * @tc.desc      : function test
813  */
814 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0079, TestSize.Level2)
815 {
816     CheckSeekResult("/data/test/media/audio/M4A_48000_1.m4a", SEEKTIMES);
817 }
818 
819 /**
820  * @tc.number    : DEMUXER_RANDOM_SEEK_0080
821  * @tc.name      : demuxer random seek, MP3_48000_1.mp3
822  * @tc.desc      : function test
823  */
824 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0080, TestSize.Level2)
825 {
826     CheckSeekResult("/data/test/media/audio/MP3_48000_1.mp3", SEEKTIMES);
827 }
828 
829 /**
830  * @tc.number    : DEMUXER_RANDOM_SEEK_0081
831  * @tc.name      : demuxer random seek, nonstandard_bom.mp3
832  * @tc.desc      : function test
833  */
834 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0081, TestSize.Level2)
835 {
836     CheckSeekResult("/data/test/media/audio/nonstandard_bom.mp3", SEEKTIMES);
837 }
838 
839 /**
840  * @tc.number    : DEMUXER_RANDOM_SEEK_0082
841  * @tc.name      : demuxer random seek, OGG_48000_1.ogg
842  * @tc.desc      : function test
843  */
844 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0082, TestSize.Level2)
845 {
846     CheckSeekResult("/data/test/media/audio/OGG_48000_1.ogg", SEEKTIMES);
847 }
848 
849 /**
850  * @tc.number    : DEMUXER_RANDOM_SEEK_0083
851  * @tc.name      : demuxer random seek, wav_48000_1.wav
852  * @tc.desc      : function test
853  */
854 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0083, TestSize.Level2)
855 {
856     CheckSeekResult("/data/test/media/audio/wav_48000_1.wav", SEEKTIMES);
857 }
858 
859 /**
860  * @tc.number    : DEMUXER_RANDOM_SEEK_0084
861  * @tc.name      : demuxer random seek, wav_audio_test_1562.wav
862  * @tc.desc      : function test
863  */
864 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0084, TestSize.Level2)
865 {
866     CheckSeekResult("/data/test/media/audio/wav_audio_test_1562.wav", SEEKTIMES);
867 }
868 
869 /**
870  * @tc.number    : DEMUXER_RANDOM_SEEK_0085
871  * @tc.name      : demuxer random seek, wav_audio_test_202406290859.wav
872  * @tc.desc      : function test
873  */
874 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0085, TestSize.Level2)
875 {
876     CheckSeekResult("/data/test/media/audio/wav_audio_test_202406290859.wav", SEEKTIMES);
877 }
878 
879 /**
880  * @tc.number    : DEMUXER_RANDOM_SEEK_0086
881  * @tc.name      : demuxer random seek, H264_base@5_1920_1080_30_AAC_48K_1.mov
882  * @tc.desc      : function test
883  */
884 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0086, TestSize.Level2)
885 {
886     CheckSeekResult("/data/test/media/H264_base@5_1920_1080_30_AAC_48K_1.mov", SEEKTIMES);
887 }
888 
889 /**
890  * @tc.number    : DEMUXER_RANDOM_SEEK_0087
891  * @tc.name      : demuxer random seek, H264_main@4_1280_720_60_MP2_44.1K_2.mov
892  * @tc.desc      : function test
893  */
894 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0087, TestSize.Level2)
895 {
896     CheckSeekResult("/data/test/media/H264_main@4_1280_720_60_MP2_44.1K_2.mov", SEEKTIMES);
897 }
898 
899 /**
900  * @tc.number    : DEMUXER_RANDOM_SEEK_0088
901  * @tc.name      : demuxer random seek, H264_high@5.1_3840_2160_30_MP3_48K_1.mov
902  * @tc.desc      : function test
903  */
904 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0088, TestSize.Level2)
905 {
906     CheckSeekResult("/data/test/media/H264_high@5.1_3840_2160_30_MP3_48K_1.mov", SEEKTIMES);
907 }
908 
909 /**
910  * @tc.number    : DEMUXER_RANDOM_SEEK_0089
911  * @tc.name      : demuxer random seek, H264_h444@5.1_1920_1080_60_vorbis_32K_2.mov
912  * @tc.desc      : function test
913  */
914 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0089, TestSize.Level2)
915 {
916     CheckSeekResult("/data/test/media/H264_h444@5.1_1920_1080_60_vorbis_32K_2.mov", SEEKTIMES);
917 }
918 
919 /**
920  * @tc.number    : DEMUXER_RANDOM_SEEK_0090
921  * @tc.name      : demuxer random seek, H264_main@3_720_480_30_PCM_48K_24_1.mov
922  * @tc.desc      : function test
923  */
924 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0090, TestSize.Level2)
925 {
926     CheckSeekResult("/data/test/media/H264_main@3_720_480_30_PCM_48K_24_1.mov", SEEKTIMES);
927 }
928 
929 /**
930  * @tc.number    : DEMUXER_RANDOM_SEEK_0091
931  * @tc.name      : demuxer random seek, H265_main@4_1920_1080_30_AAC_44.1K_2.mov
932  * @tc.desc      : function test
933  */
934 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0091, TestSize.Level2)
935 {
936     CheckSeekResult("/data/test/media/H265_main@4_1920_1080_30_AAC_44.1K_2.mov", SEEKTIMES);
937 }
938 
939 /**
940  * @tc.number    : DEMUXER_RANDOM_SEEK_0092
941  * @tc.name      : demuxer random seek, H265_main10@4.1_1280_720_60_MP2_48K_1.mov
942  * @tc.desc      : function test
943  */
944 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0092, TestSize.Level2)
945 {
946     CheckSeekResult("/data/test/media/H265_main10@4.1_1280_720_60_MP2_48K_1.mov", SEEKTIMES);
947 }
948 
949 /**
950  * @tc.number    : DEMUXER_RANDOM_SEEK_0093
951  * @tc.name      : demuxer random seek, H265_main10@5_1920_1080_60_MP3_44.1K_2.mov
952  * @tc.desc      : function test
953  */
954 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0093, TestSize.Level2)
955 {
956     CheckSeekResult("/data/test/media/H265_main10@5_1920_1080_60_MP3_44.1K_2.mov", SEEKTIMES);
957 }
958 
959 /**
960  * @tc.number    : DEMUXER_RANDOM_SEEK_0094
961  * @tc.name      : demuxer random seek, H265_main@5_3840_2160_30_vorbis_48K_1.mov
962  * @tc.desc      : function test
963  */
964 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0094, TestSize.Level2)
965 {
966     CheckSeekResult("/data/test/media/H265_main@5_3840_2160_30_vorbis_48K_1.mov", SEEKTIMES);
967 }
968 
969 /**
970  * @tc.number    : DEMUXER_RANDOM_SEEK_0095
971  * @tc.name      : demuxer random seek, H265_main10@5.1_3840_2160_60_PCM(mulaw)_48K_16_2.mov
972  * @tc.desc      : function test
973  */
974 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0095, TestSize.Level2)
975 {
976     CheckSeekResult("/data/test/media/H265_main10@5.1_3840_2160_60_PCM(mulaw)_48K_16_2.mov", SEEKTIMES);
977 }
978 
979 /**
980  * @tc.number    : DEMUXER_RANDOM_SEEK_0096
981  * @tc.name      : demuxer random seek, MPEG4_SP@5_720_480_30_AAC_32K_1.mov
982  * @tc.desc      : function test
983  */
984 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0096, TestSize.Level2)
985 {
986     CheckSeekResult("/data/test/media/MPEG4_SP@5_720_480_30_AAC_32K_1.mov", SEEKTIMES);
987 }
988 
989 /**
990  * @tc.number    : DEMUXER_RANDOM_SEEK_0097
991  * @tc.name      : demuxer random seek, MPEG4_SP@6_1280_720_30_MP2_32K_2.mov
992  * @tc.desc      : function test
993  */
994 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0097, TestSize.Level2)
995 {
996     CheckSeekResult("/data/test/media/MPEG4_SP@6_1280_720_30_MP2_32K_2.mov", SEEKTIMES);
997 }
998 
999 /**
1000  * @tc.number    : DEMUXER_RANDOM_SEEK_0098
1001  * @tc.name      : demuxer random seek, MPEG4_ASP@3_352_288_30_MP3_32K_1.mov
1002  * @tc.desc      : function test
1003  */
1004 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0098, TestSize.Level2)
1005 {
1006     CheckSeekResult("/data/test/media/MPEG4_ASP@3_352_288_30_MP3_32K_1.mov", SEEKTIMES);
1007 }
1008 
1009 /**
1010  * @tc.number    : DEMUXER_RANDOM_SEEK_0099
1011  * @tc.name      : demuxer random seek, MPEG4_ASP@4_720_576_30_Vorbis_44.1K_2.mov
1012  * @tc.desc      : function test
1013  */
1014 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0099, TestSize.Level2)
1015 {
1016     CheckSeekResult("/data/test/media/MPEG4_ASP@4_720_576_30_Vorbis_44.1K_2.mov", SEEKTIMES);
1017 }
1018 
1019 /**
1020  * @tc.number    : DEMUXER_RANDOM_SEEK_0100
1021  * @tc.name      : demuxer random seek, MPEG4_Core@2_1920_1080_30_PCM(mulaw)_44.1K_16_1.mov
1022  * @tc.desc      : function test
1023  */
1024 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0100, TestSize.Level2)
1025 {
1026     CheckSeekResult("/data/test/media/MPEG4_Core@2_1920_1080_30_PCM(mulaw)_44.1K_16_1.mov", SEEKTIMES);
1027 }
1028 
1029 /**
1030  * @tc.number    : DEMUXER_RANDOM_SEEK_0101
1031  * @tc.name      : demuxer random seek, H264_base@5_1920_1080_30_MP2_44.1K_1.mpg
1032  * @tc.desc      : function test
1033  */
1034 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0101, TestSize.Level2)
1035 {
1036     CheckSeekResult("/data/test/media/H264_base@5_1920_1080_30_MP2_44.1K_1.mpg", SEEKTIMES);
1037 }
1038 
1039 /**
1040  * @tc.number    : DEMUXER_RANDOM_SEEK_0102
1041  * @tc.name      : demuxer random seek, H264_h444p@5.1_1920_1080_60_MP2_48K_2.mpg
1042  * @tc.desc      : function test
1043  */
1044 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0102, TestSize.Level2)
1045 {
1046     CheckSeekResult("/data/test/media/H264_h444p@5.1_1920_1080_60_MP2_48K_2.mpg", SEEKTIMES);
1047 }
1048 
1049 /**
1050  * @tc.number    : DEMUXER_RANDOM_SEEK_0103
1051  * @tc.name      : demuxer random seek, H264_high@5.1_3840_2160_30_MP3_44.1K_1.mpg
1052  * @tc.desc      : function test
1053  */
1054 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0103, TestSize.Level2)
1055 {
1056     CheckSeekResult("/data/test/media/H264_high@5.1_3840_2160_30_MP3_44.1K_1.mpg", SEEKTIMES);
1057 }
1058 
1059 /**
1060  * @tc.number    : DEMUXER_RANDOM_SEEK_0104
1061  * @tc.name      : demuxer random seek, H264_main@4.2_1280_720_60_MP3_32K_2.mpg
1062  * @tc.desc      : function test
1063  */
1064 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0104, TestSize.Level2)
1065 {
1066     CheckSeekResult("/data/test/media/H264_main@4.2_1280_720_60_MP3_32K_2.mpg", SEEKTIMES);
1067 }
1068 
1069 /**
1070  * @tc.number    : DEMUXER_RANDOM_SEEK_0105
1071  * @tc.name      : demuxer random seek, MPEG2_422p_1280_720_60_MP3_32K_1.mpg
1072  * @tc.desc      : function test
1073  */
1074 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0105, TestSize.Level2)
1075 {
1076     CheckSeekResult("/data/test/media/MPEG2_422p_1280_720_60_MP3_32K_1.mpg", SEEKTIMES);
1077 }
1078 
1079 /**
1080  * @tc.number    : DEMUXER_RANDOM_SEEK_0106
1081  * @tc.name      : demuxer random seek, MPEG2_high_720_480_30_MP2_32K_2.mpg
1082  * @tc.desc      : function test
1083  */
1084 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0106, TestSize.Level2)
1085 {
1086     CheckSeekResult("/data/test/media/MPEG2_high_720_480_30_MP2_32K_2.mpg", SEEKTIMES);
1087 }
1088 
1089 /**
1090  * @tc.number    : DEMUXER_RANDOM_SEEK_0107
1091  * @tc.name      : demuxer random seek, MPEG2_main_352_288_30_MP2_44.1K_1.mpg
1092  * @tc.desc      : function test
1093  */
1094 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0107, TestSize.Level2)
1095 {
1096     CheckSeekResult("/data/test/media/MPEG2_main_352_288_30_MP2_44.1K_1.mpg", SEEKTIMES);
1097 }
1098 
1099 /**
1100  * @tc.number    : DEMUXER_RANDOM_SEEK_0108
1101  * @tc.name      : demuxer random seek, MPEG2_main_1920_1080_30_MP3_48K_2.mpg
1102  * @tc.desc      : function test
1103  */
1104 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0108, TestSize.Level2)
1105 {
1106     CheckSeekResult("/data/test/media/MPEG2_main_1920_1080_30_MP3_48K_2.mpg", SEEKTIMES);
1107 }
1108 
1109 /**
1110  * @tc.number    : DEMUXER_RANDOM_SEEK_0109
1111  * @tc.name      : demuxer random seek, MPEG2_simple_320_240_24_MP3_48K_2.mpg
1112  * @tc.desc      : function test
1113  */
1114 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0109, TestSize.Level2)
1115 {
1116     CheckSeekResult("/data/test/media/MPEG2_simple_320_240_24_MP3_48K_2.mpg", SEEKTIMES);
1117 }
1118 
1119 /**
1120  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_0100
1121  * @tc.name      : demuxer random seek,AVI_H263_baseline@level10_352_288_AAC_2.avi
1122  * @tc.desc      : function test
1123  */
1124 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_0100, TestSize.Level2)
1125 {
1126     CheckSeekResult("/data/test/media/AVI_H263_baseline@level10_352_288_AAC_2.avi", SEEKTIMES);
1127 }
1128 
1129 /**
1130  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_0200
1131  * @tc.name      : demuxer random seek, AVI_H263_baseline@level20_352_288_MP2_1.avi
1132  * @tc.desc      : function test
1133  */
1134 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_0200, TestSize.Level2)
1135 {
1136     CheckSeekResult("/data/test/media/AVI_H263_baseline@level20_352_288_MP2_1.avi", SEEKTIMES);
1137 }
1138 
1139 /**
1140  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_0300
1141  * @tc.name      : demuxer random seek, AVI_H263_baseline@level60_704_576_MP3_2.avi
1142  * @tc.desc      : function test
1143  */
1144 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_0300, TestSize.Level2)
1145 {
1146     CheckSeekResult("/data/test/media/AVI_H263_baseline@level60_704_576_MP3_2.avi", SEEKTIMES);
1147 }
1148 
1149 /**
1150  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_0400
1151  * @tc.name      : demuxer random seek, AVI_H263_baseline@level70_1408_1152_PCM_mulaw_1.avi
1152  * @tc.desc      : function test
1153  */
1154 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_0400, TestSize.Level2)
1155 {
1156     CheckSeekResult("/data/test/media/AVI_H263_baseline@level70_1408_1152_PCM_mulaw_1.avi", SEEKTIMES);
1157 }
1158 
1159 /**
1160  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_0500
1161  * @tc.name      : demuxer random seek, AVI_H264_baseline@level4.1_1280_720_AAC_2.avi
1162  * @tc.desc      : function test
1163  */
1164 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_0500, TestSize.Level2)
1165 {
1166     CheckSeekResult("/data/test/media/AVI_H264_constrained_baseline@level4.1_1280_720_AAC_2.avi", SEEKTIMES);
1167 }
1168 
1169 /**
1170  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_0600
1171  * @tc.name      : demuxer random seek, AVI_H264_main@level5_1920_1080_PM2_1.avi
1172  * @tc.desc      : function test
1173  */
1174 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_0600, TestSize.Level2)
1175 {
1176     CheckSeekResult("/data/test/media/AVI_H264_main@level5_1920_1080_MP2_1.avi", SEEKTIMES);
1177 }
1178 
1179 /**
1180  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_0700
1181  * @tc.name      : demuxer random seek, AVI_H264_high@level5.1_1920_1080_PM3_2.avi
1182  * @tc.desc      : function test
1183  */
1184 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_0700, TestSize.Level2)
1185 {
1186     CheckSeekResult("/data/test/media/AVI_H264_high@level5.1_1920_1080_MP3_2.avi", SEEKTIMES);
1187 }
1188 
1189 /**
1190  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_0800
1191  * @tc.name      : demuxer random seek, AVI_H264_h422@level5.1_2560_1920_PCM_mulaw_1.avi
1192  * @tc.desc      : function test
1193  */
1194 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_0800, TestSize.Level2)
1195 {
1196     CheckSeekResult("/data/test/media/AVI_H264_high@level5_2560_1920_PCM_mulaw_1.avi", SEEKTIMES);
1197 }
1198 
1199 /**
1200  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_0900
1201  * @tc.name      : demuxer random seek, AVI_MPEG2_simple@low_320_240_AAC_2.avi
1202  * @tc.desc      : function test
1203  */
1204 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_0900, TestSize.Level2)
1205 {
1206     CheckSeekResult("/data/test/media/AVI_MPEG2_simple@low_320_240_AAC_2.avi", SEEKTIMES);
1207 }
1208 
1209 /**
1210  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_1000
1211  * @tc.name      : demuxer random seek, AVI_MPEG2_main@mian_720_480_MP2_1.avi
1212  * @tc.desc      : function test
1213  */
1214 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_1000, TestSize.Level2)
1215 {
1216     CheckSeekResult("/data/test/media/AVI_MPEG2_main@mian_640_480_MP2_1.avi", SEEKTIMES);
1217 }
1218 
1219 /**
1220  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_1100
1221  * @tc.name      : demuxer random seek, AVI_MPEG2_high@high_1440_1080_MP3_2.avi
1222  * @tc.desc      : function test
1223  */
1224 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_1100, TestSize.Level2)
1225 {
1226     CheckSeekResult("/data/test/media/AVI_MPEG2_simple@main_640_480_MP3_2.avi", SEEKTIMES);
1227 }
1228 
1229 /**
1230  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_1200
1231  * @tc.name      : demuxer random seek, AVI_MPEG2_422P@high_1920_1080_PCM_s24_1.avi
1232  * @tc.desc      : function test
1233  */
1234 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_1200, TestSize.Level2)
1235 {
1236     CheckSeekResult("/data/test/media/AVI_MPEG2_422P@high_1920_1080_PCM_s24_1.avi", SEEKTIMES);
1237 }
1238 
1239 /**
1240  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_1300
1241  * @tc.name      : demuxer random seek, AVI_MPEG4_simple@level5_720_480_AAC_2.avi
1242  * @tc.desc      : function test
1243  */
1244 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_1300, TestSize.Level2)
1245 {
1246     CheckSeekResult("/data/test/media/AVI_MPEG4_simple@level1_640_480_AAC_2.avi", SEEKTIMES);
1247 }
1248 
1249 /**
1250  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_1400
1251  * @tc.name      : demuxer random seek, AVI_MPEG4_advanced_simple@level6_1280_720_MP2_1.avi
1252  * @tc.desc      : function test
1253  */
1254 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_1400, TestSize.Level2)
1255 {
1256     CheckSeekResult("/data/test/media/AVI_MPEG4_advanced_simple@level6_1280_720_MP2_1.avi", SEEKTIMES);
1257 }
1258 
1259 /**
1260  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_1500
1261  * @tc.name      : demuxer random seek, AVI_MPEG4_advanced_simple@level3_352_288_MP3_2.avi
1262  * @tc.desc      : function test
1263  */
1264 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_1500, TestSize.Level2)
1265 {
1266     CheckSeekResult("/data/test/media/AVI_MPEG4_advanced_simple@level3_352_288_MP3_2.avi", SEEKTIMES);
1267 }
1268 
1269 /**
1270  * @tc.number    : DEMUXER_AVI_RANDOM_SEEK_1600
1271  * @tc.name      : demuxer random seek, AVI_MPEG4_main@level5_720_576_PCM_s32_1.avi
1272  * @tc.desc      : function test
1273  */
1274 HWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_AVI_RANDOM_SEEK_1600, TestSize.Level2)
1275 {
1276     CheckSeekResult("/data/test/media/AVI_MPEG4_main@level5_720_576_PCM_s32_1.avi", SEEKTIMES);
1277 }