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