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