• 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 namespace OHOS {
31 namespace Media {
32 class DemuxerSeekNdkTest : public testing::Test {
33 public:
34     // SetUpTestCase: Called before all test cases
35     static void SetUpTestCase(void);
36     // TearDownTestCase: Called after all test case
37     static void TearDownTestCase(void);
38     // SetUp: Called before each test cases
39     void SetUp(void);
40     // TearDown: Called after each test cases
41     void TearDown(void);
42 };
43 
44 static OH_AVMemory *memory = nullptr;
45 static OH_AVSource *source = nullptr;
46 static OH_AVDemuxer *demuxer = nullptr;
47 static OH_AVFormat *sourceFormat = nullptr;
48 static OH_AVFormat *trackFormat = nullptr;
49 static OH_AVBuffer *avBuffer = nullptr;
50 static OH_AVFormat *format = nullptr;
51 static int32_t g_trackCount;
52 static int32_t g_width = 3840;
53 static int32_t g_height = 2160;
54 constexpr int32_t THOUSAND = 1000.0;
SetUpTestCase()55 void DemuxerSeekNdkTest::SetUpTestCase() {}
TearDownTestCase()56 void DemuxerSeekNdkTest::TearDownTestCase() {}
SetUp()57 void DemuxerSeekNdkTest::SetUp()
58 {
59     memory = OH_AVMemory_Create(g_width * g_height);
60     g_trackCount = 0;
61 }
TearDown()62 void DemuxerSeekNdkTest::TearDown()
63 {
64     if (trackFormat != nullptr) {
65         OH_AVFormat_Destroy(trackFormat);
66         trackFormat = nullptr;
67     }
68 
69     if (sourceFormat != nullptr) {
70         OH_AVFormat_Destroy(sourceFormat);
71         sourceFormat = nullptr;
72     }
73     if (format != nullptr) {
74         OH_AVFormat_Destroy(format);
75         format = nullptr;
76     }
77 
78     if (memory != nullptr) {
79         OH_AVMemory_Destroy(memory);
80         memory = nullptr;
81     }
82     if (source != nullptr) {
83         OH_AVSource_Destroy(source);
84         source = nullptr;
85     }
86     if (demuxer != nullptr) {
87         OH_AVDemuxer_Destroy(demuxer);
88         demuxer = nullptr;
89     }
90     if (avBuffer != nullptr) {
91         OH_AVBuffer_Destroy(avBuffer);
92         avBuffer = nullptr;
93     }
94 }
95 } // namespace Media
96 } // namespace OHOS
97 
98 using namespace std;
99 using namespace OHOS;
100 using namespace OHOS::Media;
101 using namespace testing::ext;
102 
GetFileSize(const char * fileName)103 static int64_t GetFileSize(const char *fileName)
104 {
105     int64_t fileSize = 0;
106     if (fileName != nullptr) {
107         struct stat fileStatus {};
108         if (stat(fileName, &fileStatus) == 0) {
109             fileSize = static_cast<int64_t>(fileStatus.st_size);
110         }
111     }
112     return fileSize;
113 }
114 
115 struct seekInfo {
116     const char *fileName;
117     OH_AVSeekMode seekmode;
118     int64_t millisecond;
119     int32_t videoCount;
120     int32_t audioCount;
121     int32_t subtitleCount;
122 };
123 
CheckSeekMode(seekInfo seekInfo)124 static void CheckSeekMode(seekInfo seekInfo)
125 {
126     int tarckType = 0;
127     OH_AVCodecBufferAttr attr;
128     const char* mimeType = nullptr;
129     int fd = open(seekInfo.fileName, O_RDONLY);
130     int64_t size = GetFileSize(seekInfo.fileName);
131     source = OH_AVSource_CreateWithFD(fd, 0, size);
132     ASSERT_NE(source, nullptr);
133     demuxer = OH_AVDemuxer_CreateWithSource(source);
134     ASSERT_NE(demuxer, nullptr);
135     sourceFormat = OH_AVSource_GetSourceFormat(source);
136     ASSERT_NE(sourceFormat, nullptr);
137     ASSERT_TRUE(OH_AVFormat_GetIntValue(sourceFormat, OH_MD_KEY_TRACK_COUNT, &g_trackCount));
138     for (int32_t index = 0; index < g_trackCount; index++) {
139         ASSERT_EQ(AV_ERR_OK, OH_AVDemuxer_SelectTrackByID(demuxer, index));
140     }
141 
142     for (int32_t index = 0; index < g_trackCount; index++) {
143         trackFormat = OH_AVSource_GetTrackFormat(source, index);
144         ASSERT_NE(trackFormat, nullptr);
145         ASSERT_TRUE(OH_AVFormat_GetIntValue(trackFormat, OH_MD_KEY_TRACK_TYPE, &tarckType));
146         ASSERT_EQ(AV_ERR_OK, OH_AVDemuxer_SeekToTime(demuxer, seekInfo.millisecond / THOUSAND, seekInfo.seekmode));
147         bool readEnd = false;
148         int32_t frameNum = 0;
149         while (!readEnd) {
150             ASSERT_EQ(AV_ERR_OK, OH_AVDemuxer_ReadSample(demuxer, index, memory, &attr));
151             if (attr.flags & OH_AVCodecBufferFlags::AVCODEC_BUFFER_FLAGS_EOS) {
152                 readEnd = true;
153                 break;
154             }
155             frameNum++;
156         }
157         if (tarckType == MEDIA_TYPE_VID) {
158             ASSERT_EQ(seekInfo.videoCount, frameNum);
159         } else if (tarckType == MEDIA_TYPE_AUD) {
160             OH_AVFormat_GetStringValue(trackFormat, OH_MD_KEY_CODEC_MIME, &mimeType);
161             if (strcmp(mimeType, OH_AVCODEC_MIMETYPE_AUDIO_FLAC) == 0) {
162                 ASSERT_GE(frameNum, seekInfo.audioCount - 1);
163                 ASSERT_LE(frameNum, seekInfo.audioCount + 1);
164             } else {
165                 ASSERT_EQ(seekInfo.audioCount, frameNum);
166             }
167         } else if (tarckType == MEDIA_TYPE_SUBTITLE) {
168             ASSERT_EQ(seekInfo.subtitleCount, frameNum);
169         }
170     }
171     close(fd);
172     fd = -1;
173 }
174 
175 /**
176  * @tc.number    : DEMUXER_SEEK_0001
177  * @tc.name      : demuxer seek, 01_video_audio.mp4
178  * @tc.desc      : function test
179  */
180 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0001, TestSize.Level0)
181 {
182     seekInfo fileTest1{"/data/test/media/01_video_audio.mp4", SEEK_MODE_NEXT_SYNC, 0, 250, 384, 0};
183     CheckSeekMode(fileTest1);
184     seekInfo fileTest2{"/data/test/media/01_video_audio.mp4", SEEK_MODE_NEXT_SYNC, 5000000, 125, 192, 0};
185     CheckSeekMode(fileTest2);
186     seekInfo fileTest3{"/data/test/media/01_video_audio.mp4", SEEK_MODE_NEXT_SYNC, 9960000, 1, 2, 0};
187     CheckSeekMode(fileTest3);
188     seekInfo fileTest4{"/data/test/media/01_video_audio.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 250, 384, 0};
189     CheckSeekMode(fileTest4);
190     seekInfo fileTest5{"/data/test/media/01_video_audio.mp4", SEEK_MODE_PREVIOUS_SYNC, 5000000, 125, 193, 0};
191     CheckSeekMode(fileTest5);
192     seekInfo fileTest6{"/data/test/media/01_video_audio.mp4", SEEK_MODE_PREVIOUS_SYNC, 9960000, 1, 3, 0};
193     CheckSeekMode(fileTest6);
194     seekInfo fileTest7{"/data/test/media/01_video_audio.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 250, 384, 0};
195     CheckSeekMode(fileTest7);
196     seekInfo fileTest8{"/data/test/media/01_video_audio.mp4", SEEK_MODE_CLOSEST_SYNC, 5000000, 125, 192, 0};
197     CheckSeekMode(fileTest8);
198     seekInfo fileTest9{"/data/test/media/01_video_audio.mp4", SEEK_MODE_CLOSEST_SYNC, 9960000, 1, 2, 0};
199     CheckSeekMode(fileTest9);
200 }
201 
202 /**
203  * @tc.number    : DEMUXER_SEEK_0002
204  * @tc.name      : demuxer seek, audiovivid_hdrvivid_1s_fmp4.mp4
205  * @tc.desc      : function test
206  */
207 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0002, TestSize.Level0)
208 {
209     seekInfo fileTest1{"/data/test/media/audiovivid_hdrvivid_1s_fmp4.mp4", SEEK_MODE_NEXT_SYNC, 0, 26, 44, 0};
210     CheckSeekMode(fileTest1);
211     seekInfo fileTest2{"/data/test/media/audiovivid_hdrvivid_1s_fmp4.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 26, 44, 0};
212     CheckSeekMode(fileTest2);
213     seekInfo fileTest3{"/data/test/media/audiovivid_hdrvivid_1s_fmp4.mp4", SEEK_MODE_PREVIOUS_SYNC, 599348, 26, 44, 0};
214     CheckSeekMode(fileTest3);
215     seekInfo fileTest4{"/data/test/media/audiovivid_hdrvivid_1s_fmp4.mp4", SEEK_MODE_PREVIOUS_SYNC, 999348, 26, 44, 0};
216     CheckSeekMode(fileTest4);
217     seekInfo fileTest5{"/data/test/media/audiovivid_hdrvivid_1s_fmp4.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 26, 44, 0};
218     CheckSeekMode(fileTest5);
219     seekInfo fileTest6{"/data/test/media/audiovivid_hdrvivid_1s_fmp4.mp4", SEEK_MODE_CLOSEST_SYNC, 599348, 26, 44, 0};
220     CheckSeekMode(fileTest6);
221     seekInfo fileTest7{"/data/test/media/audiovivid_hdrvivid_1s_fmp4.mp4", SEEK_MODE_CLOSEST_SYNC, 999348, 26, 44, 0};
222     CheckSeekMode(fileTest7);
223 }
224 
225 /**
226  * @tc.number    : DEMUXER_SEEK_0003
227  * @tc.name      : demuxer seek, avc_mp3.flv
228  * @tc.desc      : function test
229  */
230 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0003, TestSize.Level1)
231 {
232     seekInfo fileTest1{"/data/test/media/avc_mp3.flv", SEEK_MODE_NEXT_SYNC, 0, 602, 384, 0};
233     CheckSeekMode(fileTest1);
234     seekInfo fileTest2{"/data/test/media/avc_mp3.flv", SEEK_MODE_NEXT_SYNC, 5042000, 102, 65, 0};
235     CheckSeekMode(fileTest2);
236     seekInfo fileTest3{"/data/test/media/avc_mp3.flv", SEEK_MODE_PREVIOUS_SYNC, 0, 602, 384, 0};
237     CheckSeekMode(fileTest3);
238     seekInfo fileTest4{"/data/test/media/avc_mp3.flv", SEEK_MODE_PREVIOUS_SYNC, 5042000, 352, 225, 0};
239     CheckSeekMode(fileTest4);
240     seekInfo fileTest5{"/data/test/media/avc_mp3.flv", SEEK_MODE_PREVIOUS_SYNC, 9980000, 102, 65, 0};
241     CheckSeekMode(fileTest5);
242     seekInfo fileTest6{"/data/test/media/avc_mp3.flv", SEEK_MODE_CLOSEST_SYNC, 0, 602, 384, 0};
243     CheckSeekMode(fileTest6);
244     seekInfo fileTest7{"/data/test/media/avc_mp3.flv", SEEK_MODE_CLOSEST_SYNC, 5042000, 352, 225, 0};
245     CheckSeekMode(fileTest7);
246     seekInfo fileTest8{"/data/test/media/avc_mp3.flv", SEEK_MODE_CLOSEST_SYNC, 9980000, 102, 0, 0};
247     CheckSeekMode(fileTest8);
248 }
249 
250 /**
251  * @tc.number    : DEMUXER_SEEK_0004
252  * @tc.name      : demuxer seek, avc_mp3_error.flv
253  * @tc.desc      : function test
254  */
255 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0004, TestSize.Level2)
256 {
257     seekInfo fileTest1{"/data/test/media/avc_mp3_error.flv", SEEK_MODE_NEXT_SYNC, 0, 601, 384, 0};
258     CheckSeekMode(fileTest1);
259     seekInfo fileTest2{"/data/test/media/avc_mp3_error.flv", SEEK_MODE_NEXT_SYNC, 5058000, 102, 65, 0};
260     CheckSeekMode(fileTest2);
261     seekInfo fileTest3{"/data/test/media/avc_mp3_error.flv", SEEK_MODE_PREVIOUS_SYNC, 0, 601, 384, 0};
262     CheckSeekMode(fileTest3);
263     seekInfo fileTest4{"/data/test/media/avc_mp3_error.flv", SEEK_MODE_PREVIOUS_SYNC, 5058000, 352, 225, 0};
264     CheckSeekMode(fileTest4);
265     seekInfo fileTest5{"/data/test/media/avc_mp3_error.flv", SEEK_MODE_PREVIOUS_SYNC, 9848000, 102, 65, 0};
266     CheckSeekMode(fileTest5);
267     seekInfo fileTest6{"/data/test/media/avc_mp3_error.flv", SEEK_MODE_CLOSEST_SYNC, 0, 601, 384, 0};
268     CheckSeekMode(fileTest6);
269     seekInfo fileTest7{"/data/test/media/avc_mp3_error.flv", SEEK_MODE_CLOSEST_SYNC, 5058000, 352, 225, 0};
270     CheckSeekMode(fileTest7);
271     seekInfo fileTest8{"/data/test/media/avc_mp3_error.flv", SEEK_MODE_CLOSEST_SYNC, 9848000, 102, 0, 0};
272     CheckSeekMode(fileTest8);
273 }
274 
275 /**
276  * @tc.number    : DEMUXER_SEEK_0005
277  * @tc.name      : demuxer seek, avcc_10sec.mp4
278  * @tc.desc      : function test
279  */
280 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0005, TestSize.Level2)
281 {
282     seekInfo fileTest1{"/data/test/media/avcc_10sec.mp4", SEEK_MODE_NEXT_SYNC, 0, 600, 431, 0};
283     CheckSeekMode(fileTest1);
284     seekInfo fileTest2{"/data/test/media/avcc_10sec.mp4", SEEK_MODE_NEXT_SYNC, 5000000, 300, 215, 0};
285     CheckSeekMode(fileTest2);
286     seekInfo fileTest3{"/data/test/media/avcc_10sec.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 600, 431, 0};
287     CheckSeekMode(fileTest3);
288     seekInfo fileTest4{"/data/test/media/avcc_10sec.mp4", SEEK_MODE_PREVIOUS_SYNC, 5000000, 300, 216, 0};
289     CheckSeekMode(fileTest4);
290     seekInfo fileTest5{"/data/test/media/avcc_10sec.mp4", SEEK_MODE_PREVIOUS_SYNC, 9983333, 60, 44, 0};
291     CheckSeekMode(fileTest5);
292     seekInfo fileTest6{"/data/test/media/avcc_10sec.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 600, 431, 0};
293     CheckSeekMode(fileTest6);
294     seekInfo fileTest7{"/data/test/media/avcc_10sec.mp4", SEEK_MODE_CLOSEST_SYNC, 5000000, 300, 215, 0};
295     CheckSeekMode(fileTest7);
296     seekInfo fileTest8{"/data/test/media/avcc_10sec.mp4", SEEK_MODE_CLOSEST_SYNC, 9983333, 60, 44, 0};
297     CheckSeekMode(fileTest8);
298 }
299 
300 /**
301  * @tc.number    : DEMUXER_SEEK_0006
302  * @tc.name      : demuxer seek, demuxer_parser_2_layer_frame_avc.mp4
303  * @tc.desc      : function test
304  */
305 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0006, TestSize.Level0)
306 {
307     seekInfo fileTest1{"/data/test/media/demuxer_parser_2_layer_frame_avc.mp4", SEEK_MODE_NEXT_SYNC, 0, 330, 0, 0};
308     CheckSeekMode(fileTest1);
309     seekInfo fileTest2{"/data/test/media/demuxer_parser_2_layer_frame_avc.mp4", SEEK_MODE_NEXT_SYNC,
310     5466666, 150, 0, 0};
311     CheckSeekMode(fileTest2);
312     seekInfo fileTest3{"/data/test/media/demuxer_parser_2_layer_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 330, 0, 0};
313     CheckSeekMode(fileTest3);
314     seekInfo fileTest4{"/data/test/media/demuxer_parser_2_layer_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
315     5466666, 180, 0, 0};
316     CheckSeekMode(fileTest4);
317     seekInfo fileTest5{"/data/test/media/demuxer_parser_2_layer_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
318     10966666, 30, 0, 0};
319     CheckSeekMode(fileTest5);
320     seekInfo fileTest6{"/data/test/media/demuxer_parser_2_layer_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 330, 0, 0};
321     CheckSeekMode(fileTest6);
322     seekInfo fileTest7{"/data/test/media/demuxer_parser_2_layer_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
323     5466666, 180, 0, 0};
324     CheckSeekMode(fileTest7);
325     seekInfo fileTest8{"/data/test/media/demuxer_parser_2_layer_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
326     10966666, 30, 0, 0};
327     CheckSeekMode(fileTest8);
328 }
329 
330 /**
331  * @tc.number    : DEMUXER_SEEK_0007
332  * @tc.name      : demuxer seek, demuxer_parser_2_layer_frame_hevc.mp4
333  * @tc.desc      : function test
334  */
335 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0007, TestSize.Level2)
336 {
337     seekInfo fileTest1{"/data/test/media/demuxer_parser_2_layer_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC, 0, 330, 0, 0};
338     CheckSeekMode(fileTest1);
339     seekInfo fileTest2{"/data/test/media/demuxer_parser_2_layer_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC,
340     5466666, 150, 0, 0};
341     CheckSeekMode(fileTest2);
342     seekInfo fileTest3{"/data/test/media/demuxer_parser_2_layer_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 330, 0, 0};
343     CheckSeekMode(fileTest3);
344     seekInfo fileTest4{"/data/test/media/demuxer_parser_2_layer_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
345     5466666, 180, 0, 0};
346     CheckSeekMode(fileTest4);
347     seekInfo fileTest5{"/data/test/media/demuxer_parser_2_layer_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
348     10966666, 30, 0, 0};
349     CheckSeekMode(fileTest5);
350     seekInfo fileTest6{"/data/test/media/demuxer_parser_2_layer_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 330, 0, 0};
351     CheckSeekMode(fileTest6);
352     seekInfo fileTest7{"/data/test/media/demuxer_parser_2_layer_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
353     5466666, 180, 0, 0};
354     CheckSeekMode(fileTest7);
355     seekInfo fileTest8{"/data/test/media/demuxer_parser_2_layer_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
356     10966666, 30, 0, 0};
357     CheckSeekMode(fileTest8);
358 }
359 
360 /**
361  * @tc.number    : DEMUXER_SEEK_0008
362  * @tc.name      : demuxer seek, demuxer_parser_3_layer_frame_avc.mp4
363  * @tc.desc      : function test
364  */
365 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0008, TestSize.Level2)
366 {
367     seekInfo fileTest1{"/data/test/media/demuxer_parser_3_layer_frame_avc.mp4", SEEK_MODE_NEXT_SYNC, 0, 330, 0, 0};
368     CheckSeekMode(fileTest1);
369     seekInfo fileTest2{"/data/test/media/demuxer_parser_3_layer_frame_avc.mp4", SEEK_MODE_NEXT_SYNC,
370     5466666, 150, 0, 0};
371     CheckSeekMode(fileTest2);
372     seekInfo fileTest3{"/data/test/media/demuxer_parser_3_layer_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 330, 0, 0};
373     CheckSeekMode(fileTest3);
374     seekInfo fileTest4{"/data/test/media/demuxer_parser_3_layer_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
375     5466666, 180, 0, 0};
376     CheckSeekMode(fileTest4);
377     seekInfo fileTest5{"/data/test/media/demuxer_parser_3_layer_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
378     10966666, 30, 0, 0};
379     CheckSeekMode(fileTest5);
380     seekInfo fileTest6{"/data/test/media/demuxer_parser_3_layer_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 330, 0, 0};
381     CheckSeekMode(fileTest6);
382     seekInfo fileTest7{"/data/test/media/demuxer_parser_3_layer_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
383     5466666, 180, 0, 0};
384     CheckSeekMode(fileTest7);
385     seekInfo fileTest8{"/data/test/media/demuxer_parser_3_layer_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
386     10966666, 30, 0, 0};
387     CheckSeekMode(fileTest8);
388 }
389 
390 /**
391  * @tc.number    : DEMUXER_SEEK_0009
392  * @tc.name      : demuxer seek, demuxer_parser_3_layer_frame_hevc.mp4
393  * @tc.desc      : function test
394  */
395 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0009, TestSize.Level2)
396 {
397     seekInfo fileTest1{"/data/test/media/demuxer_parser_3_layer_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC, 0, 330, 0, 0};
398     CheckSeekMode(fileTest1);
399     seekInfo fileTest2{"/data/test/media/demuxer_parser_3_layer_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC,
400     5466666, 150, 0, 0};
401     CheckSeekMode(fileTest2);
402     seekInfo fileTest3{"/data/test/media/demuxer_parser_3_layer_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 330, 0, 0};
403     CheckSeekMode(fileTest3);
404     seekInfo fileTest4{"/data/test/media/demuxer_parser_3_layer_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
405     5466666, 180, 0, 0};
406     CheckSeekMode(fileTest4);
407     seekInfo fileTest5{"/data/test/media/demuxer_parser_3_layer_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
408     10966666, 30, 0, 0};
409     CheckSeekMode(fileTest5);
410     seekInfo fileTest6{"/data/test/media/demuxer_parser_3_layer_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 330, 0, 0};
411     CheckSeekMode(fileTest6);
412     seekInfo fileTest7{"/data/test/media/demuxer_parser_3_layer_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
413     5466666, 180, 0, 0};
414     CheckSeekMode(fileTest7);
415     seekInfo fileTest8{"/data/test/media/demuxer_parser_3_layer_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
416     10966666, 30, 0, 0};
417     CheckSeekMode(fileTest8);
418 }
419 
420 /**
421  * @tc.number    : DEMUXER_SEEK_0010
422  * @tc.name      : demuxer seek, demuxer_parser_4_layer_frame_avc.mp4
423  * @tc.desc      : function test
424  */
425 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0010, TestSize.Level2)
426 {
427     seekInfo fileTest1{"/data/test/media/demuxer_parser_4_layer_frame_avc.mp4", SEEK_MODE_NEXT_SYNC, 0, 330, 0, 0};
428     CheckSeekMode(fileTest1);
429     seekInfo fileTest2{"/data/test/media/demuxer_parser_4_layer_frame_avc.mp4", SEEK_MODE_NEXT_SYNC,
430     5466666, 150, 0, 0};
431     CheckSeekMode(fileTest2);
432     seekInfo fileTest3{"/data/test/media/demuxer_parser_4_layer_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 330, 0, 0};
433     CheckSeekMode(fileTest3);
434     seekInfo fileTest4{"/data/test/media/demuxer_parser_4_layer_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
435     5466666, 180, 0, 0};
436     CheckSeekMode(fileTest4);
437     seekInfo fileTest5{"/data/test/media/demuxer_parser_4_layer_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
438     10966666, 30, 0, 0};
439     CheckSeekMode(fileTest5);
440     seekInfo fileTest6{"/data/test/media/demuxer_parser_4_layer_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 330, 0, 0};
441     CheckSeekMode(fileTest6);
442     seekInfo fileTest7{"/data/test/media/demuxer_parser_4_layer_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
443     5466666, 180, 0, 0};
444     CheckSeekMode(fileTest7);
445     seekInfo fileTest8{"/data/test/media/demuxer_parser_4_layer_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
446     10966666, 30, 0, 0};
447     CheckSeekMode(fileTest8);
448 }
449 
450 /**
451  * @tc.number    : DEMUXER_SEEK_0011
452  * @tc.name      : demuxer seek, demuxer_parser_4_layer_frame_hevc.mp4
453  * @tc.desc      : function test
454  */
455 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0011, TestSize.Level2)
456 {
457     seekInfo fileTest1{"/data/test/media/demuxer_parser_4_layer_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC, 0, 330, 0, 0};
458     CheckSeekMode(fileTest1);
459     seekInfo fileTest2{"/data/test/media/demuxer_parser_4_layer_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC,
460     5466666, 150, 0, 0};
461     CheckSeekMode(fileTest2);
462     seekInfo fileTest3{"/data/test/media/demuxer_parser_4_layer_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 330, 0, 0};
463     CheckSeekMode(fileTest3);
464     seekInfo fileTest4{"/data/test/media/demuxer_parser_4_layer_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
465     5466666, 180, 0, 0};
466     CheckSeekMode(fileTest4);
467     seekInfo fileTest5{"/data/test/media/demuxer_parser_4_layer_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
468     10966666, 30, 0, 0};
469     CheckSeekMode(fileTest5);
470     seekInfo fileTest6{"/data/test/media/demuxer_parser_4_layer_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 330, 0, 0};
471     CheckSeekMode(fileTest6);
472     seekInfo fileTest7{"/data/test/media/demuxer_parser_4_layer_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
473     5466666, 180, 0, 0};
474     CheckSeekMode(fileTest7);
475     seekInfo fileTest8{"/data/test/media/demuxer_parser_4_layer_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
476     10966666, 30, 0, 0};
477     CheckSeekMode(fileTest8);
478 }
479 
480 /**
481  * @tc.number    : DEMUXER_SEEK_0012
482  * @tc.name      : demuxer seek, demuxer_parser_all_i_frame_avc.mp4
483  * @tc.desc      : function test
484  */
485 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0012, TestSize.Level1)
486 {
487     seekInfo fileTest1{"/data/test/media/demuxer_parser_all_i_frame_avc.mp4", SEEK_MODE_NEXT_SYNC, 0, 210, 297, 0};
488     CheckSeekMode(fileTest1);
489     seekInfo fileTest2{"/data/test/media/demuxer_parser_all_i_frame_avc.mp4", SEEK_MODE_NEXT_SYNC,
490     3500000, 105, 148, 0};
491     CheckSeekMode(fileTest2);
492     seekInfo fileTest3{"/data/test/media/demuxer_parser_all_i_frame_avc.mp4", SEEK_MODE_NEXT_SYNC, 6966666, 1, 2, 0};
493     CheckSeekMode(fileTest3);
494     seekInfo fileTest4{"/data/test/media/demuxer_parser_all_i_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 210, 297, 0};
495     CheckSeekMode(fileTest4);
496     seekInfo fileTest5{"/data/test/media/demuxer_parser_all_i_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
497     3500000, 105, 149, 0};
498     CheckSeekMode(fileTest5);
499     seekInfo fileTest6{"/data/test/media/demuxer_parser_all_i_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
500     6966666, 2, 4, 0};
501     CheckSeekMode(fileTest6);
502     seekInfo fileTest7{"/data/test/media/demuxer_parser_all_i_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 210, 297, 0};
503     CheckSeekMode(fileTest7);
504     seekInfo fileTest8{"/data/test/media/demuxer_parser_all_i_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
505     3500000, 105, 148, 0};
506     CheckSeekMode(fileTest8);
507     seekInfo fileTest9{"/data/test/media/demuxer_parser_all_i_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC, 6966666, 1, 2, 0};
508     CheckSeekMode(fileTest9);
509 }
510 
511 /**
512  * @tc.number    : DEMUXER_SEEK_0013
513  * @tc.name      : demuxer seek, demuxer_parser_all_i_frame_hevc.mp4
514  * @tc.desc      : function test
515  */
516 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0013, TestSize.Level2)
517 {
518     seekInfo fileTest1{"/data/test/media/demuxer_parser_all_i_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC, 0, 210, 297, 0};
519     CheckSeekMode(fileTest1);
520     seekInfo fileTest2{"/data/test/media/demuxer_parser_all_i_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC,
521     3500000, 105, 148, 0};
522     CheckSeekMode(fileTest2);
523     seekInfo fileTest3{"/data/test/media/demuxer_parser_all_i_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC, 6966666, 1, 2, 0};
524     CheckSeekMode(fileTest3);
525     seekInfo fileTest4{"/data/test/media/demuxer_parser_all_i_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 210, 297, 0};
526     CheckSeekMode(fileTest4);
527     seekInfo fileTest5{"/data/test/media/demuxer_parser_all_i_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
528     3500000, 105, 149, 0};
529     CheckSeekMode(fileTest5);
530     seekInfo fileTest6{"/data/test/media/demuxer_parser_all_i_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
531     6966666, 2, 4, 0};
532     CheckSeekMode(fileTest6);
533     seekInfo fileTest7{"/data/test/media/demuxer_parser_all_i_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 210, 297, 0};
534     CheckSeekMode(fileTest7);
535     seekInfo fileTest8{"/data/test/media/demuxer_parser_all_i_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
536     3500000, 105, 148, 0};
537     CheckSeekMode(fileTest8);
538     seekInfo fileTest9{"/data/test/media/demuxer_parser_all_i_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
539     6966666, 1, 2, 0};
540     CheckSeekMode(fileTest9);
541 }
542 
543 /**
544  * @tc.number    : DEMUXER_SEEK_0014
545  * @tc.name      : demuxer seek, demuxer_parser_ipb_frame_avc.mp4
546  * @tc.desc      : function test
547  */
548 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0014, TestSize.Level0)
549 {
550     seekInfo fileTest1{"/data/test/media/demuxer_parser_ipb_frame_avc.mp4", SEEK_MODE_NEXT_SYNC, 0, 372, 525, 0};
551     CheckSeekMode(fileTest1);
552     seekInfo fileTest2{"/data/test/media/demuxer_parser_ipb_frame_avc.mp4", SEEK_MODE_NEXT_SYNC, 6200000, 162, 230, 0};
553     CheckSeekMode(fileTest2);
554     seekInfo fileTest3{"/data/test/media/demuxer_parser_ipb_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 372, 525, 0};
555     CheckSeekMode(fileTest3);
556     seekInfo fileTest4{"/data/test/media/demuxer_parser_ipb_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
557     6200000, 192, 274, 0};
558     CheckSeekMode(fileTest4);
559     seekInfo fileTest5{"/data/test/media/demuxer_parser_ipb_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
560     12366666, 12, 19, 0};
561     CheckSeekMode(fileTest5);
562     seekInfo fileTest6{"/data/test/media/demuxer_parser_ipb_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 372, 525, 0};
563     CheckSeekMode(fileTest6);
564     seekInfo fileTest7{"/data/test/media/demuxer_parser_ipb_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
565     6200000, 192, 274, 0};
566     CheckSeekMode(fileTest7);
567     seekInfo fileTest8{"/data/test/media/demuxer_parser_ipb_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
568     12366666, 12, 19, 0};
569     CheckSeekMode(fileTest8);
570 }
571 
572 /**
573  * @tc.number    : DEMUXER_SEEK_0015
574  * @tc.name      : demuxer seek, demuxer_parser_ipb_frame_hevc.mp4
575  * @tc.desc      : function test
576  */
577 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0015, TestSize.Level0)
578 {
579     seekInfo fileTest1{"/data/test/media/demuxer_parser_ipb_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC, 0, 372, 525, 0};
580     CheckSeekMode(fileTest1);
581     seekInfo fileTest2{"/data/test/media/demuxer_parser_ipb_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC, 6323000, 172, 244, 0};
582     CheckSeekMode(fileTest2);
583     seekInfo fileTest3{"/data/test/media/demuxer_parser_ipb_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 372, 525, 0};
584     CheckSeekMode(fileTest3);
585     seekInfo fileTest4{"/data/test/media/demuxer_parser_ipb_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
586     6323000, 197, 281, 0};
587     CheckSeekMode(fileTest4);
588     seekInfo fileTest5{"/data/test/media/demuxer_parser_ipb_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
589     12356333, 22, 33, 0};
590     CheckSeekMode(fileTest5);
591     seekInfo fileTest6{"/data/test/media/demuxer_parser_ipb_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 372, 525, 0};
592     CheckSeekMode(fileTest6);
593     seekInfo fileTest7{"/data/test/media/demuxer_parser_ipb_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
594     6323000, 172, 244, 0};
595     CheckSeekMode(fileTest7);
596     seekInfo fileTest8{"/data/test/media/demuxer_parser_ipb_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
597     12356333, 22, 33, 0};
598     CheckSeekMode(fileTest8);
599 }
600 
601 /**
602  * @tc.number    : DEMUXER_SEEK_0016
603  * @tc.name      : demuxer seek, demuxer_parser_ltr_frame_avc.mp4
604  * @tc.desc      : function test
605  */
606 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0016, TestSize.Level1)
607 {
608     seekInfo fileTest1{"/data/test/media/demuxer_parser_ltr_frame_avc.mp4", SEEK_MODE_NEXT_SYNC, 0, 330, 0, 0};
609     CheckSeekMode(fileTest1);
610     seekInfo fileTest2{"/data/test/media/demuxer_parser_ltr_frame_avc.mp4", SEEK_MODE_NEXT_SYNC, 5600000, 80, 0, 0};
611     CheckSeekMode(fileTest2);
612     seekInfo fileTest3{"/data/test/media/demuxer_parser_ltr_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 330, 0, 0};
613     CheckSeekMode(fileTest3);
614     seekInfo fileTest4{"/data/test/media/demuxer_parser_ltr_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
615     5600000, 330, 0, 0};
616     CheckSeekMode(fileTest4);
617     seekInfo fileTest5{"/data/test/media/demuxer_parser_ltr_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
618     10966666, 80, 0, 0};
619     CheckSeekMode(fileTest5);
620     seekInfo fileTest6{"/data/test/media/demuxer_parser_ltr_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 330, 0, 0};
621     CheckSeekMode(fileTest6);
622     seekInfo fileTest7{"/data/test/media/demuxer_parser_ltr_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC, 5600000, 80, 0, 0};
623     CheckSeekMode(fileTest7);
624     seekInfo fileTest8{"/data/test/media/demuxer_parser_ltr_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC, 10966666, 80, 0, 0};
625     CheckSeekMode(fileTest8);
626 }
627 
628 /**
629  * @tc.number    : DEMUXER_SEEK_0017
630  * @tc.name      : demuxer seek, demuxer_parser_ltr_frame_hevc.mp4
631  * @tc.desc      : function test
632  */
633 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0017, TestSize.Level1)
634 {
635     seekInfo fileTest1{"/data/test/media/demuxer_parser_ltr_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC, 0, 330, 0, 0};
636     CheckSeekMode(fileTest1);
637     seekInfo fileTest2{"/data/test/media/demuxer_parser_ltr_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC, 5600000, 80, 0, 0};
638     CheckSeekMode(fileTest2);
639     seekInfo fileTest3{"/data/test/media/demuxer_parser_ltr_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 330, 0, 0};
640     CheckSeekMode(fileTest3);
641     seekInfo fileTest4{"/data/test/media/demuxer_parser_ltr_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
642     5600000, 330, 0, 0};
643     CheckSeekMode(fileTest4);
644     seekInfo fileTest5{"/data/test/media/demuxer_parser_ltr_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
645     10966666, 80, 0, 0};
646     CheckSeekMode(fileTest5);
647     seekInfo fileTest6{"/data/test/media/demuxer_parser_ltr_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 330, 0, 0};
648     CheckSeekMode(fileTest6);
649     seekInfo fileTest7{"/data/test/media/demuxer_parser_ltr_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC, 5600000, 80, 0, 0};
650     CheckSeekMode(fileTest7);
651     seekInfo fileTest8{"/data/test/media/demuxer_parser_ltr_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
652     10966666, 80, 0, 0};
653     CheckSeekMode(fileTest8);
654 }
655 
656 /**
657  * @tc.number    : DEMUXER_SEEK_0018
658  * @tc.name      : demuxer seek, demuxer_parser_one_i_frame_avc.mp4
659  * @tc.desc      : function test
660  */
661 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0018, TestSize.Level2)
662 {
663     seekInfo fileTest1{"/data/test/media/demuxer_parser_one_i_frame_avc.mp4", SEEK_MODE_NEXT_SYNC, 0, 372, 525, 0};
664     CheckSeekMode(fileTest1);
665     seekInfo fileTest2{"/data/test/media/demuxer_parser_one_i_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 372, 525, 0};
666     CheckSeekMode(fileTest2);
667     seekInfo fileTest3{"/data/test/media/demuxer_parser_one_i_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
668     6200000, 372, 525, 0};
669     CheckSeekMode(fileTest3);
670     seekInfo fileTest4{"/data/test/media/demuxer_parser_one_i_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
671     12366666, 372, 525, 0};
672     CheckSeekMode(fileTest4);
673     seekInfo fileTest5{"/data/test/media/demuxer_parser_one_i_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 372, 525, 0};
674     CheckSeekMode(fileTest5);
675     seekInfo fileTest6{"/data/test/media/demuxer_parser_one_i_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
676     6200000, 372, 525, 0};
677     CheckSeekMode(fileTest6);
678     seekInfo fileTest7{"/data/test/media/demuxer_parser_one_i_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
679     12366666, 372, 525, 0};
680     CheckSeekMode(fileTest7);
681 }
682 
683 /**
684  * @tc.number    : DEMUXER_SEEK_0019
685  * @tc.name      : demuxer seek, demuxer_parser_one_i_frame_hevc.mp4
686  * @tc.desc      : function test
687  */
688 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0019, TestSize.Level2)
689 {
690     seekInfo fileTest1{"/data/test/media/demuxer_parser_one_i_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC, 0, 372, 525, 0};
691     CheckSeekMode(fileTest1);
692     seekInfo fileTest2{"/data/test/media/demuxer_parser_one_i_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 372, 525, 0};
693     CheckSeekMode(fileTest2);
694     seekInfo fileTest3{"/data/test/media/demuxer_parser_one_i_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
695     6200000, 372, 525, 0};
696     CheckSeekMode(fileTest3);
697     seekInfo fileTest4{"/data/test/media/demuxer_parser_one_i_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
698     12366666, 372, 525, 0};
699     CheckSeekMode(fileTest4);
700     seekInfo fileTest5{"/data/test/media/demuxer_parser_one_i_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 372, 525, 0};
701     CheckSeekMode(fileTest5);
702     seekInfo fileTest6{"/data/test/media/demuxer_parser_one_i_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
703     6200000, 372, 525, 0};
704     CheckSeekMode(fileTest6);
705     seekInfo fileTest7{"/data/test/media/demuxer_parser_one_i_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
706     12366666, 372, 525, 0};
707     CheckSeekMode(fileTest7);
708 }
709 
710 /**
711  * @tc.number    : DEMUXER_SEEK_0020
712  * @tc.name      : demuxer seek, demuxer_parser_one_i_frame_no_audio_avc.mp4
713  * @tc.desc      : function test
714  */
715 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0020, TestSize.Level2)
716 {
717     seekInfo fileTest1{"/data/test/media/demuxer_parser_one_i_frame_no_audio_avc.mp4", SEEK_MODE_NEXT_SYNC,
718     0, 372, 0, 0};
719     CheckSeekMode(fileTest1);
720     seekInfo fileTest2{"/data/test/media/demuxer_parser_one_i_frame_no_audio_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
721     0, 372, 0, 0};
722     CheckSeekMode(fileTest2);
723     seekInfo fileTest3{"/data/test/media/demuxer_parser_one_i_frame_no_audio_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
724     6200000, 372, 0, 0};
725     CheckSeekMode(fileTest3);
726     seekInfo fileTest4{"/data/test/media/demuxer_parser_one_i_frame_no_audio_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
727     12366666, 372, 0, 0};
728     CheckSeekMode(fileTest4);
729     seekInfo fileTest5{"/data/test/media/demuxer_parser_one_i_frame_no_audio_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
730     0, 372, 0, 0};
731     CheckSeekMode(fileTest5);
732     seekInfo fileTest6{"/data/test/media/demuxer_parser_one_i_frame_no_audio_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
733     6200000, 372, 0, 0};
734     CheckSeekMode(fileTest6);
735     seekInfo fileTest7{"/data/test/media/demuxer_parser_one_i_frame_no_audio_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
736     12366666, 372, 0, 0};
737     CheckSeekMode(fileTest7);
738 }
739 
740 /**
741  * @tc.number    : DEMUXER_SEEK_0021
742  * @tc.name      : demuxer seek, demuxer_parser_one_i_frame_no_audio_hevc.mp4
743  * @tc.desc      : function test
744  */
745 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0021, TestSize.Level2)
746 {
747     seekInfo fileTest1{"/data/test/media/demuxer_parser_one_i_frame_no_audio_hevc.mp4", SEEK_MODE_NEXT_SYNC,
748     0, 372, 0, 0};
749     CheckSeekMode(fileTest1);
750     seekInfo fileTest2{"/data/test/media/demuxer_parser_one_i_frame_no_audio_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
751     0, 372, 0, 0};
752     CheckSeekMode(fileTest2);
753     seekInfo fileTest3{"/data/test/media/demuxer_parser_one_i_frame_no_audio_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
754     6200000, 372, 0, 0};
755     CheckSeekMode(fileTest3);
756     seekInfo fileTest4{"/data/test/media/demuxer_parser_one_i_frame_no_audio_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
757     12366666, 372, 0, 0};
758     CheckSeekMode(fileTest4);
759     seekInfo fileTest5{"/data/test/media/demuxer_parser_one_i_frame_no_audio_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
760     0, 372, 0, 0};
761     CheckSeekMode(fileTest5);
762     seekInfo fileTest6{"/data/test/media/demuxer_parser_one_i_frame_no_audio_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
763     6200000, 372, 0, 0};
764     CheckSeekMode(fileTest6);
765     seekInfo fileTest7{"/data/test/media/demuxer_parser_one_i_frame_no_audio_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
766     12366666, 372, 0, 0};
767     CheckSeekMode(fileTest7);
768 }
769 
770 /**
771  * @tc.number    : DEMUXER_SEEK_0022
772  * @tc.name      : demuxer seek, demuxer_parser_sdtp_frame_avc.mp4
773  * @tc.desc      : function test
774  */
775 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0022, TestSize.Level1)
776 {
777     seekInfo fileTest1{"/data/test/media/demuxer_parser_sdtp_frame_avc.mp4", SEEK_MODE_NEXT_SYNC, 0, 372, 525, 0};
778     CheckSeekMode(fileTest1);
779     seekInfo fileTest2{"/data/test/media/demuxer_parser_sdtp_frame_avc.mp4", SEEK_MODE_NEXT_SYNC, 6200000, 122, 175, 0};
780     CheckSeekMode(fileTest2);
781     seekInfo fileTest3{"/data/test/media/demuxer_parser_sdtp_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 372, 525, 0};
782     CheckSeekMode(fileTest3);
783     seekInfo fileTest4{"/data/test/media/demuxer_parser_sdtp_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
784     6200000, 372, 525, 0};
785     CheckSeekMode(fileTest4);
786     seekInfo fileTest5{"/data/test/media/demuxer_parser_sdtp_frame_avc.mp4", SEEK_MODE_PREVIOUS_SYNC,
787     12366666, 122, 176, 0};
788     CheckSeekMode(fileTest5);
789     seekInfo fileTest6{"/data/test/media/demuxer_parser_sdtp_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 372, 525, 0};
790     CheckSeekMode(fileTest6);
791     seekInfo fileTest7{"/data/test/media/demuxer_parser_sdtp_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
792     6200000, 122, 175, 0};
793     CheckSeekMode(fileTest7);
794     seekInfo fileTest8{"/data/test/media/demuxer_parser_sdtp_frame_avc.mp4", SEEK_MODE_CLOSEST_SYNC,
795     12366666, 122, 176, 0};
796     CheckSeekMode(fileTest8);
797 }
798 
799 /**
800  * @tc.number    : DEMUXER_SEEK_0023
801  * @tc.name      : demuxer seek, demuxer_parser_sdtp_frame_hevc.mp4
802  * @tc.desc      : function test
803  */
804 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0023, TestSize.Level1)
805 {
806     seekInfo fileTest1{"/data/test/media/demuxer_parser_sdtp_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC, 0, 372, 525, 0};
807     CheckSeekMode(fileTest1);
808     seekInfo fileTest2{"/data/test/media/demuxer_parser_sdtp_frame_hevc.mp4", SEEK_MODE_NEXT_SYNC,
809     6300000, 126, 178, 0};
810     CheckSeekMode(fileTest2);
811     seekInfo fileTest3{"/data/test/media/demuxer_parser_sdtp_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 372, 525, 0};
812     CheckSeekMode(fileTest3);
813     seekInfo fileTest4{"/data/test/media/demuxer_parser_sdtp_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
814     6300000, 372, 525, 0};
815     CheckSeekMode(fileTest4);
816     seekInfo fileTest5{"/data/test/media/demuxer_parser_sdtp_frame_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC,
817     12333333, 126, 179, 0};
818     CheckSeekMode(fileTest5);
819     seekInfo fileTest6{"/data/test/media/demuxer_parser_sdtp_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 372, 525, 0};
820     CheckSeekMode(fileTest6);
821     seekInfo fileTest7{"/data/test/media/demuxer_parser_sdtp_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
822     6300000, 126, 178, 0};
823     CheckSeekMode(fileTest7);
824     seekInfo fileTest8{"/data/test/media/demuxer_parser_sdtp_frame_hevc.mp4", SEEK_MODE_CLOSEST_SYNC,
825     12333333, 126, 179, 0};
826     CheckSeekMode(fileTest8);
827 }
828 
829 /**
830  * @tc.number    : DEMUXER_SEEK_0024
831  * @tc.name      : demuxer seek, double_hevc.mp4
832  * @tc.desc      : function test
833  */
834 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0024, TestSize.Level2)
835 {
836     seekInfo fileTest1{"/data/test/media/double_hevc.mp4", SEEK_MODE_NEXT_SYNC, 0, 77, 120, 0};
837     CheckSeekMode(fileTest1);
838     seekInfo fileTest2{"/data/test/media/double_hevc.mp4", SEEK_MODE_NEXT_SYNC, 1266666, 17, 26, 0};
839     CheckSeekMode(fileTest2);
840     seekInfo fileTest3{"/data/test/media/double_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 77, 120, 0};
841     CheckSeekMode(fileTest3);
842     seekInfo fileTest4{"/data/test/media/double_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC, 1266666, 47, 74, 0};
843     CheckSeekMode(fileTest4);
844     seekInfo fileTest5{"/data/test/media/double_hevc.mp4", SEEK_MODE_PREVIOUS_SYNC, 2533444, 17, 27, 0};
845     CheckSeekMode(fileTest5);
846     seekInfo fileTest6{"/data/test/media/double_hevc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 77, 120, 0};
847     CheckSeekMode(fileTest6);
848     seekInfo fileTest7{"/data/test/media/double_hevc.mp4", SEEK_MODE_CLOSEST_SYNC, 1266666, 47, 74, 0};
849     CheckSeekMode(fileTest7);
850     seekInfo fileTest8{"/data/test/media/double_hevc.mp4", SEEK_MODE_CLOSEST_SYNC, 2533444, 17, 27, 0};
851     CheckSeekMode(fileTest8);
852 }
853 
854 /**
855  * @tc.number    : DEMUXER_SEEK_0025
856  * @tc.name      : demuxer seek, double_vivid.mp4
857  * @tc.desc      : function test
858  */
859 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0025, TestSize.Level2)
860 {
861     seekInfo fileTest1{"/data/test/media/double_vivid.mp4", SEEK_MODE_NEXT_SYNC, 0, 66, 103, 0};
862     CheckSeekMode(fileTest1);
863     seekInfo fileTest2{"/data/test/media/double_vivid.mp4", SEEK_MODE_NEXT_SYNC, 1100000, 6, 10, 0};
864     CheckSeekMode(fileTest2);
865     seekInfo fileTest3{"/data/test/media/double_vivid.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 66, 103, 0};
866     CheckSeekMode(fileTest3);
867     seekInfo fileTest4{"/data/test/media/double_vivid.mp4", SEEK_MODE_PREVIOUS_SYNC, 1100000, 36, 58, 0};
868     CheckSeekMode(fileTest4);
869     seekInfo fileTest5{"/data/test/media/double_vivid.mp4", SEEK_MODE_PREVIOUS_SYNC, 2166777, 6, 11, 0};
870     CheckSeekMode(fileTest5);
871     seekInfo fileTest6{"/data/test/media/double_vivid.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 66, 103, 0};
872     CheckSeekMode(fileTest6);
873     seekInfo fileTest7{"/data/test/media/double_vivid.mp4", SEEK_MODE_CLOSEST_SYNC, 1100000, 36, 58, 0};
874     CheckSeekMode(fileTest7);
875     seekInfo fileTest8{"/data/test/media/double_vivid.mp4", SEEK_MODE_CLOSEST_SYNC, 2166777, 6, 11, 0};
876     CheckSeekMode(fileTest8);
877 }
878 
879 /**
880  * @tc.number    : DEMUXER_SEEK_0027
881  * @tc.name      : demuxer seek, h264_aac_640.ts
882  * @tc.desc      : function test
883  */
884 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0027, TestSize.Level2)
885 {
886     seekInfo fileTest1{"/data/test/media/h264_aac_640.ts", SEEK_MODE_NEXT_SYNC, 0, 123, 176, 0};
887     CheckSeekMode(fileTest1);
888     seekInfo fileTest2{"/data/test/media/h264_aac_640.ts", SEEK_MODE_NEXT_SYNC, 3500000, 16, 29, 0};
889     CheckSeekMode(fileTest2);
890     seekInfo fileTest3{"/data/test/media/h264_aac_640.ts", SEEK_MODE_NEXT_SYNC, 4156556, 1, 8, 0};
891     CheckSeekMode(fileTest3);
892     seekInfo fileTest4{"/data/test/media/h264_aac_640.ts", SEEK_MODE_PREVIOUS_SYNC, 0, 123, 176, 0};
893     CheckSeekMode(fileTest4);
894     seekInfo fileTest5{"/data/test/media/h264_aac_640.ts", SEEK_MODE_PREVIOUS_SYNC, 3500000, 16, 29, 0};
895     CheckSeekMode(fileTest5);
896     seekInfo fileTest6{"/data/test/media/h264_aac_640.ts", SEEK_MODE_PREVIOUS_SYNC, 4156556, 1, 8, 0};
897     CheckSeekMode(fileTest6);
898     seekInfo fileTest7{"/data/test/media/h264_aac_640.ts", SEEK_MODE_CLOSEST_SYNC, 0, 123, 176, 0};
899     CheckSeekMode(fileTest7);
900     seekInfo fileTest8{"/data/test/media/h264_aac_640.ts", SEEK_MODE_CLOSEST_SYNC, 3500000, 16, 29, 0};
901     CheckSeekMode(fileTest8);
902     seekInfo fileTest9{"/data/test/media/h264_aac_640.ts", SEEK_MODE_CLOSEST_SYNC, 4156556, 1, 8, 0};
903     CheckSeekMode(fileTest9);
904 }
905 
906 /**
907  * @tc.number    : DEMUXER_SEEK_0028
908  * @tc.name      : demuxer seek, h264_aac_1280.ts
909  * @tc.desc      : function test
910  */
911 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0028, TestSize.Level2)
912 {
913     seekInfo fileTest1{"/data/test/media/h264_aac_1280.ts", SEEK_MODE_NEXT_SYNC, 0, 123, 176, 0};
914     CheckSeekMode(fileTest1);
915     seekInfo fileTest2{"/data/test/media/h264_aac_1280.ts", SEEK_MODE_NEXT_SYNC, 3500000, 16, 29, 0};
916     CheckSeekMode(fileTest2);
917     seekInfo fileTest3{"/data/test/media/h264_aac_1280.ts", SEEK_MODE_NEXT_SYNC, 4156556, 1, 8, 0};
918     CheckSeekMode(fileTest3);
919     seekInfo fileTest4{"/data/test/media/h264_aac_1280.ts", SEEK_MODE_PREVIOUS_SYNC, 0, 123, 176, 0};
920     CheckSeekMode(fileTest4);
921     seekInfo fileTest5{"/data/test/media/h264_aac_1280.ts", SEEK_MODE_PREVIOUS_SYNC, 3500000, 16, 29, 0};
922     CheckSeekMode(fileTest5);
923     seekInfo fileTest6{"/data/test/media/h264_aac_1280.ts", SEEK_MODE_PREVIOUS_SYNC, 4156556, 1, 8, 0};
924     CheckSeekMode(fileTest6);
925     seekInfo fileTest7{"/data/test/media/h264_aac_1280.ts", SEEK_MODE_CLOSEST_SYNC, 0, 123, 176, 0};
926     CheckSeekMode(fileTest7);
927     seekInfo fileTest8{"/data/test/media/h264_aac_1280.ts", SEEK_MODE_CLOSEST_SYNC, 3500000, 16, 29, 0};
928     CheckSeekMode(fileTest8);
929     seekInfo fileTest9{"/data/test/media/h264_aac_1280.ts", SEEK_MODE_CLOSEST_SYNC, 4156556, 1, 8, 0};
930     CheckSeekMode(fileTest9);
931 }
932 
933 /**
934  * @tc.number    : DEMUXER_SEEK_0029
935  * @tc.name      : demuxer seek, h264_aac_1920.ts
936  * @tc.desc      : function test
937  */
938 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0029, TestSize.Level2)
939 {
940     seekInfo fileTest1{"/data/test/media/h264_aac_1920.ts", SEEK_MODE_NEXT_SYNC, 0, 123, 176, 0};
941     CheckSeekMode(fileTest1);
942     seekInfo fileTest2{"/data/test/media/h264_aac_1920.ts", SEEK_MODE_NEXT_SYNC, 3500000, 16, 29, 0};
943     CheckSeekMode(fileTest2);
944     seekInfo fileTest3{"/data/test/media/h264_aac_1920.ts", SEEK_MODE_NEXT_SYNC, 4156556, 1, 8, 0};
945     CheckSeekMode(fileTest3);
946     seekInfo fileTest4{"/data/test/media/h264_aac_1920.ts", SEEK_MODE_PREVIOUS_SYNC, 0, 123, 176, 0};
947     CheckSeekMode(fileTest4);
948     seekInfo fileTest5{"/data/test/media/h264_aac_1920.ts", SEEK_MODE_PREVIOUS_SYNC, 3500000, 16, 29, 0};
949     CheckSeekMode(fileTest5);
950     seekInfo fileTest6{"/data/test/media/h264_aac_1920.ts", SEEK_MODE_PREVIOUS_SYNC, 4156556, 1, 8, 0};
951     CheckSeekMode(fileTest6);
952     seekInfo fileTest7{"/data/test/media/h264_aac_1920.ts", SEEK_MODE_CLOSEST_SYNC, 0, 123, 176, 0};
953     CheckSeekMode(fileTest7);
954     seekInfo fileTest8{"/data/test/media/h264_aac_1920.ts", SEEK_MODE_CLOSEST_SYNC, 3500000, 16, 29, 0};
955     CheckSeekMode(fileTest8);
956     seekInfo fileTest9{"/data/test/media/h264_aac_1920.ts", SEEK_MODE_CLOSEST_SYNC, 4156556, 1, 8, 0};
957     CheckSeekMode(fileTest9);
958 }
959 
960 /**
961  * @tc.number    : DEMUXER_SEEK_0030
962  * @tc.name      : demuxer seek, h264_mp3_3mevx_fmp4.mp4
963  * @tc.desc      : function test
964  */
965 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0030, TestSize.Level0)
966 {
967     seekInfo fileTest1{"/data/test/media/h264_mp3_3mevx_fmp4.mp4", SEEK_MODE_NEXT_SYNC, 0, 369, 465, 0};
968     CheckSeekMode(fileTest1);
969     seekInfo fileTest2{"/data/test/media/h264_mp3_3mevx_fmp4.mp4", SEEK_MODE_NEXT_SYNC, 6224375, 123, 155, 0};
970     CheckSeekMode(fileTest2);
971     seekInfo fileTest3{"/data/test/media/h264_mp3_3mevx_fmp4.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 369, 465, 0};
972     CheckSeekMode(fileTest3);
973     seekInfo fileTest4{"/data/test/media/h264_mp3_3mevx_fmp4.mp4", SEEK_MODE_PREVIOUS_SYNC, 6224375, 246, 311, 0};
974     CheckSeekMode(fileTest4);
975     seekInfo fileTest5{"/data/test/media/h264_mp3_3mevx_fmp4.mp4", SEEK_MODE_PREVIOUS_SYNC, 12383062, 123, 156, 0};
976     CheckSeekMode(fileTest5);
977     seekInfo fileTest6{"/data/test/media/h264_mp3_3mevx_fmp4.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 369, 465, 0};
978     CheckSeekMode(fileTest6);
979     seekInfo fileTest7{"/data/test/media/h264_mp3_3mevx_fmp4.mp4", SEEK_MODE_CLOSEST_SYNC, 6224375, 123, 155, 0};
980     CheckSeekMode(fileTest7);
981     seekInfo fileTest8{"/data/test/media/h264_mp3_3mevx_fmp4.mp4", SEEK_MODE_CLOSEST_SYNC, 12383062, 123, 156, 0};
982     CheckSeekMode(fileTest8);
983 }
984 
985 /**
986  * @tc.number    : DEMUXER_SEEK_0031
987  * @tc.name      : demuxer seek, h265_aac_1mvex_fmp4.mp4
988  * @tc.desc      : function test
989  */
990 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0031, TestSize.Level2)
991 {
992     seekInfo fileTest1{"/data/test/media/h265_aac_1mvex_fmp4.mp4", SEEK_MODE_NEXT_SYNC, 0, 242, 173, 0};
993     CheckSeekMode(fileTest1);
994     seekInfo fileTest2{"/data/test/media/h265_aac_1mvex_fmp4.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 242, 173, 0};
995     CheckSeekMode(fileTest2);
996     seekInfo fileTest3{"/data/test/media/h265_aac_1mvex_fmp4.mp4", SEEK_MODE_PREVIOUS_SYNC, 2016312, 242, 173, 0};
997     CheckSeekMode(fileTest3);
998     seekInfo fileTest4{"/data/test/media/h265_aac_1mvex_fmp4.mp4", SEEK_MODE_PREVIOUS_SYNC, 4050312, 242, 173, 0};
999     CheckSeekMode(fileTest4);
1000     seekInfo fileTest5{"/data/test/media/h265_aac_1mvex_fmp4.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 242, 173, 0};
1001     CheckSeekMode(fileTest5);
1002     seekInfo fileTest6{"/data/test/media/h265_aac_1mvex_fmp4.mp4", SEEK_MODE_CLOSEST_SYNC, 2016312, 242, 173, 0};
1003     CheckSeekMode(fileTest6);
1004     seekInfo fileTest7{"/data/test/media/h265_aac_1mvex_fmp4.mp4", SEEK_MODE_CLOSEST_SYNC, 4050312, 242, 173, 0};
1005     CheckSeekMode(fileTest7);
1006 }
1007 
1008 /**
1009  * @tc.number    : DEMUXER_SEEK_0033
1010  * @tc.name      : demuxer seek, h265_mp3_640.ts
1011  * @tc.desc      : function test
1012  */
1013 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0033, TestSize.Level2)
1014 {
1015     seekInfo fileTest1{"/data/test/media/h265_mp3_640.ts", SEEK_MODE_NEXT_SYNC, 0, 242, 155, 0};
1016     CheckSeekMode(fileTest1);
1017     seekInfo fileTest2{"/data/test/media/h265_mp3_640.ts", SEEK_MODE_NEXT_SYNC, 3466666, 32, 22, 0};
1018     CheckSeekMode(fileTest2);
1019     seekInfo fileTest3{"/data/test/media/h265_mp3_640.ts", SEEK_MODE_NEXT_SYNC, 4091722, 1, 8, 0};
1020     CheckSeekMode(fileTest3);
1021     seekInfo fileTest4{"/data/test/media/h265_mp3_640.ts", SEEK_MODE_PREVIOUS_SYNC, 0, 242, 155, 0};
1022     CheckSeekMode(fileTest4);
1023     seekInfo fileTest5{"/data/test/media/h265_mp3_640.ts", SEEK_MODE_PREVIOUS_SYNC, 3466666, 33, 22, 0};
1024     CheckSeekMode(fileTest5);
1025     seekInfo fileTest6{"/data/test/media/h265_mp3_640.ts", SEEK_MODE_PREVIOUS_SYNC, 4091722, 1, 8, 0};
1026     CheckSeekMode(fileTest6);
1027     seekInfo fileTest7{"/data/test/media/h265_mp3_640.ts", SEEK_MODE_CLOSEST_SYNC, 0, 242, 155, 0};
1028     CheckSeekMode(fileTest7);
1029     seekInfo fileTest8{"/data/test/media/h265_mp3_640.ts", SEEK_MODE_CLOSEST_SYNC, 3466666, 33, 22, 0};
1030     CheckSeekMode(fileTest8);
1031     seekInfo fileTest9{"/data/test/media/h265_mp3_640.ts", SEEK_MODE_CLOSEST_SYNC, 4091722, 1, 8, 0};
1032     CheckSeekMode(fileTest9);
1033 }
1034 
1035 /**
1036  * @tc.number    : DEMUXER_SEEK_0034
1037  * @tc.name      : demuxer seek, h265_mp3_1280.ts
1038  * @tc.desc      : function test
1039  */
1040 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0034, TestSize.Level2)
1041 {
1042     seekInfo fileTest1{"/data/test/media/h265_mp3_1280.ts", SEEK_MODE_NEXT_SYNC, 0, 242, 155, 0};
1043     CheckSeekMode(fileTest1);
1044     seekInfo fileTest2{"/data/test/media/h265_mp3_1280.ts", SEEK_MODE_NEXT_SYNC, 3466666, 32, 22, 0};
1045     CheckSeekMode(fileTest2);
1046     seekInfo fileTest3{"/data/test/media/h265_mp3_1280.ts", SEEK_MODE_NEXT_SYNC, 4091722, 1, 8, 0};
1047     CheckSeekMode(fileTest3);
1048     seekInfo fileTest4{"/data/test/media/h265_mp3_1280.ts", SEEK_MODE_PREVIOUS_SYNC, 0, 242, 155, 0};
1049     CheckSeekMode(fileTest4);
1050     seekInfo fileTest5{"/data/test/media/h265_mp3_1280.ts", SEEK_MODE_PREVIOUS_SYNC, 3466666, 33, 22, 0};
1051     CheckSeekMode(fileTest5);
1052     seekInfo fileTest6{"/data/test/media/h265_mp3_1280.ts", SEEK_MODE_PREVIOUS_SYNC, 4091722, 1, 8, 0};
1053     CheckSeekMode(fileTest6);
1054     seekInfo fileTest7{"/data/test/media/h265_mp3_1280.ts", SEEK_MODE_CLOSEST_SYNC, 0, 242, 155, 0};
1055     CheckSeekMode(fileTest7);
1056     seekInfo fileTest8{"/data/test/media/h265_mp3_1280.ts", SEEK_MODE_CLOSEST_SYNC, 3466666, 33, 22, 0};
1057     CheckSeekMode(fileTest8);
1058     seekInfo fileTest9{"/data/test/media/h265_mp3_1280.ts", SEEK_MODE_CLOSEST_SYNC, 4091722, 1, 8, 0};
1059     CheckSeekMode(fileTest9);
1060 }
1061 
1062 /**
1063  * @tc.number    : DEMUXER_SEEK_0035
1064  * @tc.name      : demuxer seek, h265_mp3_1920.ts
1065  * @tc.desc      : function test
1066  */
1067 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0035, TestSize.Level2)
1068 {
1069     seekInfo fileTest1{"/data/test/media/h265_mp3_1920.ts", SEEK_MODE_NEXT_SYNC, 0, 242, 155, 0};
1070     CheckSeekMode(fileTest1);
1071     seekInfo fileTest2{"/data/test/media/h265_mp3_1920.ts", SEEK_MODE_NEXT_SYNC, 3466666, 32, 22, 0};
1072     CheckSeekMode(fileTest2);
1073     seekInfo fileTest3{"/data/test/media/h265_mp3_1920.ts", SEEK_MODE_NEXT_SYNC, 4091722, 1, 8, 0};
1074     CheckSeekMode(fileTest3);
1075     seekInfo fileTest4{"/data/test/media/h265_mp3_1920.ts", SEEK_MODE_PREVIOUS_SYNC, 0, 242, 155, 0};
1076     CheckSeekMode(fileTest4);
1077     seekInfo fileTest5{"/data/test/media/h265_mp3_1920.ts", SEEK_MODE_PREVIOUS_SYNC, 3466666, 33, 22, 0};
1078     CheckSeekMode(fileTest5);
1079     seekInfo fileTest6{"/data/test/media/h265_mp3_1920.ts", SEEK_MODE_PREVIOUS_SYNC, 4091722, 1, 8, 0};
1080     CheckSeekMode(fileTest6);
1081     seekInfo fileTest7{"/data/test/media/h265_mp3_1920.ts", SEEK_MODE_CLOSEST_SYNC, 0, 242, 155, 0};
1082     CheckSeekMode(fileTest7);
1083     seekInfo fileTest8{"/data/test/media/h265_mp3_1920.ts", SEEK_MODE_CLOSEST_SYNC, 3466666, 33, 22, 0};
1084     CheckSeekMode(fileTest8);
1085     seekInfo fileTest9{"/data/test/media/h265_mp3_1920.ts", SEEK_MODE_CLOSEST_SYNC, 4091722, 1, 8, 0};
1086     CheckSeekMode(fileTest9);
1087 }
1088 
1089 /**
1090  * @tc.number    : DEMUXER_SEEK_0036
1091  * @tc.name      : demuxer seek, hevc_pcm_a.flv
1092  * @tc.desc      : function test
1093  */
1094 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0036, TestSize.Level2)
1095 {
1096     seekInfo fileTest1{"/data/test/media/hevc_pcm_a.flv", SEEK_MODE_NEXT_SYNC, 0, 602, 385, 0};
1097     CheckSeekMode(fileTest1);
1098     seekInfo fileTest2{"/data/test/media/hevc_pcm_a.flv", SEEK_MODE_NEXT_SYNC, 5034000, 102, 66, 0};
1099     CheckSeekMode(fileTest2);
1100     seekInfo fileTest4{"/data/test/media/hevc_pcm_a.flv", SEEK_MODE_PREVIOUS_SYNC, 0, 602, 385, 0};
1101     CheckSeekMode(fileTest4);
1102     seekInfo fileTest5{"/data/test/media/hevc_pcm_a.flv", SEEK_MODE_PREVIOUS_SYNC, 5034000, 354, 227, 0};
1103     CheckSeekMode(fileTest5);
1104     seekInfo fileTest6{"/data/test/media/hevc_pcm_a.flv", SEEK_MODE_PREVIOUS_SYNC, 10034000, 102, 66, 0};
1105     CheckSeekMode(fileTest6);
1106     seekInfo fileTest7{"/data/test/media/hevc_pcm_a.flv", SEEK_MODE_CLOSEST_SYNC, 0, 602, 385, 0};
1107     CheckSeekMode(fileTest7);
1108     seekInfo fileTest8{"/data/test/media/hevc_pcm_a.flv", SEEK_MODE_CLOSEST_SYNC, 5034000, 354, 227, 0};
1109     CheckSeekMode(fileTest8);
1110     seekInfo fileTest9{"/data/test/media/hevc_pcm_a.flv", SEEK_MODE_CLOSEST_SYNC, 10034000, 102, 66, 0};
1111     CheckSeekMode(fileTest9);
1112 }
1113 
1114 /**
1115  * @tc.number    : DEMUXER_SEEK_0037
1116  * @tc.name      : demuxer seek, hevc_v.ts
1117  * @tc.desc      : function test
1118  */
1119 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0037, TestSize.Level2)
1120 {
1121     seekInfo fileTest1{"/data/test/media/hevc_v.ts", SEEK_MODE_NEXT_SYNC, 0, 602, 0, 0};
1122     CheckSeekMode(fileTest1);
1123     seekInfo fileTest2{"/data/test/media/hevc_v.ts", SEEK_MODE_NEXT_SYNC, 6466666, 212, 0, 0};
1124     CheckSeekMode(fileTest2);
1125     seekInfo fileTest3{"/data/test/media/hevc_v.ts", SEEK_MODE_NEXT_SYNC, 10033333, 1, 0, 0};
1126     CheckSeekMode(fileTest3);
1127     seekInfo fileTest4{"/data/test/media/hevc_v.ts", SEEK_MODE_PREVIOUS_SYNC, 0, 602, 0, 0};
1128     CheckSeekMode(fileTest4);
1129     seekInfo fileTest5{"/data/test/media/hevc_v.ts", SEEK_MODE_PREVIOUS_SYNC, 6466666, 213, 0, 0};
1130     CheckSeekMode(fileTest5);
1131     seekInfo fileTest6{"/data/test/media/hevc_v.ts", SEEK_MODE_PREVIOUS_SYNC, 10033333, 1, 0, 0};
1132     CheckSeekMode(fileTest6);
1133     seekInfo fileTest7{"/data/test/media/hevc_v.ts", SEEK_MODE_CLOSEST_SYNC, 0, 602, 0, 0};
1134     CheckSeekMode(fileTest7);
1135     seekInfo fileTest8{"/data/test/media/hevc_v.ts", SEEK_MODE_CLOSEST_SYNC, 6466666, 213, 0, 0};
1136     CheckSeekMode(fileTest8);
1137     seekInfo fileTest9{"/data/test/media/hevc_v.ts", SEEK_MODE_CLOSEST_SYNC, 10033333, 1, 0, 0};
1138     CheckSeekMode(fileTest9);
1139 }
1140 
1141 /**
1142  * @tc.number    : DEMUXER_SEEK_0038
1143  * @tc.name      : demuxer seek, hevc_v_a.ts
1144  * @tc.desc      : function test
1145  */
1146 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0038, TestSize.Level2)
1147 {
1148     seekInfo fileTest1{"/data/test/media/hevc_v_a.ts", SEEK_MODE_NEXT_SYNC, 0, 602, 384, 0};
1149     CheckSeekMode(fileTest1);
1150     seekInfo fileTest2{"/data/test/media/hevc_v_a.ts", SEEK_MODE_NEXT_SYNC, 6466666, 212, 136, 0};
1151     CheckSeekMode(fileTest2);
1152     seekInfo fileTest3{"/data/test/media/hevc_v_a.ts", SEEK_MODE_NEXT_SYNC, 9946799, 3, 4, 0};
1153     CheckSeekMode(fileTest3);
1154     seekInfo fileTest4{"/data/test/media/hevc_v_a.ts", SEEK_MODE_PREVIOUS_SYNC, 0, 602, 384, 0};
1155     CheckSeekMode(fileTest4);
1156     seekInfo fileTest5{"/data/test/media/hevc_v_a.ts", SEEK_MODE_PREVIOUS_SYNC, 6466666, 213, 138, 0};
1157     CheckSeekMode(fileTest5);
1158     seekInfo fileTest6{"/data/test/media/hevc_v_a.ts", SEEK_MODE_PREVIOUS_SYNC, 9946799, 4, 4, 0};
1159     CheckSeekMode(fileTest6);
1160     seekInfo fileTest7{"/data/test/media/hevc_v_a.ts", SEEK_MODE_CLOSEST_SYNC, 0, 602, 384, 0};
1161     CheckSeekMode(fileTest7);
1162     seekInfo fileTest8{"/data/test/media/hevc_v_a.ts", SEEK_MODE_CLOSEST_SYNC, 6466666, 213, 136, 0};
1163     CheckSeekMode(fileTest8);
1164     seekInfo fileTest9{"/data/test/media/hevc_v_a.ts", SEEK_MODE_CLOSEST_SYNC, 9946799, 4, 4, 0};
1165     CheckSeekMode(fileTest9);
1166 }
1167 
1168 /**
1169  * @tc.number    : DEMUXER_SEEK_0039
1170  * @tc.name      : demuxer seek, hvcc.mp4
1171  * @tc.desc      : function test
1172  */
1173 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0039, TestSize.Level1)
1174 {
1175     seekInfo fileTest1{"/data/test/media/hvcc.mp4", SEEK_MODE_NEXT_SYNC, 0, 602, 433, 0};
1176     CheckSeekMode(fileTest1);
1177     seekInfo fileTest2{"/data/test/media/hvcc.mp4", SEEK_MODE_NEXT_SYNC, 4983333, 105, 76, 0};
1178     CheckSeekMode(fileTest2);
1179     seekInfo fileTest3{"/data/test/media/hvcc.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 602, 433, 0};
1180     CheckSeekMode(fileTest3);
1181     seekInfo fileTest4{"/data/test/media/hvcc.mp4", SEEK_MODE_PREVIOUS_SYNC, 4983333, 354, 256, 0};
1182     CheckSeekMode(fileTest4);
1183     seekInfo fileTest5{"/data/test/media/hvcc.mp4", SEEK_MODE_PREVIOUS_SYNC, 9983333, 105, 77, 0};
1184     CheckSeekMode(fileTest5);
1185     seekInfo fileTest6{"/data/test/media/hvcc.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 602, 433, 0};
1186     CheckSeekMode(fileTest6);
1187     seekInfo fileTest7{"/data/test/media/hvcc.mp4", SEEK_MODE_CLOSEST_SYNC, 4983333, 354, 256, 0};
1188     CheckSeekMode(fileTest7);
1189     seekInfo fileTest8{"/data/test/media/hvcc.mp4", SEEK_MODE_CLOSEST_SYNC, 9983333, 105, 77, 0};
1190     CheckSeekMode(fileTest8);
1191 }
1192 
1193 /**
1194  * @tc.number    : DEMUXER_SEEK_0040
1195  * @tc.name      : demuxer seek, m4a_fmp4.mp4
1196  * @tc.desc      : function test
1197  */
1198 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0040, TestSize.Level1)
1199 {
1200     seekInfo fileTest1{"/data/test/media/m4a_fmp4.mp4", SEEK_MODE_NEXT_SYNC, 0, 0, 352, 0};
1201     CheckSeekMode(fileTest1);
1202     seekInfo fileTest2{"/data/test/media/m4a_fmp4.mp4", SEEK_MODE_NEXT_SYNC, 15018666, 0, 176, 0};
1203     CheckSeekMode(fileTest2);
1204     seekInfo fileTest3{"/data/test/media/m4a_fmp4.mp4", SEEK_MODE_NEXT_SYNC, 29952000, 0, 1, 0};
1205     CheckSeekMode(fileTest3);
1206     seekInfo fileTest4{"/data/test/media/m4a_fmp4.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 352, 0};
1207     CheckSeekMode(fileTest4);
1208     seekInfo fileTest5{"/data/test/media/m4a_fmp4.mp4", SEEK_MODE_PREVIOUS_SYNC, 15018666, 0, 177, 0};
1209     CheckSeekMode(fileTest5);
1210     seekInfo fileTest6{"/data/test/media/m4a_fmp4.mp4", SEEK_MODE_PREVIOUS_SYNC, 29952000, 0, 1, 0};
1211     CheckSeekMode(fileTest6);
1212     seekInfo fileTest7{"/data/test/media/m4a_fmp4.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 0, 352, 0};
1213     CheckSeekMode(fileTest7);
1214     seekInfo fileTest8{"/data/test/media/m4a_fmp4.mp4", SEEK_MODE_CLOSEST_SYNC, 15018666, 0, 177, 0};
1215     CheckSeekMode(fileTest8);
1216     seekInfo fileTest9{"/data/test/media/m4a_fmp4.mp4", SEEK_MODE_CLOSEST_SYNC, 29952000, 0, 1, 0};
1217     CheckSeekMode(fileTest9);
1218 }
1219 
1220 /**
1221  * @tc.number    : DEMUXER_SEEK_0041
1222  * @tc.name      : demuxer seek, m4v_fmp4.mp4
1223  * @tc.desc      : function test
1224  */
1225 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0041, TestSize.Level1)
1226 {
1227     seekInfo fileTest1{"/data/test/media/m4v_fmp4.mp4", SEEK_MODE_NEXT_SYNC, 0, 123, 176, 0};
1228     CheckSeekMode(fileTest1);
1229     seekInfo fileTest2{"/data/test/media/m4v_fmp4.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 123, 176, 0};
1230     CheckSeekMode(fileTest2);
1231     seekInfo fileTest3{"/data/test/media/m4v_fmp4.mp4", SEEK_MODE_PREVIOUS_SYNC, 2099687, 123, 176, 0};
1232     CheckSeekMode(fileTest3);
1233     seekInfo fileTest4{"/data/test/media/m4v_fmp4.mp4", SEEK_MODE_PREVIOUS_SYNC, 4133687, 123, 176, 0};
1234     CheckSeekMode(fileTest4);
1235     seekInfo fileTest5{"/data/test/media/m4v_fmp4.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 123, 176, 0};
1236     CheckSeekMode(fileTest5);
1237     seekInfo fileTest6{"/data/test/media/m4v_fmp4.mp4", SEEK_MODE_CLOSEST_SYNC, 2099687, 123, 176, 0};
1238     CheckSeekMode(fileTest6);
1239     seekInfo fileTest7{"/data/test/media/m4v_fmp4.mp4", SEEK_MODE_CLOSEST_SYNC, 4133687, 123, 176, 0};
1240     CheckSeekMode(fileTest7);
1241 }
1242 
1243 /**
1244  * @tc.number    : DEMUXER_SEEK_0042
1245  * @tc.name      : demuxer seek, mkv.mkv
1246  * @tc.desc      : function test
1247  */
1248 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0042, TestSize.Level2)
1249 {
1250     seekInfo fileTest1{"/data/test/media/mkv.mkv", SEEK_MODE_NEXT_SYNC, 0, 600, 431, 0};
1251     CheckSeekMode(fileTest1);
1252     seekInfo fileTest2{"/data/test/media/mkv.mkv", SEEK_MODE_NEXT_SYNC, 5000000, 300, 215, 0};
1253     CheckSeekMode(fileTest2);
1254     seekInfo fileTest3{"/data/test/media/mkv.mkv", SEEK_MODE_PREVIOUS_SYNC, 0, 600, 431, 0};
1255     CheckSeekMode(fileTest3);
1256     seekInfo fileTest4{"/data/test/media/mkv.mkv", SEEK_MODE_PREVIOUS_SYNC, 5000000, 300, 215, 0};
1257     CheckSeekMode(fileTest4);
1258     seekInfo fileTest5{"/data/test/media/mkv.mkv", SEEK_MODE_PREVIOUS_SYNC, 9983000, 60, 43, 0};
1259     CheckSeekMode(fileTest5);
1260     seekInfo fileTest6{"/data/test/media/mkv.mkv", SEEK_MODE_CLOSEST_SYNC, 0, 600, 431, 0};
1261     CheckSeekMode(fileTest6);
1262     seekInfo fileTest7{"/data/test/media/mkv.mkv", SEEK_MODE_CLOSEST_SYNC, 5000000, 300, 215, 0};
1263     CheckSeekMode(fileTest7);
1264     seekInfo fileTest8{"/data/test/media/mkv.mkv", SEEK_MODE_CLOSEST_SYNC, 9983000, 60, 43, 0};
1265     CheckSeekMode(fileTest8);
1266 }
1267 
1268 /**
1269  * @tc.number    : DEMUXER_SEEK_0043
1270  * @tc.name      : demuxer seek, MP3_avcc_10sec.bin
1271  * @tc.desc      : function test
1272  */
1273 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0043, TestSize.Level2)
1274 {
1275     seekInfo fileTest1{"/data/test/media/MP3_avcc_10sec.bin", SEEK_MODE_NEXT_SYNC, 0, 0, 10552, 0};
1276     CheckSeekMode(fileTest1);
1277     seekInfo fileTest2{"/data/test/media/MP3_avcc_10sec.bin", SEEK_MODE_NEXT_SYNC, 126624000, 0, 9286, 0};
1278     CheckSeekMode(fileTest2);
1279     seekInfo fileTest3{"/data/test/media/MP3_avcc_10sec.bin", SEEK_MODE_NEXT_SYNC, 253224000, 0, 8021, 0};
1280     CheckSeekMode(fileTest3);
1281     seekInfo fileTest4{"/data/test/media/MP3_avcc_10sec.bin", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 10552, 0};
1282     CheckSeekMode(fileTest4);
1283     seekInfo fileTest5{"/data/test/media/MP3_avcc_10sec.bin", SEEK_MODE_PREVIOUS_SYNC, 126624000, 0, 9287, 0};
1284     CheckSeekMode(fileTest5);
1285     seekInfo fileTest6{"/data/test/media/MP3_avcc_10sec.bin", SEEK_MODE_PREVIOUS_SYNC, 253224000, 0, 8022, 0};
1286     CheckSeekMode(fileTest6);
1287     seekInfo fileTest7{"/data/test/media/MP3_avcc_10sec.bin", SEEK_MODE_CLOSEST_SYNC, 0, 0, 10552, 0};
1288     CheckSeekMode(fileTest7);
1289     seekInfo fileTest8{"/data/test/media/MP3_avcc_10sec.bin", SEEK_MODE_CLOSEST_SYNC, 126624000, 0, 9287, 0};
1290     CheckSeekMode(fileTest8);
1291     seekInfo fileTest9{"/data/test/media/MP3_avcc_10sec.bin", SEEK_MODE_CLOSEST_SYNC, 253224000, 0, 8022, 0};
1292     CheckSeekMode(fileTest9);
1293 }
1294 
1295 /**
1296  * @tc.number    : DEMUXER_SEEK_0044
1297  * @tc.name      : demuxer seek, MP3_OGG_48000_1.bin
1298  * @tc.desc      : function test
1299  */
1300 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0044, TestSize.Level2)
1301 {
1302     seekInfo fileTest1{"/data/test/media/MP3_OGG_48000_1.bin", SEEK_MODE_NEXT_SYNC, 0, 0, 9420, 0};
1303     CheckSeekMode(fileTest1);
1304     seekInfo fileTest2{"/data/test/media/MP3_OGG_48000_1.bin", SEEK_MODE_NEXT_SYNC, 113040000, 0, 7107, 0};
1305     CheckSeekMode(fileTest2);
1306     seekInfo fileTest3{"/data/test/media/MP3_OGG_48000_1.bin", SEEK_MODE_NEXT_SYNC, 226056000, 0, 4796, 0};
1307     CheckSeekMode(fileTest3);
1308     seekInfo fileTest4{"/data/test/media/MP3_OGG_48000_1.bin", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 9420, 0};
1309     CheckSeekMode(fileTest4);
1310     seekInfo fileTest5{"/data/test/media/MP3_OGG_48000_1.bin", SEEK_MODE_PREVIOUS_SYNC, 113040000, 0, 7108, 0};
1311     CheckSeekMode(fileTest5);
1312     seekInfo fileTest6{"/data/test/media/MP3_OGG_48000_1.bin", SEEK_MODE_PREVIOUS_SYNC, 226056000, 0, 4797, 0};
1313     CheckSeekMode(fileTest6);
1314     seekInfo fileTest7{"/data/test/media/MP3_OGG_48000_1.bin", SEEK_MODE_CLOSEST_SYNC, 0, 0, 9420, 0};
1315     CheckSeekMode(fileTest7);
1316     seekInfo fileTest8{"/data/test/media/MP3_OGG_48000_1.bin", SEEK_MODE_CLOSEST_SYNC, 113040000, 0, 7108, 0};
1317     CheckSeekMode(fileTest8);
1318     seekInfo fileTest9{"/data/test/media/MP3_OGG_48000_1.bin", SEEK_MODE_CLOSEST_SYNC, 226056000, 0, 4797, 0};
1319     CheckSeekMode(fileTest9);
1320 }
1321 
1322 /**
1323  * @tc.number    : DEMUXER_SEEK_0045
1324  * @tc.name      : demuxer seek, mpeg2.mp4
1325  * @tc.desc      : function test
1326  */
1327 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0045, TestSize.Level2)
1328 {
1329     seekInfo fileTest1{"/data/test/media/mpeg2.mp4", SEEK_MODE_NEXT_SYNC, 0, 303, 433, 0};
1330     CheckSeekMode(fileTest1);
1331     seekInfo fileTest2{"/data/test/media/mpeg2.mp4", SEEK_MODE_NEXT_SYNC, 4966666, 147, 209, 0};
1332     CheckSeekMode(fileTest2);
1333     seekInfo fileTest4{"/data/test/media/mpeg2.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 303, 433, 0};
1334     CheckSeekMode(fileTest4);
1335     seekInfo fileTest5{"/data/test/media/mpeg2.mp4", SEEK_MODE_PREVIOUS_SYNC, 4966666, 159, 227, 0};
1336     CheckSeekMode(fileTest5);
1337     seekInfo fileTest6{"/data/test/media/mpeg2.mp4", SEEK_MODE_PREVIOUS_SYNC, 10066666, 3, 3, 0};
1338     CheckSeekMode(fileTest6);
1339     seekInfo fileTest7{"/data/test/media/mpeg2.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 303, 433, 0};
1340     CheckSeekMode(fileTest7);
1341     seekInfo fileTest8{"/data/test/media/mpeg2.mp4", SEEK_MODE_CLOSEST_SYNC, 4966666, 159, 227, 0};
1342     CheckSeekMode(fileTest8);
1343     seekInfo fileTest9{"/data/test/media/mpeg2.mp4", SEEK_MODE_CLOSEST_SYNC, 10066666, 3, 3, 0};
1344     CheckSeekMode(fileTest9);
1345 }
1346 
1347 /**
1348  * @tc.number    : DEMUXER_SEEK_0046
1349  * @tc.name      : demuxer seek, noPermission.mp4
1350  * @tc.desc      : function test
1351  */
1352 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0046, TestSize.Level2)
1353 {
1354     seekInfo fileTest1{"/data/test/media/noPermission.mp4", SEEK_MODE_NEXT_SYNC, 0, 250, 384, 0};
1355     CheckSeekMode(fileTest1);
1356     seekInfo fileTest2{"/data/test/media/noPermission.mp4", SEEK_MODE_NEXT_SYNC, 5015510, 124, 191, 0};
1357     CheckSeekMode(fileTest2);
1358     seekInfo fileTest4{"/data/test/media/noPermission.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 250, 384, 0};
1359     CheckSeekMode(fileTest4);
1360     seekInfo fileTest5{"/data/test/media/noPermission.mp4", SEEK_MODE_PREVIOUS_SYNC, 5015510, 125, 193, 0};
1361     CheckSeekMode(fileTest5);
1362     seekInfo fileTest6{"/data/test/media/noPermission.mp4", SEEK_MODE_PREVIOUS_SYNC, 10004897, 1, 3, 0};
1363     CheckSeekMode(fileTest6);
1364     seekInfo fileTest7{"/data/test/media/noPermission.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 250, 384, 0};
1365     CheckSeekMode(fileTest7);
1366     seekInfo fileTest8{"/data/test/media/noPermission.mp4", SEEK_MODE_CLOSEST_SYNC, 5015510, 125, 193, 0};
1367     CheckSeekMode(fileTest8);
1368     seekInfo fileTest9{"/data/test/media/noPermission.mp4", SEEK_MODE_CLOSEST_SYNC, 10004897, 1, 3, 0};
1369     CheckSeekMode(fileTest9);
1370 }
1371 
1372 /**
1373  * @tc.number    : DEMUXER_SEEK_0047
1374  * @tc.name      : demuxer seek, NoTimedmetadataAudio.mp4
1375  * @tc.desc      : function test
1376  */
1377 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0047, TestSize.Level2)
1378 {
1379     seekInfo fileTest1{"/data/test/media/NoTimedmetadataAudio.mp4", SEEK_MODE_NEXT_SYNC, 0, 0, 124, 0};
1380     CheckSeekMode(fileTest1);
1381     seekInfo fileTest2{"/data/test/media/NoTimedmetadataAudio.mp4", SEEK_MODE_NEXT_SYNC, 2849750, 0, 2, 0};
1382     CheckSeekMode(fileTest2);
1383     seekInfo fileTest3{"/data/test/media/NoTimedmetadataAudio.mp4", SEEK_MODE_NEXT_SYNC, 4266553, 0, 1, 0};
1384     CheckSeekMode(fileTest3);
1385     seekInfo fileTest4{"/data/test/media/NoTimedmetadataAudio.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 124, 0};
1386     CheckSeekMode(fileTest4);
1387     seekInfo fileTest5{"/data/test/media/NoTimedmetadataAudio.mp4", SEEK_MODE_PREVIOUS_SYNC, 2849750, 0, 2, 0};
1388     CheckSeekMode(fileTest5);
1389     seekInfo fileTest6{"/data/test/media/NoTimedmetadataAudio.mp4", SEEK_MODE_PREVIOUS_SYNC, 4266553, 0, 1, 0};
1390     CheckSeekMode(fileTest6);
1391     seekInfo fileTest7{"/data/test/media/NoTimedmetadataAudio.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 0, 124, 0};
1392     CheckSeekMode(fileTest7);
1393     seekInfo fileTest8{"/data/test/media/NoTimedmetadataAudio.mp4", SEEK_MODE_CLOSEST_SYNC, 2849750, 0, 2, 0};
1394     CheckSeekMode(fileTest8);
1395     seekInfo fileTest9{"/data/test/media/NoTimedmetadataAudio.mp4", SEEK_MODE_CLOSEST_SYNC, 4266553, 0, 1, 0};
1396     CheckSeekMode(fileTest9);
1397 }
1398 
1399 /**
1400  * @tc.number    : DEMUXER_SEEK_0048
1401  * @tc.name      : demuxer seek, single_60.mp4
1402  * @tc.desc      : function test
1403  */
1404 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0048, TestSize.Level2)
1405 {
1406     seekInfo fileTest1{"/data/test/media/single_60.mp4", SEEK_MODE_NEXT_SYNC, 0, 90, 135, 0};
1407     CheckSeekMode(fileTest1);
1408     seekInfo fileTest2{"/data/test/media/single_60.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 90, 135, 0};
1409     CheckSeekMode(fileTest2);
1410     seekInfo fileTest3{"/data/test/media/single_60.mp4", SEEK_MODE_PREVIOUS_SYNC, 1500122, 90, 135, 0};
1411     CheckSeekMode(fileTest3);
1412     seekInfo fileTest4{"/data/test/media/single_60.mp4", SEEK_MODE_PREVIOUS_SYNC, 2966900, 90, 135, 0};
1413     CheckSeekMode(fileTest4);
1414     seekInfo fileTest5{"/data/test/media/single_60.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 90, 135, 0};
1415     CheckSeekMode(fileTest5);
1416     seekInfo fileTest6{"/data/test/media/single_60.mp4", SEEK_MODE_CLOSEST_SYNC, 1500122, 90, 135, 0};
1417     CheckSeekMode(fileTest6);
1418     seekInfo fileTest7{"/data/test/media/single_60.mp4", SEEK_MODE_CLOSEST_SYNC, 2966900, 90, 135, 0};
1419     CheckSeekMode(fileTest7);
1420 }
1421 
1422 /**
1423  * @tc.number    : DEMUXER_SEEK_0049
1424  * @tc.name      : demuxer seek, single_rk.mp4
1425  * @tc.desc      : function test
1426  */
1427 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0049, TestSize.Level2)
1428 {
1429     seekInfo fileTest1{"/data/test/media/single_rk.mp4", SEEK_MODE_NEXT_SYNC, 0, 25, 60, 0};
1430     CheckSeekMode(fileTest1);
1431     seekInfo fileTest2{"/data/test/media/single_rk.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 25, 60, 0};
1432     CheckSeekMode(fileTest2);
1433     seekInfo fileTest3{"/data/test/media/single_rk.mp4", SEEK_MODE_PREVIOUS_SYNC, 1014388, 25, 60, 0};
1434     CheckSeekMode(fileTest3);
1435     seekInfo fileTest4{"/data/test/media/single_rk.mp4", SEEK_MODE_PREVIOUS_SYNC, 2454433, 25, 60, 0};
1436     CheckSeekMode(fileTest4);
1437     seekInfo fileTest5{"/data/test/media/single_rk.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 25, 60, 0};
1438     CheckSeekMode(fileTest5);
1439     seekInfo fileTest6{"/data/test/media/single_rk.mp4", SEEK_MODE_CLOSEST_SYNC, 1014388, 25, 60, 0};
1440     CheckSeekMode(fileTest6);
1441     seekInfo fileTest7{"/data/test/media/single_rk.mp4", SEEK_MODE_CLOSEST_SYNC, 2454433, 25, 60, 0};
1442     CheckSeekMode(fileTest7);
1443 }
1444 
1445 /**
1446  * @tc.number    : DEMUXER_SEEK_0050
1447  * @tc.name      : demuxer seek, srt_2800.srt
1448  * @tc.desc      : function test
1449  */
1450 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0050, TestSize.Level2)
1451 {
1452     seekInfo fileTest1{"/data/test/media/srt_2800.srt", SEEK_MODE_NEXT_SYNC, 0, 0, 0, 10};
1453     CheckSeekMode(fileTest1);
1454     seekInfo fileTest2{"/data/test/media/srt_2800.srt", SEEK_MODE_NEXT_SYNC, 15900000, 0, 0, 5};
1455     CheckSeekMode(fileTest2);
1456     seekInfo fileTest3{"/data/test/media/srt_2800.srt", SEEK_MODE_NEXT_SYNC, 31900000, 0, 0, 1};
1457     CheckSeekMode(fileTest3);
1458     seekInfo fileTest4{"/data/test/media/srt_2800.srt", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 0, 10};
1459     CheckSeekMode(fileTest4);
1460     seekInfo fileTest5{"/data/test/media/srt_2800.srt", SEEK_MODE_PREVIOUS_SYNC, 15900000, 0, 0, 5};
1461     CheckSeekMode(fileTest5);
1462     seekInfo fileTest6{"/data/test/media/srt_2800.srt", SEEK_MODE_PREVIOUS_SYNC, 31900000, 0, 0, 1};
1463     CheckSeekMode(fileTest6);
1464     seekInfo fileTest7{"/data/test/media/srt_2800.srt", SEEK_MODE_CLOSEST_SYNC, 0, 0, 0, 10};
1465     CheckSeekMode(fileTest7);
1466     seekInfo fileTest8{"/data/test/media/srt_2800.srt", SEEK_MODE_CLOSEST_SYNC, 15900000, 0, 0, 5};
1467     CheckSeekMode(fileTest8);
1468     seekInfo fileTest9{"/data/test/media/srt_2800.srt", SEEK_MODE_CLOSEST_SYNC, 31900000, 0, 0, 1};
1469     CheckSeekMode(fileTest9);
1470 }
1471 
1472 /**
1473  * @tc.number    : DEMUXER_SEEK_0051
1474  * @tc.name      : demuxer seek, srt_2900.srt
1475  * @tc.desc      : function test
1476  */
1477 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0051, TestSize.Level2)
1478 {
1479     seekInfo fileTest1{"/data/test/media/srt_2900.srt", SEEK_MODE_NEXT_SYNC, 0, 0, 0, 10};
1480     CheckSeekMode(fileTest1);
1481     seekInfo fileTest2{"/data/test/media/srt_2900.srt", SEEK_MODE_NEXT_SYNC, 15900000, 0, 0, 5};
1482     CheckSeekMode(fileTest2);
1483     seekInfo fileTest3{"/data/test/media/srt_2900.srt", SEEK_MODE_NEXT_SYNC, 31900000, 0, 0, 1};
1484     CheckSeekMode(fileTest3);
1485     seekInfo fileTest4{"/data/test/media/srt_2900.srt", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 0, 10};
1486     CheckSeekMode(fileTest4);
1487     seekInfo fileTest5{"/data/test/media/srt_2900.srt", SEEK_MODE_PREVIOUS_SYNC, 15900000, 0, 0, 5};
1488     CheckSeekMode(fileTest5);
1489     seekInfo fileTest6{"/data/test/media/srt_2900.srt", SEEK_MODE_PREVIOUS_SYNC, 31900000, 0, 0, 1};
1490     CheckSeekMode(fileTest6);
1491     seekInfo fileTest7{"/data/test/media/srt_2900.srt", SEEK_MODE_CLOSEST_SYNC, 0, 0, 0, 10};
1492     CheckSeekMode(fileTest7);
1493     seekInfo fileTest8{"/data/test/media/srt_2900.srt", SEEK_MODE_CLOSEST_SYNC, 15900000, 0, 0, 5};
1494     CheckSeekMode(fileTest8);
1495     seekInfo fileTest9{"/data/test/media/srt_2900.srt", SEEK_MODE_CLOSEST_SYNC, 31900000, 0, 0, 1};
1496     CheckSeekMode(fileTest9);
1497 }
1498 
1499 /**
1500  * @tc.number    : DEMUXER_SEEK_0052
1501  * @tc.name      : demuxer seek, srt_3100.srt
1502  * @tc.desc      : function test
1503  */
1504 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0052, TestSize.Level2)
1505 {
1506     seekInfo fileTest1{"/data/test/media/srt_3100.srt", SEEK_MODE_NEXT_SYNC, 0, 0, 0, 5};
1507     CheckSeekMode(fileTest1);
1508     seekInfo fileTest2{"/data/test/media/srt_3100.srt", SEEK_MODE_NEXT_SYNC, 24900000, 0, 0, 3};
1509     CheckSeekMode(fileTest2);
1510     seekInfo fileTest3{"/data/test/media/srt_3100.srt", SEEK_MODE_NEXT_SYNC, 31900000, 0, 0, 1};
1511     CheckSeekMode(fileTest3);
1512     seekInfo fileTest4{"/data/test/media/srt_3100.srt", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 0, 5};
1513     CheckSeekMode(fileTest4);
1514     seekInfo fileTest5{"/data/test/media/srt_3100.srt", SEEK_MODE_PREVIOUS_SYNC, 24900000, 0, 0, 3};
1515     CheckSeekMode(fileTest5);
1516     seekInfo fileTest6{"/data/test/media/srt_3100.srt", SEEK_MODE_PREVIOUS_SYNC, 31900000, 0, 0, 1};
1517     CheckSeekMode(fileTest6);
1518     seekInfo fileTest7{"/data/test/media/srt_3100.srt", SEEK_MODE_CLOSEST_SYNC, 0, 0, 0, 5};
1519     CheckSeekMode(fileTest7);
1520     seekInfo fileTest8{"/data/test/media/srt_3100.srt", SEEK_MODE_CLOSEST_SYNC, 24900000, 0, 0, 3};
1521     CheckSeekMode(fileTest8);
1522     seekInfo fileTest9{"/data/test/media/srt_3100.srt", SEEK_MODE_CLOSEST_SYNC, 31900000, 0, 0, 1};
1523     CheckSeekMode(fileTest9);
1524 }
1525 
1526 /**
1527  * @tc.number    : DEMUXER_SEEK_0053
1528  * @tc.name      : demuxer seek, srt_3300.srt
1529  * @tc.desc      : function test
1530  */
1531 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0053, TestSize.Level2)
1532 {
1533     seekInfo fileTest1{"/data/test/media/srt_3300.srt", SEEK_MODE_NEXT_SYNC, 0, 0, 0, 10};
1534     CheckSeekMode(fileTest1);
1535     seekInfo fileTest2{"/data/test/media/srt_3300.srt", SEEK_MODE_NEXT_SYNC, 15900000, 0, 0, 5};
1536     CheckSeekMode(fileTest2);
1537     seekInfo fileTest3{"/data/test/media/srt_3300.srt", SEEK_MODE_NEXT_SYNC, 31900000, 0, 0, 1};
1538     CheckSeekMode(fileTest3);
1539     seekInfo fileTest4{"/data/test/media/srt_3300.srt", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 0, 10};
1540     CheckSeekMode(fileTest4);
1541     seekInfo fileTest5{"/data/test/media/srt_3300.srt", SEEK_MODE_PREVIOUS_SYNC, 15900000, 0, 0, 5};
1542     CheckSeekMode(fileTest5);
1543     seekInfo fileTest6{"/data/test/media/srt_3300.srt", SEEK_MODE_PREVIOUS_SYNC, 31900000, 0, 0, 1};
1544     CheckSeekMode(fileTest6);
1545     seekInfo fileTest7{"/data/test/media/srt_3300.srt", SEEK_MODE_CLOSEST_SYNC, 0, 0, 0, 10};
1546     CheckSeekMode(fileTest7);
1547     seekInfo fileTest8{"/data/test/media/srt_3300.srt", SEEK_MODE_CLOSEST_SYNC, 15900000, 0, 0, 5};
1548     CheckSeekMode(fileTest8);
1549     seekInfo fileTest9{"/data/test/media/srt_3300.srt", SEEK_MODE_CLOSEST_SYNC, 31900000, 0, 0, 1};
1550     CheckSeekMode(fileTest9);
1551 }
1552 
1553 /**
1554  * @tc.number    : DEMUXER_SEEK_0054
1555  * @tc.name      : demuxer seek, srt_test.srt
1556  * @tc.desc      : function test
1557  */
1558 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0054, TestSize.Level2)
1559 {
1560     seekInfo fileTest1{"/data/test/media/srt_test.srt", SEEK_MODE_NEXT_SYNC, 0, 0, 0, 10};
1561     CheckSeekMode(fileTest1);
1562     seekInfo fileTest2{"/data/test/media/srt_test.srt", SEEK_MODE_NEXT_SYNC, 15900000, 0, 0, 5};
1563     CheckSeekMode(fileTest2);
1564     seekInfo fileTest3{"/data/test/media/srt_test.srt", SEEK_MODE_NEXT_SYNC, 31900000, 0, 0, 1};
1565     CheckSeekMode(fileTest3);
1566     seekInfo fileTest4{"/data/test/media/srt_test.srt", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 0, 10};
1567     CheckSeekMode(fileTest4);
1568     seekInfo fileTest5{"/data/test/media/srt_test.srt", SEEK_MODE_PREVIOUS_SYNC, 15900000, 0, 0, 5};
1569     CheckSeekMode(fileTest5);
1570     seekInfo fileTest6{"/data/test/media/srt_test.srt", SEEK_MODE_PREVIOUS_SYNC, 31900000, 0, 0, 1};
1571     CheckSeekMode(fileTest6);
1572     seekInfo fileTest7{"/data/test/media/srt_test.srt", SEEK_MODE_CLOSEST_SYNC, 0, 0, 0, 10};
1573     CheckSeekMode(fileTest7);
1574     seekInfo fileTest8{"/data/test/media/srt_test.srt", SEEK_MODE_CLOSEST_SYNC, 15900000, 0, 0, 5};
1575     CheckSeekMode(fileTest8);
1576     seekInfo fileTest9{"/data/test/media/srt_test.srt", SEEK_MODE_CLOSEST_SYNC, 31900000, 0, 0, 1};
1577     CheckSeekMode(fileTest9);
1578 }
1579 
1580 /**
1581  * @tc.number    : DEMUXER_SEEK_0055
1582  * @tc.name      : demuxer seek, test_264_B_Gop25_4sec.mp4
1583  * @tc.desc      : function test
1584  */
1585 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0055, TestSize.Level2)
1586 {
1587     seekInfo fileTest1{"/data/test/media/test_264_B_Gop25_4sec.mp4", SEEK_MODE_NEXT_SYNC, 0, 103, 173, 0};
1588     CheckSeekMode(fileTest1);
1589     seekInfo fileTest2{"/data/test/media/test_264_B_Gop25_4sec.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 103, 173, 0};
1590     CheckSeekMode(fileTest2);
1591     seekInfo fileTest3{"/data/test/media/test_264_B_Gop25_4sec.mp4", SEEK_MODE_PREVIOUS_SYNC, 2040000, 103, 173, 0};
1592     CheckSeekMode(fileTest3);
1593     seekInfo fileTest4{"/data/test/media/test_264_B_Gop25_4sec.mp4", SEEK_MODE_PREVIOUS_SYNC, 4080000, 103, 173, 0};
1594     CheckSeekMode(fileTest4);
1595     seekInfo fileTest5{"/data/test/media/test_264_B_Gop25_4sec.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 103, 173, 0};
1596     CheckSeekMode(fileTest5);
1597     seekInfo fileTest6{"/data/test/media/test_264_B_Gop25_4sec.mp4", SEEK_MODE_CLOSEST_SYNC, 2040000, 103, 173, 0};
1598     CheckSeekMode(fileTest6);
1599     seekInfo fileTest7{"/data/test/media/test_264_B_Gop25_4sec.mp4", SEEK_MODE_CLOSEST_SYNC, 4080000, 103, 173, 0};
1600     CheckSeekMode(fileTest7);
1601 }
1602 
1603 /**
1604  * @tc.number    : DEMUXER_SEEK_0056
1605  * @tc.name      : demuxer seek, test_265_B_Gop25_4sec.mp4
1606  * @tc.desc      : function test
1607  */
1608 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0056, TestSize.Level2)
1609 {
1610     seekInfo fileTest1{"/data/test/media/test_265_B_Gop25_4sec.mp4", SEEK_MODE_NEXT_SYNC, 0, 103, 174, 0};
1611     CheckSeekMode(fileTest1);
1612     seekInfo fileTest2{"/data/test/media/test_265_B_Gop25_4sec.mp4", SEEK_MODE_NEXT_SYNC, 2160000, 28, 47, 0};
1613     CheckSeekMode(fileTest2);
1614     seekInfo fileTest3{"/data/test/media/test_265_B_Gop25_4sec.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 103, 174, 0};
1615     CheckSeekMode(fileTest3);
1616     seekInfo fileTest4{"/data/test/media/test_265_B_Gop25_4sec.mp4", SEEK_MODE_PREVIOUS_SYNC, 2160000, 53, 91, 0};
1617     CheckSeekMode(fileTest4);
1618     seekInfo fileTest5{"/data/test/media/test_265_B_Gop25_4sec.mp4", SEEK_MODE_PREVIOUS_SYNC, 4040000, 3, 5, 0};
1619     CheckSeekMode(fileTest5);
1620     seekInfo fileTest6{"/data/test/media/test_265_B_Gop25_4sec.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 103, 174, 0};
1621     CheckSeekMode(fileTest6);
1622     seekInfo fileTest7{"/data/test/media/test_265_B_Gop25_4sec.mp4", SEEK_MODE_CLOSEST_SYNC, 2160000, 53, 91, 0};
1623     CheckSeekMode(fileTest7);
1624     seekInfo fileTest8{"/data/test/media/test_265_B_Gop25_4sec.mp4", SEEK_MODE_CLOSEST_SYNC, 4040000, 3, 5, 0};
1625     CheckSeekMode(fileTest8);
1626 }
1627 
1628 /**
1629  * @tc.number    : DEMUXER_SEEK_0058
1630  * @tc.name      : demuxer seek, Timedmetadata1Track0.mp4
1631  * @tc.desc      : function test
1632  */
1633 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0058, TestSize.Level2)
1634 {
1635     seekInfo fileTest1{"/data/test/media/Timedmetadata1Track0.mp4", SEEK_MODE_NEXT_SYNC, 0, 210, 211, 0};
1636     CheckSeekMode(fileTest1);
1637     seekInfo fileTest2{"/data/test/media/Timedmetadata1Track0.mp4", SEEK_MODE_NEXT_SYNC, 3500000, 105, 62, 0};
1638     CheckSeekMode(fileTest2);
1639     seekInfo fileTest3{"/data/test/media/Timedmetadata1Track0.mp4", SEEK_MODE_NEXT_SYNC, 6966666, 1, 0, 0};
1640     CheckSeekMode(fileTest3);
1641     seekInfo fileTest4{"/data/test/media/Timedmetadata1Track0.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 210, 211, 0};
1642     CheckSeekMode(fileTest4);
1643     seekInfo fileTest5{"/data/test/media/Timedmetadata1Track0.mp4", SEEK_MODE_PREVIOUS_SYNC, 3500000, 105, 63, 0};
1644     CheckSeekMode(fileTest5);
1645     seekInfo fileTest6{"/data/test/media/Timedmetadata1Track0.mp4", SEEK_MODE_PREVIOUS_SYNC, 6966666, 2, 1, 0};
1646     CheckSeekMode(fileTest6);
1647     seekInfo fileTest7{"/data/test/media/Timedmetadata1Track0.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 210, 211, 0};
1648     CheckSeekMode(fileTest7);
1649     seekInfo fileTest8{"/data/test/media/Timedmetadata1Track0.mp4", SEEK_MODE_CLOSEST_SYNC, 3500000, 105, 62, 0};
1650     CheckSeekMode(fileTest8);
1651     seekInfo fileTest9{"/data/test/media/Timedmetadata1Track0.mp4", SEEK_MODE_CLOSEST_SYNC, 6966666, 1, 0, 0};
1652     CheckSeekMode(fileTest9);
1653 }
1654 
1655 /**
1656  * @tc.number    : DEMUXER_SEEK_0059
1657  * @tc.name      : demuxer seek, Timedmetadata1Track1.mp4
1658  * @tc.desc      : function test
1659  */
1660 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0059, TestSize.Level2)
1661 {
1662     seekInfo fileTest1{"/data/test/media/Timedmetadata1Track1.mp4", SEEK_MODE_NEXT_SYNC, 0, 210, 211, 0};
1663     CheckSeekMode(fileTest1);
1664     seekInfo fileTest2{"/data/test/media/Timedmetadata1Track1.mp4", SEEK_MODE_NEXT_SYNC, 3500000, 105, 62, 0};
1665     CheckSeekMode(fileTest2);
1666     seekInfo fileTest3{"/data/test/media/Timedmetadata1Track1.mp4", SEEK_MODE_NEXT_SYNC, 6966666, 1, 0, 0};
1667     CheckSeekMode(fileTest3);
1668     seekInfo fileTest4{"/data/test/media/Timedmetadata1Track1.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 210, 211, 0};
1669     CheckSeekMode(fileTest4);
1670     seekInfo fileTest5{"/data/test/media/Timedmetadata1Track1.mp4", SEEK_MODE_PREVIOUS_SYNC, 3500000, 105, 63, 0};
1671     CheckSeekMode(fileTest5);
1672     seekInfo fileTest6{"/data/test/media/Timedmetadata1Track1.mp4", SEEK_MODE_PREVIOUS_SYNC, 6966666, 2, 1, 0};
1673     CheckSeekMode(fileTest6);
1674     seekInfo fileTest7{"/data/test/media/Timedmetadata1Track1.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 210, 211, 0};
1675     CheckSeekMode(fileTest7);
1676     seekInfo fileTest8{"/data/test/media/Timedmetadata1Track1.mp4", SEEK_MODE_CLOSEST_SYNC, 3500000, 105, 62, 0};
1677     CheckSeekMode(fileTest8);
1678     seekInfo fileTest9{"/data/test/media/Timedmetadata1Track1.mp4", SEEK_MODE_CLOSEST_SYNC, 6966666, 1, 0, 0};
1679     CheckSeekMode(fileTest9);
1680 }
1681 
1682 /**
1683  * @tc.number    : DEMUXER_SEEK_0060
1684  * @tc.name      : demuxer seek, Timedmetadata1Track2.mp4
1685  * @tc.desc      : function test
1686  */
1687 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0060, TestSize.Level2)
1688 {
1689     seekInfo fileTest1{"/data/test/media/Timedmetadata1Track2.mp4", SEEK_MODE_NEXT_SYNC, 0, 210, 211, 0};
1690     CheckSeekMode(fileTest1);
1691     seekInfo fileTest2{"/data/test/media/Timedmetadata1Track2.mp4", SEEK_MODE_NEXT_SYNC, 3500000, 105, 62, 0};
1692     CheckSeekMode(fileTest2);
1693     seekInfo fileTest3{"/data/test/media/Timedmetadata1Track2.mp4", SEEK_MODE_NEXT_SYNC, 6966666, 1, 0, 0};
1694     CheckSeekMode(fileTest3);
1695     seekInfo fileTest4{"/data/test/media/Timedmetadata1Track2.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 210, 211, 0};
1696     CheckSeekMode(fileTest4);
1697     seekInfo fileTest5{"/data/test/media/Timedmetadata1Track2.mp4", SEEK_MODE_PREVIOUS_SYNC, 3500000, 105, 63, 0};
1698     CheckSeekMode(fileTest5);
1699     seekInfo fileTest6{"/data/test/media/Timedmetadata1Track2.mp4", SEEK_MODE_PREVIOUS_SYNC, 6966666, 2, 1, 0};
1700     CheckSeekMode(fileTest6);
1701     seekInfo fileTest7{"/data/test/media/Timedmetadata1Track2.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 210, 211, 0};
1702     CheckSeekMode(fileTest7);
1703     seekInfo fileTest8{"/data/test/media/Timedmetadata1Track2.mp4", SEEK_MODE_CLOSEST_SYNC, 3500000, 105, 62, 0};
1704     CheckSeekMode(fileTest8);
1705     seekInfo fileTest9{"/data/test/media/Timedmetadata1Track2.mp4", SEEK_MODE_CLOSEST_SYNC, 6966666, 1, 0, 0};
1706     CheckSeekMode(fileTest9);
1707 }
1708 
1709 /**
1710  * @tc.number    : DEMUXER_SEEK_0061
1711  * @tc.name      : demuxer seek, Timedmetadata2Track2.mp4
1712  * @tc.desc      : function test
1713  */
1714 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0061, TestSize.Level2)
1715 {
1716     seekInfo fileTest1{"/data/test/media/Timedmetadata2Track2.mp4", SEEK_MODE_NEXT_SYNC, 0, 210, 211, 0};
1717     CheckSeekMode(fileTest1);
1718     seekInfo fileTest2{"/data/test/media/Timedmetadata2Track2.mp4", SEEK_MODE_NEXT_SYNC, 3500000, 105, 62, 0};
1719     CheckSeekMode(fileTest2);
1720     seekInfo fileTest3{"/data/test/media/Timedmetadata2Track2.mp4", SEEK_MODE_NEXT_SYNC, 6966666, 1, 0, 0};
1721     CheckSeekMode(fileTest3);
1722     seekInfo fileTest4{"/data/test/media/Timedmetadata2Track2.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 210, 211, 0};
1723     CheckSeekMode(fileTest4);
1724     seekInfo fileTest5{"/data/test/media/Timedmetadata2Track2.mp4", SEEK_MODE_PREVIOUS_SYNC, 3500000, 105, 63, 0};
1725     CheckSeekMode(fileTest5);
1726     seekInfo fileTest6{"/data/test/media/Timedmetadata2Track2.mp4", SEEK_MODE_PREVIOUS_SYNC, 6966666, 2, 1, 0};
1727     CheckSeekMode(fileTest6);
1728     seekInfo fileTest7{"/data/test/media/Timedmetadata2Track2.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 210, 211, 0};
1729     CheckSeekMode(fileTest7);
1730     seekInfo fileTest8{"/data/test/media/Timedmetadata2Track2.mp4", SEEK_MODE_CLOSEST_SYNC, 3500000, 105, 62, 0};
1731     CheckSeekMode(fileTest8);
1732     seekInfo fileTest9{"/data/test/media/Timedmetadata2Track2.mp4", SEEK_MODE_CLOSEST_SYNC, 6966666, 1, 0, 0};
1733     CheckSeekMode(fileTest9);
1734 }
1735 
1736 /**
1737  * @tc.number    : DEMUXER_SEEK_0062
1738  * @tc.name      : demuxer seek, TimedmetadataAudio.mp4
1739  * @tc.desc      : function test
1740  */
1741 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0062, TestSize.Level2)
1742 {
1743     seekInfo fileTest1{"/data/test/media/TimedmetadataAudio.mp4", SEEK_MODE_NEXT_SYNC, 0, 0, 124, 0};
1744     CheckSeekMode(fileTest1);
1745     seekInfo fileTest2{"/data/test/media/TimedmetadataAudio.mp4", SEEK_MODE_NEXT_SYNC, 2849750, 0, 2, 0};
1746     CheckSeekMode(fileTest2);
1747     seekInfo fileTest3{"/data/test/media/TimedmetadataAudio.mp4", SEEK_MODE_NEXT_SYNC, 4266553, 0, 1, 0};
1748     CheckSeekMode(fileTest3);
1749     seekInfo fileTest4{"/data/test/media/TimedmetadataAudio.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 124, 0};
1750     CheckSeekMode(fileTest4);
1751     seekInfo fileTest5{"/data/test/media/TimedmetadataAudio.mp4", SEEK_MODE_PREVIOUS_SYNC, 2849750, 0, 2, 0};
1752     CheckSeekMode(fileTest5);
1753     seekInfo fileTest6{"/data/test/media/TimedmetadataAudio.mp4", SEEK_MODE_PREVIOUS_SYNC, 4266553, 0, 1, 0};
1754     CheckSeekMode(fileTest6);
1755     seekInfo fileTest7{"/data/test/media/TimedmetadataAudio.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 0, 124, 0};
1756     CheckSeekMode(fileTest7);
1757     seekInfo fileTest8{"/data/test/media/TimedmetadataAudio.mp4", SEEK_MODE_CLOSEST_SYNC, 2849750, 0, 2, 0};
1758     CheckSeekMode(fileTest8);
1759     seekInfo fileTest9{"/data/test/media/TimedmetadataAudio.mp4", SEEK_MODE_CLOSEST_SYNC, 4266553, 0, 1, 0};
1760     CheckSeekMode(fileTest9);
1761 }
1762 
1763 /**
1764  * @tc.number    : DEMUXER_SEEK_0063
1765  * @tc.name      : demuxer seek, TimedmetadataVideo.mp4
1766  * @tc.desc      : function test
1767  */
1768 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0063, TestSize.Level2)
1769 {
1770     seekInfo fileTest1{"/data/test/media/TimedmetadataVideo.mp4", SEEK_MODE_NEXT_SYNC, 0, 123, 0, 0};
1771     CheckSeekMode(fileTest1);
1772     seekInfo fileTest2{"/data/test/media/TimedmetadataVideo.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 123, 0, 0};
1773     CheckSeekMode(fileTest2);
1774     seekInfo fileTest3{"/data/test/media/TimedmetadataVideo.mp4", SEEK_MODE_PREVIOUS_SYNC, 2133333, 123, 0, 0};
1775     CheckSeekMode(fileTest3);
1776     seekInfo fileTest4{"/data/test/media/TimedmetadataVideo.mp4", SEEK_MODE_PREVIOUS_SYNC, 4033333, 123, 0, 0};
1777     CheckSeekMode(fileTest4);
1778     seekInfo fileTest5{"/data/test/media/TimedmetadataVideo.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 123, 0, 0};
1779     CheckSeekMode(fileTest5);
1780     seekInfo fileTest6{"/data/test/media/TimedmetadataVideo.mp4", SEEK_MODE_CLOSEST_SYNC, 2133333, 123, 0, 0};
1781     CheckSeekMode(fileTest6);
1782     seekInfo fileTest7{"/data/test/media/TimedmetadataVideo.mp4", SEEK_MODE_CLOSEST_SYNC, 4033333, 123, 0, 0};
1783     CheckSeekMode(fileTest7);
1784 }
1785 
1786 /**
1787  * @tc.number    : DEMUXER_SEEK_0064
1788  * @tc.name      : demuxer seek, ts_video.ts
1789  * @tc.desc      : function test
1790  */
1791 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0064, TestSize.Level2)
1792 {
1793     seekInfo fileTest1{"/data/test/media/ts_video.ts", SEEK_MODE_NEXT_SYNC, 0, 602, 384, 0};
1794     CheckSeekMode(fileTest1);
1795     seekInfo fileTest2{"/data/test/media/ts_video.ts", SEEK_MODE_NEXT_SYNC, 6433333, 215, 138, 0};
1796     CheckSeekMode(fileTest2);
1797     seekInfo fileTest3{"/data/test/media/ts_video.ts", SEEK_MODE_NEXT_SYNC, 10000033, 1, 2, 0};
1798     CheckSeekMode(fileTest3);
1799     seekInfo fileTest4{"/data/test/media/ts_video.ts", SEEK_MODE_PREVIOUS_SYNC, 0, 602, 384, 0};
1800     CheckSeekMode(fileTest4);
1801     seekInfo fileTest5{"/data/test/media/ts_video.ts", SEEK_MODE_PREVIOUS_SYNC, 6433333, 216, 138, 0};
1802     CheckSeekMode(fileTest5);
1803     seekInfo fileTest6{"/data/test/media/ts_video.ts", SEEK_MODE_PREVIOUS_SYNC, 10000033, 1, 2, 0};
1804     CheckSeekMode(fileTest6);
1805     seekInfo fileTest7{"/data/test/media/ts_video.ts", SEEK_MODE_CLOSEST_SYNC, 0, 602, 384, 0};
1806     CheckSeekMode(fileTest7);
1807     seekInfo fileTest8{"/data/test/media/ts_video.ts", SEEK_MODE_CLOSEST_SYNC, 6433333, 216, 138, 0};
1808     CheckSeekMode(fileTest8);
1809     seekInfo fileTest9{"/data/test/media/ts_video.ts", SEEK_MODE_CLOSEST_SYNC, 10000033, 1, 2, 0};
1810     CheckSeekMode(fileTest9);
1811 }
1812 
1813 /**
1814  * @tc.number    : DEMUXER_SEEK_0065
1815  * @tc.name      : demuxer seek, video_2audio.mp4
1816  * @tc.desc      : function test
1817  */
1818 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0065, TestSize.Level2)
1819 {
1820     seekInfo fileTest1{"/data/test/media/video_2audio.mp4", SEEK_MODE_NEXT_SYNC, 0, 602, 433, 0};
1821     CheckSeekMode(fileTest1);
1822     seekInfo fileTest2{"/data/test/media/video_2audio.mp4", SEEK_MODE_NEXT_SYNC, 4983333, 105, 76, 0};
1823     CheckSeekMode(fileTest2);
1824     seekInfo fileTest4{"/data/test/media/video_2audio.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 602, 433, 0};
1825     CheckSeekMode(fileTest4);
1826     seekInfo fileTest5{"/data/test/media/video_2audio.mp4", SEEK_MODE_PREVIOUS_SYNC, 4983333, 354, 256, 0};
1827     CheckSeekMode(fileTest5);
1828     seekInfo fileTest6{"/data/test/media/video_2audio.mp4", SEEK_MODE_PREVIOUS_SYNC, 10016666, 105, 77, 0};
1829     CheckSeekMode(fileTest6);
1830     seekInfo fileTest7{"/data/test/media/video_2audio.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 602, 433, 0};
1831     CheckSeekMode(fileTest7);
1832     seekInfo fileTest8{"/data/test/media/video_2audio.mp4", SEEK_MODE_CLOSEST_SYNC, 4983333, 354, 256, 0};
1833     CheckSeekMode(fileTest8);
1834     seekInfo fileTest9{"/data/test/media/video_2audio.mp4", SEEK_MODE_CLOSEST_SYNC, 10016666, 105, 77, 0};
1835     CheckSeekMode(fileTest9);
1836 }
1837 
1838 /**
1839  * @tc.number    : DEMUXER_SEEK_0066
1840  * @tc.name      : demuxer seek, video_9audio.mp4
1841  * @tc.desc      : function test
1842  */
1843 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0066, TestSize.Level2)
1844 {
1845     seekInfo fileTest1{"/data/test/media/video_9audio.mp4", SEEK_MODE_NEXT_SYNC, 0, 602, 433, 0};
1846     CheckSeekMode(fileTest1);
1847     seekInfo fileTest2{"/data/test/media/video_9audio.mp4", SEEK_MODE_NEXT_SYNC, 4983333, 105, 76, 0};
1848     CheckSeekMode(fileTest2);
1849     seekInfo fileTest4{"/data/test/media/video_9audio.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 602, 433, 0};
1850     CheckSeekMode(fileTest4);
1851     seekInfo fileTest5{"/data/test/media/video_9audio.mp4", SEEK_MODE_PREVIOUS_SYNC, 4983333, 354, 256, 0};
1852     CheckSeekMode(fileTest5);
1853     seekInfo fileTest6{"/data/test/media/video_9audio.mp4", SEEK_MODE_PREVIOUS_SYNC, 10016666, 105, 77, 0};
1854     CheckSeekMode(fileTest6);
1855     seekInfo fileTest7{"/data/test/media/video_9audio.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 602, 433, 0};
1856     CheckSeekMode(fileTest7);
1857     seekInfo fileTest8{"/data/test/media/video_9audio.mp4", SEEK_MODE_CLOSEST_SYNC, 4983333, 354, 256, 0};
1858     CheckSeekMode(fileTest8);
1859     seekInfo fileTest9{"/data/test/media/video_9audio.mp4", SEEK_MODE_CLOSEST_SYNC, 10016666, 105, 77, 0};
1860     CheckSeekMode(fileTest9);
1861 }
1862 
1863 /**
1864  * @tc.number    : DEMUXER_SEEK_0067
1865  * @tc.name      : demuxer seek, vtt_5600.vtt
1866  * @tc.desc      : function test
1867  */
1868 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0067, TestSize.Level2)
1869 {
1870     seekInfo fileTest1{"/data/test/media/vtt_5600.vtt", SEEK_MODE_NEXT_SYNC, 0, 0, 0, 1};
1871     CheckSeekMode(fileTest1);
1872     seekInfo fileTest2{"/data/test/media/vtt_5600.vtt", SEEK_MODE_NEXT_SYNC, 3100000, 0, 0, 0};
1873     CheckSeekMode(fileTest2);
1874     seekInfo fileTest3{"/data/test/media/vtt_5600.vtt", SEEK_MODE_NEXT_SYNC, 6100000, 0, 0, 0};
1875     CheckSeekMode(fileTest3);
1876     seekInfo fileTest4{"/data/test/media/vtt_5600.vtt", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 0, 1};
1877     CheckSeekMode(fileTest4);
1878     seekInfo fileTest5{"/data/test/media/vtt_5600.vtt", SEEK_MODE_PREVIOUS_SYNC, 3100000, 0, 0, 0};
1879     CheckSeekMode(fileTest5);
1880     seekInfo fileTest6{"/data/test/media/vtt_5600.vtt", SEEK_MODE_PREVIOUS_SYNC, 6100000, 0, 0, 0};
1881     CheckSeekMode(fileTest6);
1882     seekInfo fileTest7{"/data/test/media/vtt_5600.vtt", SEEK_MODE_CLOSEST_SYNC, 0, 0, 0, 1};
1883     CheckSeekMode(fileTest7);
1884     seekInfo fileTest8{"/data/test/media/vtt_5600.vtt", SEEK_MODE_CLOSEST_SYNC, 3100000, 0, 0, 0};
1885     CheckSeekMode(fileTest8);
1886     seekInfo fileTest9{"/data/test/media/vtt_5600.vtt", SEEK_MODE_CLOSEST_SYNC, 6100000, 0, 0, 0};
1887     CheckSeekMode(fileTest9);
1888 }
1889 
1890 /**
1891  * @tc.number    : DEMUXER_SEEK_0068
1892  * @tc.name      : demuxer seek, vtt_5700.vtt
1893  * @tc.desc      : function test
1894  */
1895 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0068, TestSize.Level2)
1896 {
1897     seekInfo fileTest1{"/data/test/media/vtt_5700.vtt", SEEK_MODE_NEXT_SYNC, 0, 0, 0, 8};
1898     CheckSeekMode(fileTest1);
1899     seekInfo fileTest2{"/data/test/media/vtt_5700.vtt", SEEK_MODE_NEXT_SYNC, 3100000, 0, 0, 4};
1900     CheckSeekMode(fileTest2);
1901     seekInfo fileTest3{"/data/test/media/vtt_5700.vtt", SEEK_MODE_NEXT_SYNC, 6100000, 0, 0, 1};
1902     CheckSeekMode(fileTest3);
1903     seekInfo fileTest4{"/data/test/media/vtt_5700.vtt", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 0, 8};
1904     CheckSeekMode(fileTest4);
1905     seekInfo fileTest5{"/data/test/media/vtt_5700.vtt", SEEK_MODE_PREVIOUS_SYNC, 3100000, 0, 0, 4};
1906     CheckSeekMode(fileTest5);
1907     seekInfo fileTest6{"/data/test/media/vtt_5700.vtt", SEEK_MODE_PREVIOUS_SYNC, 6100000, 0, 0, 1};
1908     CheckSeekMode(fileTest6);
1909     seekInfo fileTest7{"/data/test/media/vtt_5700.vtt", SEEK_MODE_CLOSEST_SYNC, 0, 0, 0, 8};
1910     CheckSeekMode(fileTest7);
1911     seekInfo fileTest8{"/data/test/media/vtt_5700.vtt", SEEK_MODE_CLOSEST_SYNC, 3100000, 0, 0, 4};
1912     CheckSeekMode(fileTest8);
1913     seekInfo fileTest9{"/data/test/media/vtt_5700.vtt", SEEK_MODE_CLOSEST_SYNC, 6100000, 0, 0, 1};
1914     CheckSeekMode(fileTest9);
1915 }
1916 
1917 /**
1918  * @tc.number    : DEMUXER_SEEK_0069
1919  * @tc.name      : demuxer seek, vtt_5900.vtt
1920  * @tc.desc      : function test
1921  */
1922 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0069, TestSize.Level2)
1923 {
1924     seekInfo fileTest1{"/data/test/media/vtt_5900.vtt", SEEK_MODE_NEXT_SYNC, 0, 0, 0, 8};
1925     CheckSeekMode(fileTest1);
1926     seekInfo fileTest2{"/data/test/media/vtt_5900.vtt", SEEK_MODE_NEXT_SYNC, 3100000, 0, 0, 4};
1927     CheckSeekMode(fileTest2);
1928     seekInfo fileTest3{"/data/test/media/vtt_5900.vtt", SEEK_MODE_NEXT_SYNC, 6100000, 0, 0, 1};
1929     CheckSeekMode(fileTest3);
1930     seekInfo fileTest4{"/data/test/media/vtt_5900.vtt", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 0, 8};
1931     CheckSeekMode(fileTest4);
1932     seekInfo fileTest5{"/data/test/media/vtt_5900.vtt", SEEK_MODE_PREVIOUS_SYNC, 3100000, 0, 0, 4};
1933     CheckSeekMode(fileTest5);
1934     seekInfo fileTest6{"/data/test/media/vtt_5900.vtt", SEEK_MODE_PREVIOUS_SYNC, 6100000, 0, 0, 1};
1935     CheckSeekMode(fileTest6);
1936     seekInfo fileTest7{"/data/test/media/vtt_5900.vtt", SEEK_MODE_CLOSEST_SYNC, 0, 0, 0, 8};
1937     CheckSeekMode(fileTest7);
1938     seekInfo fileTest8{"/data/test/media/vtt_5900.vtt", SEEK_MODE_CLOSEST_SYNC, 3100000, 0, 0, 4};
1939     CheckSeekMode(fileTest8);
1940     seekInfo fileTest9{"/data/test/media/vtt_5900.vtt", SEEK_MODE_CLOSEST_SYNC, 6100000, 0, 0, 1};
1941     CheckSeekMode(fileTest9);
1942 }
1943 
1944 /**
1945  * @tc.number    : DEMUXER_SEEK_0070
1946  * @tc.name      : demuxer seek, vtt_6100.vtt
1947  * @tc.desc      : function test
1948  */
1949 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0070, TestSize.Level2)
1950 {
1951     seekInfo fileTest1{"/data/test/media/vtt_6100.vtt", SEEK_MODE_NEXT_SYNC, 0, 0, 0, 8};
1952     CheckSeekMode(fileTest1);
1953     seekInfo fileTest2{"/data/test/media/vtt_6100.vtt", SEEK_MODE_NEXT_SYNC, 3100000, 0, 0, 4};
1954     CheckSeekMode(fileTest2);
1955     seekInfo fileTest3{"/data/test/media/vtt_6100.vtt", SEEK_MODE_NEXT_SYNC, 6100000, 0, 0, 1};
1956     CheckSeekMode(fileTest3);
1957     seekInfo fileTest4{"/data/test/media/vtt_6100.vtt", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 0, 8};
1958     CheckSeekMode(fileTest4);
1959     seekInfo fileTest5{"/data/test/media/vtt_6100.vtt", SEEK_MODE_PREVIOUS_SYNC, 3100000, 0, 0, 4};
1960     CheckSeekMode(fileTest5);
1961     seekInfo fileTest6{"/data/test/media/vtt_6100.vtt", SEEK_MODE_PREVIOUS_SYNC, 6100000, 0, 0, 1};
1962     CheckSeekMode(fileTest6);
1963     seekInfo fileTest7{"/data/test/media/vtt_6100.vtt", SEEK_MODE_CLOSEST_SYNC, 0, 0, 0, 8};
1964     CheckSeekMode(fileTest7);
1965     seekInfo fileTest8{"/data/test/media/vtt_6100.vtt", SEEK_MODE_CLOSEST_SYNC, 3100000, 0, 0, 4};
1966     CheckSeekMode(fileTest8);
1967     seekInfo fileTest9{"/data/test/media/vtt_6100.vtt", SEEK_MODE_CLOSEST_SYNC, 6100000, 0, 0, 1};
1968     CheckSeekMode(fileTest9);
1969 }
1970 
1971 /**
1972  * @tc.number    : DEMUXER_SEEK_0071
1973  * @tc.name      : demuxer seek, webvtt_test.vtt
1974  * @tc.desc      : function test
1975  */
1976 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0071, TestSize.Level2)
1977 {
1978     seekInfo fileTest1{"/data/test/media/webvtt_test.vtt", SEEK_MODE_NEXT_SYNC, 0, 0, 0, 8};
1979     CheckSeekMode(fileTest1);
1980     seekInfo fileTest2{"/data/test/media/webvtt_test.vtt", SEEK_MODE_NEXT_SYNC, 3100000, 0, 0, 4};
1981     CheckSeekMode(fileTest2);
1982     seekInfo fileTest3{"/data/test/media/webvtt_test.vtt", SEEK_MODE_NEXT_SYNC, 6100000, 0, 0, 1};
1983     CheckSeekMode(fileTest3);
1984     seekInfo fileTest4{"/data/test/media/webvtt_test.vtt", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 0, 8};
1985     CheckSeekMode(fileTest4);
1986     seekInfo fileTest5{"/data/test/media/webvtt_test.vtt", SEEK_MODE_PREVIOUS_SYNC, 3100000, 0, 0, 4};
1987     CheckSeekMode(fileTest5);
1988     seekInfo fileTest6{"/data/test/media/webvtt_test.vtt", SEEK_MODE_PREVIOUS_SYNC, 6100000, 0, 0, 1};
1989     CheckSeekMode(fileTest6);
1990     seekInfo fileTest7{"/data/test/media/webvtt_test.vtt", SEEK_MODE_CLOSEST_SYNC, 0, 0, 0, 8};
1991     CheckSeekMode(fileTest7);
1992     seekInfo fileTest8{"/data/test/media/webvtt_test.vtt", SEEK_MODE_CLOSEST_SYNC, 3100000, 0, 0, 4};
1993     CheckSeekMode(fileTest8);
1994     seekInfo fileTest9{"/data/test/media/webvtt_test.vtt", SEEK_MODE_CLOSEST_SYNC, 6100000, 0, 0, 1};
1995     CheckSeekMode(fileTest9);
1996 }
1997 
1998 /**
1999  * @tc.number    : DEMUXER_SEEK_0072
2000  * @tc.name      : demuxer seek, xm.mp4
2001  * @tc.desc      : function test
2002  */
2003 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0072, TestSize.Level2)
2004 {
2005     seekInfo fileTest1{"/data/test/media/xm.mp4", SEEK_MODE_NEXT_SYNC, 0, 74, 112, 0};
2006     CheckSeekMode(fileTest1);
2007     seekInfo fileTest2{"/data/test/media/xm.mp4", SEEK_MODE_NEXT_SYNC, 1232922, 14, 20, 0};
2008     CheckSeekMode(fileTest2);
2009     seekInfo fileTest3{"/data/test/media/xm.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 74, 112, 0};
2010     CheckSeekMode(fileTest3);
2011     seekInfo fileTest4{"/data/test/media/xm.mp4", SEEK_MODE_PREVIOUS_SYNC, 1232922, 44, 68, 0};
2012     CheckSeekMode(fileTest4);
2013     seekInfo fileTest5{"/data/test/media/xm.mp4", SEEK_MODE_PREVIOUS_SYNC, 2432522, 14, 21, 0};
2014     CheckSeekMode(fileTest5);
2015     seekInfo fileTest6{"/data/test/media/xm.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 74, 112, 0};
2016     CheckSeekMode(fileTest6);
2017     seekInfo fileTest7{"/data/test/media/xm.mp4", SEEK_MODE_CLOSEST_SYNC, 1232922, 44, 68, 0};
2018     CheckSeekMode(fileTest7);
2019     seekInfo fileTest8{"/data/test/media/xm.mp4", SEEK_MODE_CLOSEST_SYNC, 2432522, 14, 21, 0};
2020     CheckSeekMode(fileTest8);
2021 }
2022 
2023 /**
2024  * @tc.number    : DEMUXER_SEEK_0073
2025  * @tc.name      : demuxer seek, AAC_48000_1.aac
2026  * @tc.desc      : function test
2027  */
2028 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0073, TestSize.Level2)
2029 {
2030     seekInfo fileTest1{"/data/test/media/audio/AAC_48000_1.aac", SEEK_MODE_NEXT_SYNC, 0, 0, 9457, 0};
2031     CheckSeekMode(fileTest1);
2032     seekInfo fileTest2{"/data/test/media/audio/AAC_48000_1.aac", SEEK_MODE_NEXT_SYNC, 109783945, 0, 4729, 0};
2033     CheckSeekMode(fileTest2);
2034     seekInfo fileTest3{"/data/test/media/audio/AAC_48000_1.aac", SEEK_MODE_NEXT_SYNC, 219567891, 0, 2, 0};
2035     CheckSeekMode(fileTest3);
2036     seekInfo fileTest4{"/data/test/media/audio/AAC_48000_1.aac", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 9457, 0};
2037     CheckSeekMode(fileTest4);
2038     seekInfo fileTest5{"/data/test/media/audio/AAC_48000_1.aac", SEEK_MODE_PREVIOUS_SYNC, 109783945, 0, 4730, 0};
2039     CheckSeekMode(fileTest5);
2040     seekInfo fileTest6{"/data/test/media/audio/AAC_48000_1.aac", SEEK_MODE_PREVIOUS_SYNC, 219567891, 0, 2, 0};
2041     CheckSeekMode(fileTest6);
2042     seekInfo fileTest7{"/data/test/media/audio/AAC_48000_1.aac", SEEK_MODE_CLOSEST_SYNC, 0, 0, 9457, 0};
2043     CheckSeekMode(fileTest7);
2044     seekInfo fileTest8{"/data/test/media/audio/AAC_48000_1.aac", SEEK_MODE_CLOSEST_SYNC, 109783945, 0, 4730, 0};
2045     CheckSeekMode(fileTest8);
2046     seekInfo fileTest9{"/data/test/media/audio/AAC_48000_1.aac", SEEK_MODE_CLOSEST_SYNC, 219567891, 0, 2, 0};
2047     CheckSeekMode(fileTest9);
2048 }
2049 
2050 /**
2051  * @tc.number    : DEMUXER_SEEK_0074
2052  * @tc.name      : demuxer seek, amr_nb_8000_1.amr
2053  * @tc.desc      : function test
2054  */
2055 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0074, TestSize.Level2)
2056 {
2057     seekInfo fileTest1{"/data/test/media/audio/amr_nb_8000_1.amr", SEEK_MODE_NEXT_SYNC, 0, 0, 1501, 0};
2058     CheckSeekMode(fileTest1);
2059     seekInfo fileTest2{"/data/test/media/audio/amr_nb_8000_1.amr", SEEK_MODE_NEXT_SYNC, 15000000, 0, 751, 0};
2060     CheckSeekMode(fileTest2);
2061     seekInfo fileTest3{"/data/test/media/audio/amr_nb_8000_1.amr", SEEK_MODE_NEXT_SYNC, 30000000, 0, 1, 0};
2062     CheckSeekMode(fileTest3);
2063     seekInfo fileTest4{"/data/test/media/audio/amr_nb_8000_1.amr", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 1501, 0};
2064     CheckSeekMode(fileTest4);
2065     seekInfo fileTest5{"/data/test/media/audio/amr_nb_8000_1.amr", SEEK_MODE_PREVIOUS_SYNC, 15000000, 0, 751, 0};
2066     CheckSeekMode(fileTest5);
2067     seekInfo fileTest6{"/data/test/media/audio/amr_nb_8000_1.amr", SEEK_MODE_PREVIOUS_SYNC, 30000000, 0, 1, 0};
2068     CheckSeekMode(fileTest6);
2069     seekInfo fileTest7{"/data/test/media/audio/amr_nb_8000_1.amr", SEEK_MODE_CLOSEST_SYNC, 0, 0, 1501, 0};
2070     CheckSeekMode(fileTest7);
2071     seekInfo fileTest8{"/data/test/media/audio/amr_nb_8000_1.amr", SEEK_MODE_CLOSEST_SYNC, 15000000, 0, 751, 0};
2072     CheckSeekMode(fileTest8);
2073     seekInfo fileTest9{"/data/test/media/audio/amr_nb_8000_1.amr", SEEK_MODE_CLOSEST_SYNC, 30000000, 0, 1, 0};
2074     CheckSeekMode(fileTest9);
2075 }
2076 
2077 /**
2078  * @tc.number    : DEMUXER_SEEK_0075
2079  * @tc.name      : demuxer seek, amr_wb_16000_1.amr
2080  * @tc.desc      : function test
2081  */
2082 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0075, TestSize.Level2)
2083 {
2084     seekInfo fileTest1{"/data/test/media/audio/amr_wb_16000_1.amr", SEEK_MODE_NEXT_SYNC, 0, 0, 1500, 0};
2085     CheckSeekMode(fileTest1);
2086     seekInfo fileTest2{"/data/test/media/audio/amr_wb_16000_1.amr", SEEK_MODE_NEXT_SYNC, 15000000, 0, 750, 0};
2087     CheckSeekMode(fileTest2);
2088     seekInfo fileTest3{"/data/test/media/audio/amr_wb_16000_1.amr", SEEK_MODE_NEXT_SYNC, 29980000, 0, 1, 0};
2089     CheckSeekMode(fileTest3);
2090     seekInfo fileTest4{"/data/test/media/audio/amr_wb_16000_1.amr", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 1500, 0};
2091     CheckSeekMode(fileTest4);
2092     seekInfo fileTest5{"/data/test/media/audio/amr_wb_16000_1.amr", SEEK_MODE_PREVIOUS_SYNC, 15000000, 0, 750, 0};
2093     CheckSeekMode(fileTest5);
2094     seekInfo fileTest6{"/data/test/media/audio/amr_wb_16000_1.amr", SEEK_MODE_PREVIOUS_SYNC, 29980000, 0, 1, 0};
2095     CheckSeekMode(fileTest6);
2096     seekInfo fileTest7{"/data/test/media/audio/amr_wb_16000_1.amr", SEEK_MODE_CLOSEST_SYNC, 0, 0, 1500, 0};
2097     CheckSeekMode(fileTest7);
2098     seekInfo fileTest8{"/data/test/media/audio/amr_wb_16000_1.amr", SEEK_MODE_CLOSEST_SYNC, 15000000, 0, 750, 0};
2099     CheckSeekMode(fileTest8);
2100     seekInfo fileTest9{"/data/test/media/audio/amr_wb_16000_1.amr", SEEK_MODE_CLOSEST_SYNC, 29980000, 0, 1, 0};
2101     CheckSeekMode(fileTest9);
2102 }
2103 
2104 /**
2105  * @tc.number    : DEMUXER_SEEK_0076
2106  * @tc.name      : demuxer seek, ape.ape
2107  * @tc.desc      : function test
2108  */
2109 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0076, TestSize.Level2)
2110 {
2111     seekInfo fileTest1{"/data/test/media/audio/ape.ape", SEEK_MODE_NEXT_SYNC, 0, 0, 8, 0};
2112     CheckSeekMode(fileTest1);
2113     seekInfo fileTest2{"/data/test/media/audio/ape.ape", SEEK_MODE_NEXT_SYNC, 6144000, 0, 4, 0};
2114     CheckSeekMode(fileTest2);
2115     seekInfo fileTest3{"/data/test/media/audio/ape.ape", SEEK_MODE_NEXT_SYNC, 10752000, 0, 1, 0};
2116     CheckSeekMode(fileTest3);
2117     seekInfo fileTest4{"/data/test/media/audio/ape.ape", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 8, 0};
2118     CheckSeekMode(fileTest4);
2119     seekInfo fileTest5{"/data/test/media/audio/ape.ape", SEEK_MODE_PREVIOUS_SYNC, 6144000, 0, 4, 0};
2120     CheckSeekMode(fileTest5);
2121     seekInfo fileTest6{"/data/test/media/audio/ape.ape", SEEK_MODE_PREVIOUS_SYNC, 10752000, 0, 1, 0};
2122     CheckSeekMode(fileTest6);
2123     seekInfo fileTest7{"/data/test/media/audio/ape.ape", SEEK_MODE_CLOSEST_SYNC, 0, 0, 8, 0};
2124     CheckSeekMode(fileTest7);
2125     seekInfo fileTest8{"/data/test/media/audio/ape.ape", SEEK_MODE_CLOSEST_SYNC, 6144000, 0, 4, 0};
2126     CheckSeekMode(fileTest8);
2127     seekInfo fileTest9{"/data/test/media/audio/ape.ape", SEEK_MODE_CLOSEST_SYNC, 10752000, 0, 1, 0};
2128     CheckSeekMode(fileTest9);
2129 }
2130 
2131 /**
2132  * @tc.number    : DEMUXER_SEEK_0077
2133  * @tc.name      : demuxer seek, feff_bom.mp3
2134  * @tc.desc      : function test
2135  */
2136 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0077, TestSize.Level2)
2137 {
2138     seekInfo fileTest1{"/data/test/media/audio/feff_bom.mp3", SEEK_MODE_NEXT_SYNC, 0, 0, 203, 0};
2139     CheckSeekMode(fileTest1);
2140     seekInfo fileTest2{"/data/test/media/audio/feff_bom.mp3", SEEK_MODE_NEXT_SYNC, 2638367, 0, 106, 0};
2141     CheckSeekMode(fileTest2);
2142     seekInfo fileTest3{"/data/test/media/audio/feff_bom.mp3", SEEK_MODE_NEXT_SYNC, 5276734, 0, 11, 0};
2143     CheckSeekMode(fileTest3);
2144     seekInfo fileTest4{"/data/test/media/audio/feff_bom.mp3", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 203, 0};
2145     CheckSeekMode(fileTest4);
2146     seekInfo fileTest5{"/data/test/media/audio/feff_bom.mp3", SEEK_MODE_PREVIOUS_SYNC, 2638367, 0, 107, 0};
2147     CheckSeekMode(fileTest5);
2148     seekInfo fileTest6{"/data/test/media/audio/feff_bom.mp3", SEEK_MODE_PREVIOUS_SYNC, 5276734, 0, 11, 0};
2149     CheckSeekMode(fileTest6);
2150     seekInfo fileTest7{"/data/test/media/audio/feff_bom.mp3", SEEK_MODE_CLOSEST_SYNC, 0, 0, 203, 0};
2151     CheckSeekMode(fileTest7);
2152     seekInfo fileTest8{"/data/test/media/audio/feff_bom.mp3", SEEK_MODE_CLOSEST_SYNC, 2638367, 0, 107, 0};
2153     CheckSeekMode(fileTest8);
2154     seekInfo fileTest9{"/data/test/media/audio/feff_bom.mp3", SEEK_MODE_CLOSEST_SYNC, 5276734, 0, 11, 0};
2155     CheckSeekMode(fileTest9);
2156 }
2157 
2158 /**
2159  * @tc.number    : DEMUXER_SEEK_0078
2160  * @tc.name      : demuxer seek, fffe_bom.mp3
2161  * @tc.desc      : function test
2162  */
2163 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0078, TestSize.Level2)
2164 {
2165     seekInfo fileTest1{"/data/test/media/audio/fffe_bom.mp3", SEEK_MODE_NEXT_SYNC, 0, 0, 203, 0};
2166     CheckSeekMode(fileTest1);
2167     seekInfo fileTest2{"/data/test/media/audio/fffe_bom.mp3", SEEK_MODE_NEXT_SYNC, 2638367, 0, 106, 0};
2168     CheckSeekMode(fileTest2);
2169     seekInfo fileTest3{"/data/test/media/audio/fffe_bom.mp3", SEEK_MODE_NEXT_SYNC, 5276734, 0, 11, 0};
2170     CheckSeekMode(fileTest3);
2171     seekInfo fileTest4{"/data/test/media/audio/fffe_bom.mp3", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 203, 0};
2172     CheckSeekMode(fileTest4);
2173     seekInfo fileTest5{"/data/test/media/audio/fffe_bom.mp3", SEEK_MODE_PREVIOUS_SYNC, 2638367, 0, 107, 0};
2174     CheckSeekMode(fileTest5);
2175     seekInfo fileTest6{"/data/test/media/audio/fffe_bom.mp3", SEEK_MODE_PREVIOUS_SYNC, 5276734, 0, 11, 0};
2176     CheckSeekMode(fileTest6);
2177     seekInfo fileTest7{"/data/test/media/audio/fffe_bom.mp3", SEEK_MODE_CLOSEST_SYNC, 0, 0, 203, 0};
2178     CheckSeekMode(fileTest7);
2179     seekInfo fileTest8{"/data/test/media/audio/fffe_bom.mp3", SEEK_MODE_CLOSEST_SYNC, 2638367, 0, 107, 0};
2180     CheckSeekMode(fileTest8);
2181     seekInfo fileTest9{"/data/test/media/audio/fffe_bom.mp3", SEEK_MODE_CLOSEST_SYNC, 5276734, 0, 11, 0};
2182     CheckSeekMode(fileTest9);
2183 }
2184 
2185 /**
2186  * @tc.number    : DEMUXER_SEEK_0079
2187  * @tc.name      : demuxer seek, FLAC_48000_1.flac
2188  * @tc.desc      : function test
2189  */
2190 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0079, TestSize.Level2)
2191 {
2192     seekInfo fileTest1{"/data/test/media/audio/FLAC_48000_1.flac", SEEK_MODE_NEXT_SYNC, 0, 0, 2288, 0};
2193     CheckSeekMode(fileTest1);
2194     seekInfo fileTest2{"/data/test/media/audio/FLAC_48000_1.flac", SEEK_MODE_NEXT_SYNC, 109824000, 0, 1144, 0};
2195     CheckSeekMode(fileTest2);
2196     seekInfo fileTest3{"/data/test/media/audio/FLAC_48000_1.flac", SEEK_MODE_NEXT_SYNC, 219552000, 0, 2, 0};
2197     CheckSeekMode(fileTest3);
2198     seekInfo fileTest4{"/data/test/media/audio/FLAC_48000_1.flac", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 2288, 0};
2199     CheckSeekMode(fileTest4);
2200     seekInfo fileTest5{"/data/test/media/audio/FLAC_48000_1.flac", SEEK_MODE_PREVIOUS_SYNC, 109824000, 0, 1144, 0};
2201     CheckSeekMode(fileTest5);
2202     seekInfo fileTest6{"/data/test/media/audio/FLAC_48000_1.flac", SEEK_MODE_PREVIOUS_SYNC, 219552000, 0, 2, 0};
2203     CheckSeekMode(fileTest6);
2204     seekInfo fileTest7{"/data/test/media/audio/FLAC_48000_1.flac", SEEK_MODE_CLOSEST_SYNC, 0, 0, 2288, 0};
2205     CheckSeekMode(fileTest7);
2206     seekInfo fileTest8{"/data/test/media/audio/FLAC_48000_1.flac", SEEK_MODE_CLOSEST_SYNC, 109824000, 0, 1144, 0};
2207     CheckSeekMode(fileTest8);
2208     seekInfo fileTest9{"/data/test/media/audio/FLAC_48000_1.flac", SEEK_MODE_CLOSEST_SYNC, 219552000, 0, 2, 0};
2209     CheckSeekMode(fileTest9);
2210 }
2211 
2212 /**
2213  * @tc.number    : DEMUXER_SEEK_0080
2214  * @tc.name      : demuxer seek, M4A_48000_1.m4a
2215  * @tc.desc      : function test
2216  */
2217 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0080, TestSize.Level2)
2218 {
2219     seekInfo fileTest1{"/data/test/media/audio/M4A_48000_1.m4a", SEEK_MODE_NEXT_SYNC, 0, 0, 10292, 0};
2220     CheckSeekMode(fileTest1);
2221     seekInfo fileTest2{"/data/test/media/audio/M4A_48000_1.m4a", SEEK_MODE_NEXT_SYNC, 109781333, 0, 5146, 0};
2222     CheckSeekMode(fileTest2);
2223     seekInfo fileTest3{"/data/test/media/audio/M4A_48000_1.m4a", SEEK_MODE_NEXT_SYNC, 219541333, 0, 2, 0};
2224     CheckSeekMode(fileTest3);
2225     seekInfo fileTest4{"/data/test/media/audio/M4A_48000_1.m4a", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 10292, 0};
2226     CheckSeekMode(fileTest4);
2227     seekInfo fileTest5{"/data/test/media/audio/M4A_48000_1.m4a", SEEK_MODE_PREVIOUS_SYNC, 109781333, 0, 5147, 0};
2228     CheckSeekMode(fileTest5);
2229     seekInfo fileTest6{"/data/test/media/audio/M4A_48000_1.m4a", SEEK_MODE_PREVIOUS_SYNC, 219541333, 0, 2, 0};
2230     CheckSeekMode(fileTest6);
2231     seekInfo fileTest7{"/data/test/media/audio/M4A_48000_1.m4a", SEEK_MODE_CLOSEST_SYNC, 0, 0, 10292, 0};
2232     CheckSeekMode(fileTest7);
2233     seekInfo fileTest8{"/data/test/media/audio/M4A_48000_1.m4a", SEEK_MODE_CLOSEST_SYNC, 109781333, 0, 5147, 0};
2234     CheckSeekMode(fileTest8);
2235     seekInfo fileTest9{"/data/test/media/audio/M4A_48000_1.m4a", SEEK_MODE_CLOSEST_SYNC, 219541333, 0, 2, 0};
2236     CheckSeekMode(fileTest9);
2237 }
2238 
2239 /**
2240  * @tc.number    : DEMUXER_SEEK_0081
2241  * @tc.name      : demuxer seek, MP3_48000_1.mp3
2242  * @tc.desc      : function test
2243  */
2244 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0081, TestSize.Level2)
2245 {
2246     seekInfo fileTest1{"/data/test/media/audio/MP3_48000_1.mp3", SEEK_MODE_NEXT_SYNC, 0, 0, 9150, 0};
2247     CheckSeekMode(fileTest1);
2248     seekInfo fileTest2{"/data/test/media/audio/MP3_48000_1.mp3", SEEK_MODE_NEXT_SYNC, 109800000, 0, 4573, 0};
2249     CheckSeekMode(fileTest2);
2250     seekInfo fileTest3{"/data/test/media/audio/MP3_48000_1.mp3", SEEK_MODE_NEXT_SYNC, 219576000, 0, 15, 0};
2251     CheckSeekMode(fileTest3);
2252     seekInfo fileTest4{"/data/test/media/audio/MP3_48000_1.mp3", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 9150, 0};
2253     CheckSeekMode(fileTest4);
2254     seekInfo fileTest5{"/data/test/media/audio/MP3_48000_1.mp3", SEEK_MODE_PREVIOUS_SYNC, 109800000, 0, 4574, 0};
2255     CheckSeekMode(fileTest5);
2256     seekInfo fileTest6{"/data/test/media/audio/MP3_48000_1.mp3", SEEK_MODE_PREVIOUS_SYNC, 219576000, 0, 15, 0};
2257     CheckSeekMode(fileTest6);
2258     seekInfo fileTest7{"/data/test/media/audio/MP3_48000_1.mp3", SEEK_MODE_CLOSEST_SYNC, 0, 0, 9150, 0};
2259     CheckSeekMode(fileTest7);
2260     seekInfo fileTest8{"/data/test/media/audio/MP3_48000_1.mp3", SEEK_MODE_CLOSEST_SYNC, 109800000, 0, 4574, 0};
2261     CheckSeekMode(fileTest8);
2262     seekInfo fileTest9{"/data/test/media/audio/MP3_48000_1.mp3", SEEK_MODE_CLOSEST_SYNC, 219576000, 0, 15, 0};
2263     CheckSeekMode(fileTest9);
2264 }
2265 
2266 /**
2267  * @tc.number    : DEMUXER_SEEK_0082
2268  * @tc.name      : demuxer seek, nonstandard_bom.mp3
2269  * @tc.desc      : function test
2270  */
2271 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0082, TestSize.Level2)
2272 {
2273     seekInfo fileTest1{"/data/test/media/audio/nonstandard_bom.mp3", SEEK_MODE_NEXT_SYNC, 0, 0, 203, 0};
2274     CheckSeekMode(fileTest1);
2275     seekInfo fileTest2{"/data/test/media/audio/nonstandard_bom.mp3", SEEK_MODE_NEXT_SYNC, 2638367, 0, 106, 0};
2276     CheckSeekMode(fileTest2);
2277     seekInfo fileTest3{"/data/test/media/audio/nonstandard_bom.mp3", SEEK_MODE_NEXT_SYNC, 5276734, 0, 11, 0};
2278     CheckSeekMode(fileTest3);
2279     seekInfo fileTest4{"/data/test/media/audio/nonstandard_bom.mp3", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 203, 0};
2280     CheckSeekMode(fileTest4);
2281     seekInfo fileTest5{"/data/test/media/audio/nonstandard_bom.mp3", SEEK_MODE_PREVIOUS_SYNC, 2638367, 0, 107, 0};
2282     CheckSeekMode(fileTest5);
2283     seekInfo fileTest6{"/data/test/media/audio/nonstandard_bom.mp3", SEEK_MODE_PREVIOUS_SYNC, 5276734, 0, 11, 0};
2284     CheckSeekMode(fileTest6);
2285     seekInfo fileTest7{"/data/test/media/audio/nonstandard_bom.mp3", SEEK_MODE_CLOSEST_SYNC, 0, 0, 203, 0};
2286     CheckSeekMode(fileTest7);
2287     seekInfo fileTest8{"/data/test/media/audio/nonstandard_bom.mp3", SEEK_MODE_CLOSEST_SYNC, 2638367, 0, 107, 0};
2288     CheckSeekMode(fileTest8);
2289     seekInfo fileTest9{"/data/test/media/audio/nonstandard_bom.mp3", SEEK_MODE_CLOSEST_SYNC, 5276734, 0, 11, 0};
2290     CheckSeekMode(fileTest9);
2291 }
2292 
2293 /**
2294  * @tc.number    : DEMUXER_SEEK_0083
2295  * @tc.name      : demuxer seek, OGG_48000_1.ogg
2296  * @tc.desc      : function test
2297  */
2298 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0083, TestSize.Level2)
2299 {
2300     seekInfo fileTest1{"/data/test/media/audio/OGG_48000_1.ogg", SEEK_MODE_NEXT_SYNC, 0, 0, 11439, 0};
2301     CheckSeekMode(fileTest1);
2302     seekInfo fileTest2{"/data/test/media/audio/OGG_48000_1.ogg", SEEK_MODE_NEXT_SYNC, 104726666, 0, 5677, 0};
2303     CheckSeekMode(fileTest2);
2304     seekInfo fileTest3{"/data/test/media/audio/OGG_48000_1.ogg", SEEK_MODE_NEXT_SYNC, 219545333, 0, 66, 0};
2305     CheckSeekMode(fileTest3);
2306     seekInfo fileTest4{"/data/test/media/audio/OGG_48000_1.ogg", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 11439, 0};
2307     CheckSeekMode(fileTest4);
2308     seekInfo fileTest5{"/data/test/media/audio/OGG_48000_1.ogg", SEEK_MODE_PREVIOUS_SYNC, 104726666, 0, 5724, 0};
2309     CheckSeekMode(fileTest5);
2310     seekInfo fileTest6{"/data/test/media/audio/OGG_48000_1.ogg", SEEK_MODE_PREVIOUS_SYNC, 219545333, 0, 66, 0};
2311     CheckSeekMode(fileTest6);
2312     seekInfo fileTest7{"/data/test/media/audio/OGG_48000_1.ogg", SEEK_MODE_CLOSEST_SYNC, 0, 0, 11439, 0};
2313     CheckSeekMode(fileTest7);
2314     seekInfo fileTest8{"/data/test/media/audio/OGG_48000_1.ogg", SEEK_MODE_CLOSEST_SYNC, 104726666, 0, 5724, 0};
2315     CheckSeekMode(fileTest8);
2316     seekInfo fileTest9{"/data/test/media/audio/OGG_48000_1.ogg", SEEK_MODE_CLOSEST_SYNC, 219545333, 0, 66, 0};
2317     CheckSeekMode(fileTest9);
2318 }
2319 
2320 /**
2321  * @tc.number    : DEMUXER_SEEK_0084
2322  * @tc.name      : demuxer seek, wav_48000_1.wav
2323  * @tc.desc      : function test
2324  */
2325 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0084, TestSize.Level2)
2326 {
2327     seekInfo fileTest1{"/data/test/media/audio/wav_48000_1.wav", SEEK_MODE_NEXT_SYNC, 0, 0, 5146, 0};
2328     CheckSeekMode(fileTest1);
2329     seekInfo fileTest2{"/data/test/media/audio/wav_48000_1.wav", SEEK_MODE_NEXT_SYNC, 109781333, 0, 2573, 0};
2330     CheckSeekMode(fileTest2);
2331     seekInfo fileTest3{"/data/test/media/audio/wav_48000_1.wav", SEEK_MODE_NEXT_SYNC, 219520000, 0, 1, 0};
2332     CheckSeekMode(fileTest3);
2333     seekInfo fileTest4{"/data/test/media/audio/wav_48000_1.wav", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 5146, 0};
2334     CheckSeekMode(fileTest4);
2335     seekInfo fileTest5{"/data/test/media/audio/wav_48000_1.wav", SEEK_MODE_PREVIOUS_SYNC, 109781333, 0, 2573, 0};
2336     CheckSeekMode(fileTest5);
2337     seekInfo fileTest6{"/data/test/media/audio/wav_48000_1.wav", SEEK_MODE_PREVIOUS_SYNC, 219520000, 0, 1, 0};
2338     CheckSeekMode(fileTest6);
2339     seekInfo fileTest7{"/data/test/media/audio/wav_48000_1.wav", SEEK_MODE_CLOSEST_SYNC, 0, 0, 5146, 0};
2340     CheckSeekMode(fileTest7);
2341     seekInfo fileTest8{"/data/test/media/audio/wav_48000_1.wav", SEEK_MODE_CLOSEST_SYNC, 109781333, 0, 2573, 0};
2342     CheckSeekMode(fileTest8);
2343     seekInfo fileTest9{"/data/test/media/audio/wav_48000_1.wav", SEEK_MODE_CLOSEST_SYNC, 219520000, 0, 1, 0};
2344     CheckSeekMode(fileTest9);
2345 }
2346 
2347 /**
2348  * @tc.number    : DEMUXER_SEEK_0085
2349  * @tc.name      : demuxer seek, wav_audio_test_1562.wav
2350  * @tc.desc      : function test
2351  */
2352 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0085, TestSize.Level2)
2353 {
2354     seekInfo fileTest1{"/data/test/media/audio/wav_audio_test_1562.wav", SEEK_MODE_NEXT_SYNC, 0, 0, 7, 0};
2355     CheckSeekMode(fileTest1);
2356     seekInfo fileTest2{"/data/test/media/audio/wav_audio_test_1562.wav", SEEK_MODE_NEXT_SYNC, 1536000, 0, 4, 0};
2357     CheckSeekMode(fileTest2);
2358     seekInfo fileTest3{"/data/test/media/audio/wav_audio_test_1562.wav", SEEK_MODE_NEXT_SYNC, 3072000, 0, 1, 0};
2359     CheckSeekMode(fileTest3);
2360     seekInfo fileTest4{"/data/test/media/audio/wav_audio_test_1562.wav", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 7, 0};
2361     CheckSeekMode(fileTest4);
2362     seekInfo fileTest5{"/data/test/media/audio/wav_audio_test_1562.wav", SEEK_MODE_PREVIOUS_SYNC, 1536000, 0, 4, 0};
2363     CheckSeekMode(fileTest5);
2364     seekInfo fileTest6{"/data/test/media/audio/wav_audio_test_1562.wav", SEEK_MODE_PREVIOUS_SYNC, 3072000, 0, 1, 0};
2365     CheckSeekMode(fileTest6);
2366     seekInfo fileTest7{"/data/test/media/audio/wav_audio_test_1562.wav", SEEK_MODE_CLOSEST_SYNC, 0, 0, 7, 0};
2367     CheckSeekMode(fileTest7);
2368     seekInfo fileTest8{"/data/test/media/audio/wav_audio_test_1562.wav", SEEK_MODE_CLOSEST_SYNC, 1536000, 0, 4, 0};
2369     CheckSeekMode(fileTest8);
2370     seekInfo fileTest9{"/data/test/media/audio/wav_audio_test_1562.wav", SEEK_MODE_CLOSEST_SYNC, 3072000, 0, 1, 0};
2371     CheckSeekMode(fileTest9);
2372 }
2373 
2374 /**
2375  * @tc.number    : DEMUXER_SEEK_0086
2376  * @tc.name      : demuxer seek, wav_audio_test_202406290859.wav
2377  * @tc.desc      : function test
2378  */
2379 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0086, TestSize.Level2)
2380 {
2381     seekInfo fileTest1{"/data/test/media/audio/wav_audio_test_202406290859.wav", SEEK_MODE_NEXT_SYNC, 0, 0, 103, 0};
2382     CheckSeekMode(fileTest1);
2383     seekInfo fileTest2{"/data/test/media/audio/wav_audio_test_202406290859.wav", SEEK_MODE_NEXT_SYNC,
2384     2368435, 0, 52, 0};
2385     CheckSeekMode(fileTest2);
2386     seekInfo fileTest3{"/data/test/media/audio/wav_audio_test_202406290859.wav", SEEK_MODE_NEXT_SYNC, 4736870, 0, 1, 0};
2387     CheckSeekMode(fileTest3);
2388     seekInfo fileTest4{"/data/test/media/audio/wav_audio_test_202406290859.wav", SEEK_MODE_PREVIOUS_SYNC, 0, 0, 103, 0};
2389     CheckSeekMode(fileTest4);
2390     seekInfo fileTest5{"/data/test/media/audio/wav_audio_test_202406290859.wav", SEEK_MODE_PREVIOUS_SYNC,
2391     2368435, 0, 52, 0};
2392     CheckSeekMode(fileTest5);
2393     seekInfo fileTest6{"/data/test/media/audio/wav_audio_test_202406290859.wav", SEEK_MODE_PREVIOUS_SYNC,
2394     4736870, 0, 1, 0};
2395     CheckSeekMode(fileTest6);
2396     seekInfo fileTest7{"/data/test/media/audio/wav_audio_test_202406290859.wav", SEEK_MODE_CLOSEST_SYNC, 0, 0, 103, 0};
2397     CheckSeekMode(fileTest7);
2398     seekInfo fileTest8{"/data/test/media/audio/wav_audio_test_202406290859.wav", SEEK_MODE_CLOSEST_SYNC,
2399     2368435, 0, 52, 0};
2400     CheckSeekMode(fileTest8);
2401     seekInfo fileTest9{"/data/test/media/audio/wav_audio_test_202406290859.wav", SEEK_MODE_CLOSEST_SYNC,
2402     4736870, 0, 1, 0};
2403     CheckSeekMode(fileTest9);
2404 }
2405 
2406 /**
2407  * @tc.number    : DEMUXER_SEEK_0087
2408  * @tc.name      : demuxer seek, video_audio_one_frame_test.mp4, SEEK_MODE_NEXT_SYNC
2409  * @tc.desc      : function test
2410  */
2411 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0087, TestSize.Level2)
2412 {
2413     seekInfo fileTest{"/data/test/media/video_audio_one_frame_test.mp4", SEEK_MODE_NEXT_SYNC, 0, 1, 5, 0};
2414     CheckSeekMode(fileTest);
2415 }
2416 
2417 /**
2418  * @tc.number    : DEMUXER_SEEK_0088
2419  * @tc.name      : demuxer seek, video_audio_one_frame_test.mp4, SEEK_MODE_PREVIOUS_SYNC
2420  * @tc.desc      : function test
2421  */
2422 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0088, TestSize.Level2)
2423 {
2424     seekInfo fileTest{"/data/test/media/video_audio_one_frame_test.mp4", SEEK_MODE_PREVIOUS_SYNC, 0, 1, 5, 0};
2425     CheckSeekMode(fileTest);
2426 }
2427 
2428 /**
2429  * @tc.number    : DEMUXER_SEEK_0089
2430  * @tc.name      : demuxer seek, video_audio_one_frame_test.mp4, SEEK_MODE_CLOSEST_SYNC
2431  * @tc.desc      : function test
2432  */
2433 HWTEST_F(DemuxerSeekNdkTest, DEMUXER_SEEK_0089, TestSize.Level2)
2434 {
2435     seekInfo fileTest{"/data/test/media/video_audio_one_frame_test.mp4", SEEK_MODE_CLOSEST_SYNC, 0, 1, 5, 0};
2436     CheckSeekMode(fileTest);
2437 }