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