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 }