1da853ecaSopenharmony_ci/* 2da853ecaSopenharmony_ci * Copyright (C) 2024 Huawei Device Co., Ltd. 3da853ecaSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4da853ecaSopenharmony_ci * you may not use this file except in compliance with the License. 5da853ecaSopenharmony_ci * You may obtain a copy of the License at 6da853ecaSopenharmony_ci * 7da853ecaSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8da853ecaSopenharmony_ci * 9da853ecaSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10da853ecaSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11da853ecaSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12da853ecaSopenharmony_ci * See the License for the specific language governing permissions and 13da853ecaSopenharmony_ci * limitations under the License. 14da853ecaSopenharmony_ci */ 15da853ecaSopenharmony_ci 16da853ecaSopenharmony_ci#include "gtest/gtest.h" 17da853ecaSopenharmony_ci 18da853ecaSopenharmony_ci#include "native_avcodec_base.h" 19da853ecaSopenharmony_ci#include "native_avdemuxer.h" 20da853ecaSopenharmony_ci#include "native_avformat.h" 21da853ecaSopenharmony_ci#include "native_avsource.h" 22da853ecaSopenharmony_ci#include "native_avmemory.h" 23da853ecaSopenharmony_ci 24da853ecaSopenharmony_ci#include <iostream> 25da853ecaSopenharmony_ci#include <cstdio> 26da853ecaSopenharmony_ci#include <string> 27da853ecaSopenharmony_ci#include <fcntl.h> 28da853ecaSopenharmony_ci#include <cmath> 29da853ecaSopenharmony_ci#include <thread> 30da853ecaSopenharmony_ci#include <random> 31da853ecaSopenharmony_cinamespace OHOS { 32da853ecaSopenharmony_cinamespace Media { 33da853ecaSopenharmony_ciclass DemuxerRandomSeekNdkTest : public testing::Test { 34da853ecaSopenharmony_cipublic: 35da853ecaSopenharmony_ci // SetUpTestCase: Called before all test cases 36da853ecaSopenharmony_ci static void SetUpTestCase(void); 37da853ecaSopenharmony_ci // TearDownTestCase: Called after all test case 38da853ecaSopenharmony_ci static void TearDownTestCase(void); 39da853ecaSopenharmony_ci // SetUp: Called before each test cases 40da853ecaSopenharmony_ci void SetUp(void); 41da853ecaSopenharmony_ci // TearDown: Called after each test cases 42da853ecaSopenharmony_ci void TearDown(void); 43da853ecaSopenharmony_ci}; 44da853ecaSopenharmony_ci 45da853ecaSopenharmony_cistatic OH_AVMemory *memory = nullptr; 46da853ecaSopenharmony_cistatic OH_AVSource *source = nullptr; 47da853ecaSopenharmony_cistatic OH_AVDemuxer *demuxer = nullptr; 48da853ecaSopenharmony_cistatic OH_AVFormat *sourceFormat = nullptr; 49da853ecaSopenharmony_cistatic OH_AVFormat *trackFormat = nullptr; 50da853ecaSopenharmony_cistatic OH_AVBuffer *avBuffer = nullptr; 51da853ecaSopenharmony_cistatic OH_AVFormat *format = nullptr; 52da853ecaSopenharmony_cistatic int32_t g_trackCount; 53da853ecaSopenharmony_cistatic int32_t g_width = 3840; 54da853ecaSopenharmony_cistatic int32_t g_height = 2160; 55da853ecaSopenharmony_ciconstexpr int32_t THOUSAND = 1000.0; 56da853ecaSopenharmony_ciconstexpr int32_t SEEKTIMES = 10; 57da853ecaSopenharmony_civoid DemuxerRandomSeekNdkTest::SetUpTestCase() {} 58da853ecaSopenharmony_civoid DemuxerRandomSeekNdkTest::TearDownTestCase() {} 59da853ecaSopenharmony_civoid DemuxerRandomSeekNdkTest::SetUp() 60da853ecaSopenharmony_ci{ 61da853ecaSopenharmony_ci memory = OH_AVMemory_Create(g_width * g_height); 62da853ecaSopenharmony_ci g_trackCount = 0; 63da853ecaSopenharmony_ci} 64da853ecaSopenharmony_civoid DemuxerRandomSeekNdkTest::TearDown() 65da853ecaSopenharmony_ci{ 66da853ecaSopenharmony_ci if (trackFormat != nullptr) { 67da853ecaSopenharmony_ci OH_AVFormat_Destroy(trackFormat); 68da853ecaSopenharmony_ci trackFormat = nullptr; 69da853ecaSopenharmony_ci } 70da853ecaSopenharmony_ci 71da853ecaSopenharmony_ci if (sourceFormat != nullptr) { 72da853ecaSopenharmony_ci OH_AVFormat_Destroy(sourceFormat); 73da853ecaSopenharmony_ci sourceFormat = nullptr; 74da853ecaSopenharmony_ci } 75da853ecaSopenharmony_ci if (format != nullptr) { 76da853ecaSopenharmony_ci OH_AVFormat_Destroy(format); 77da853ecaSopenharmony_ci format = nullptr; 78da853ecaSopenharmony_ci } 79da853ecaSopenharmony_ci 80da853ecaSopenharmony_ci if (memory != nullptr) { 81da853ecaSopenharmony_ci OH_AVMemory_Destroy(memory); 82da853ecaSopenharmony_ci memory = nullptr; 83da853ecaSopenharmony_ci } 84da853ecaSopenharmony_ci if (source != nullptr) { 85da853ecaSopenharmony_ci OH_AVSource_Destroy(source); 86da853ecaSopenharmony_ci source = nullptr; 87da853ecaSopenharmony_ci } 88da853ecaSopenharmony_ci if (demuxer != nullptr) { 89da853ecaSopenharmony_ci OH_AVDemuxer_Destroy(demuxer); 90da853ecaSopenharmony_ci demuxer = nullptr; 91da853ecaSopenharmony_ci } 92da853ecaSopenharmony_ci if (avBuffer != nullptr) { 93da853ecaSopenharmony_ci OH_AVBuffer_Destroy(avBuffer); 94da853ecaSopenharmony_ci avBuffer = nullptr; 95da853ecaSopenharmony_ci } 96da853ecaSopenharmony_ci} 97da853ecaSopenharmony_ci} // namespace Media 98da853ecaSopenharmony_ci} // namespace OHOS 99da853ecaSopenharmony_ci 100da853ecaSopenharmony_ciusing namespace std; 101da853ecaSopenharmony_ciusing namespace OHOS; 102da853ecaSopenharmony_ciusing namespace OHOS::Media; 103da853ecaSopenharmony_ciusing namespace testing::ext; 104da853ecaSopenharmony_cistd::random_device rd; 105da853ecaSopenharmony_ci 106da853ecaSopenharmony_cistatic int64_t GetFileSize(const char *fileName) 107da853ecaSopenharmony_ci{ 108da853ecaSopenharmony_ci int64_t fileSize = 0; 109da853ecaSopenharmony_ci if (fileName != nullptr) { 110da853ecaSopenharmony_ci struct stat fileStatus {}; 111da853ecaSopenharmony_ci if (stat(fileName, &fileStatus) == 0) { 112da853ecaSopenharmony_ci fileSize = static_cast<int64_t>(fileStatus.st_size); 113da853ecaSopenharmony_ci } 114da853ecaSopenharmony_ci } 115da853ecaSopenharmony_ci return fileSize; 116da853ecaSopenharmony_ci} 117da853ecaSopenharmony_ci 118da853ecaSopenharmony_cistatic void CheckSeekResult(const char *fileName, uint32_t seekCount) 119da853ecaSopenharmony_ci{ 120da853ecaSopenharmony_ci int64_t duration = 0; 121da853ecaSopenharmony_ci OH_AVCodecBufferAttr attr; 122da853ecaSopenharmony_ci int fd = open(fileName, O_RDONLY); 123da853ecaSopenharmony_ci int64_t size = GetFileSize(fileName); 124da853ecaSopenharmony_ci cout << fileName << "-------" << fd << "-------" << size << endl; 125da853ecaSopenharmony_ci source = OH_AVSource_CreateWithFD(fd, 0, size); 126da853ecaSopenharmony_ci ASSERT_NE(source, nullptr); 127da853ecaSopenharmony_ci demuxer = OH_AVDemuxer_CreateWithSource(source); 128da853ecaSopenharmony_ci ASSERT_NE(demuxer, nullptr); 129da853ecaSopenharmony_ci sourceFormat = OH_AVSource_GetSourceFormat(source); 130da853ecaSopenharmony_ci ASSERT_NE(sourceFormat, nullptr); 131da853ecaSopenharmony_ci ASSERT_TRUE(OH_AVFormat_GetIntValue(sourceFormat, OH_MD_KEY_TRACK_COUNT, &g_trackCount)); 132da853ecaSopenharmony_ci cout << "g_trackCount----" << g_trackCount << endl; 133da853ecaSopenharmony_ci ASSERT_TRUE(OH_AVFormat_GetLongValue(sourceFormat, OH_MD_KEY_DURATION, &duration)); 134da853ecaSopenharmony_ci cout << "duration----" << duration << endl; 135da853ecaSopenharmony_ci srand(time(NULL)); 136da853ecaSopenharmony_ci for (int32_t index = 0; index < g_trackCount; index++) { 137da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, OH_AVDemuxer_SelectTrackByID(demuxer, index)); 138da853ecaSopenharmony_ci for (int32_t i = 0; i < seekCount; i++) { 139da853ecaSopenharmony_ci if (duration != 0) { 140da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, OH_AVDemuxer_SeekToTime(demuxer, (rd() % duration) / THOUSAND, 141da853ecaSopenharmony_ci (OH_AVSeekMode)((rd() % 1) +1))); 142da853ecaSopenharmony_ci } 143da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, OH_AVDemuxer_ReadSample(demuxer, index, memory, &attr)); 144da853ecaSopenharmony_ci } 145da853ecaSopenharmony_ci } 146da853ecaSopenharmony_ci close(fd); 147da853ecaSopenharmony_ci} 148da853ecaSopenharmony_ci 149da853ecaSopenharmony_ci/** 150da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0001 151da853ecaSopenharmony_ci * @tc.name : demuxer random seek, 01_video_audio.mp4 152da853ecaSopenharmony_ci * @tc.desc : function test 153da853ecaSopenharmony_ci */ 154da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0001, TestSize.Level0) 155da853ecaSopenharmony_ci{ 156da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/01_video_audio.mp4", SEEKTIMES); 157da853ecaSopenharmony_ci} 158da853ecaSopenharmony_ci 159da853ecaSopenharmony_ci/** 160da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0002 161da853ecaSopenharmony_ci * @tc.name : demuxer random seek, avc_mp3.flv 162da853ecaSopenharmony_ci * @tc.desc : function test 163da853ecaSopenharmony_ci */ 164da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0002, TestSize.Level0) 165da853ecaSopenharmony_ci{ 166da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/avc_mp3.flv", SEEKTIMES); 167da853ecaSopenharmony_ci} 168da853ecaSopenharmony_ci 169da853ecaSopenharmony_ci/** 170da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0003 171da853ecaSopenharmony_ci * @tc.name : demuxer random seek, avc_mp3_error.flv 172da853ecaSopenharmony_ci * @tc.desc : function test 173da853ecaSopenharmony_ci */ 174da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0003, TestSize.Level2) 175da853ecaSopenharmony_ci{ 176da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/avc_mp3_error.flv", SEEKTIMES); 177da853ecaSopenharmony_ci} 178da853ecaSopenharmony_ci 179da853ecaSopenharmony_ci/** 180da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0004 181da853ecaSopenharmony_ci * @tc.name : demuxer random seek, avcc_10sec.mp4 182da853ecaSopenharmony_ci * @tc.desc : function test 183da853ecaSopenharmony_ci */ 184da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0004, TestSize.Level2) 185da853ecaSopenharmony_ci{ 186da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/avcc_10sec.mp4", SEEKTIMES); 187da853ecaSopenharmony_ci} 188da853ecaSopenharmony_ci 189da853ecaSopenharmony_ci/** 190da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0005 191da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_2_layer_frame_avc.mp4 192da853ecaSopenharmony_ci * @tc.desc : function test 193da853ecaSopenharmony_ci */ 194da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0005, TestSize.Level0) 195da853ecaSopenharmony_ci{ 196da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_2_layer_frame_avc.mp4", SEEKTIMES); 197da853ecaSopenharmony_ci} 198da853ecaSopenharmony_ci 199da853ecaSopenharmony_ci/** 200da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0006 201da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_2_layer_frame_hevc.mp4 202da853ecaSopenharmony_ci * @tc.desc : function test 203da853ecaSopenharmony_ci */ 204da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0006, TestSize.Level2) 205da853ecaSopenharmony_ci{ 206da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_2_layer_frame_hevc.mp4", SEEKTIMES); 207da853ecaSopenharmony_ci} 208da853ecaSopenharmony_ci 209da853ecaSopenharmony_ci/** 210da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0007 211da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_3_layer_frame_avc.mp4 212da853ecaSopenharmony_ci * @tc.desc : function test 213da853ecaSopenharmony_ci */ 214da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0007, TestSize.Level2) 215da853ecaSopenharmony_ci{ 216da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_3_layer_frame_avc.mp4", SEEKTIMES); 217da853ecaSopenharmony_ci} 218da853ecaSopenharmony_ci 219da853ecaSopenharmony_ci/** 220da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0008 221da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_3_layer_frame_hevc.mp4 222da853ecaSopenharmony_ci * @tc.desc : function test 223da853ecaSopenharmony_ci */ 224da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0008, TestSize.Level2) 225da853ecaSopenharmony_ci{ 226da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_3_layer_frame_hevc.mp4", SEEKTIMES); 227da853ecaSopenharmony_ci} 228da853ecaSopenharmony_ci 229da853ecaSopenharmony_ci/** 230da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0009 231da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_4_layer_frame_avc.mp4 232da853ecaSopenharmony_ci * @tc.desc : function test 233da853ecaSopenharmony_ci */ 234da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0009, TestSize.Level2) 235da853ecaSopenharmony_ci{ 236da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_4_layer_frame_avc.mp4", SEEKTIMES); 237da853ecaSopenharmony_ci} 238da853ecaSopenharmony_ci 239da853ecaSopenharmony_ci/** 240da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0010 241da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_4_layer_frame_hevc.mp4 242da853ecaSopenharmony_ci * @tc.desc : function test 243da853ecaSopenharmony_ci */ 244da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0010, TestSize.Level2) 245da853ecaSopenharmony_ci{ 246da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_4_layer_frame_hevc.mp4", SEEKTIMES); 247da853ecaSopenharmony_ci} 248da853ecaSopenharmony_ci 249da853ecaSopenharmony_ci/** 250da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0011 251da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_all_i_frame_avc.mp4 252da853ecaSopenharmony_ci * @tc.desc : function test 253da853ecaSopenharmony_ci */ 254da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0011, TestSize.Level1) 255da853ecaSopenharmony_ci{ 256da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_all_i_frame_avc.mp4", SEEKTIMES); 257da853ecaSopenharmony_ci} 258da853ecaSopenharmony_ci 259da853ecaSopenharmony_ci/** 260da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0012 261da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_all_i_frame_hevc.mp4 262da853ecaSopenharmony_ci * @tc.desc : function test 263da853ecaSopenharmony_ci */ 264da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0012, TestSize.Level1) 265da853ecaSopenharmony_ci{ 266da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_all_i_frame_hevc.mp4", SEEKTIMES); 267da853ecaSopenharmony_ci} 268da853ecaSopenharmony_ci 269da853ecaSopenharmony_ci/** 270da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0013 271da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_ipb_frame_avc.mp4 272da853ecaSopenharmony_ci * @tc.desc : function test 273da853ecaSopenharmony_ci */ 274da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0013, TestSize.Level0) 275da853ecaSopenharmony_ci{ 276da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_ipb_frame_avc.mp4", SEEKTIMES); 277da853ecaSopenharmony_ci} 278da853ecaSopenharmony_ci 279da853ecaSopenharmony_ci/** 280da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0014 281da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_ipb_frame_hevc.mp4 282da853ecaSopenharmony_ci * @tc.desc : function test 283da853ecaSopenharmony_ci */ 284da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0014, TestSize.Level0) 285da853ecaSopenharmony_ci{ 286da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_ipb_frame_hevc.mp4", SEEKTIMES); 287da853ecaSopenharmony_ci} 288da853ecaSopenharmony_ci 289da853ecaSopenharmony_ci/** 290da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0015 291da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_ltr_frame_avc.mp4 292da853ecaSopenharmony_ci * @tc.desc : function test 293da853ecaSopenharmony_ci */ 294da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0015, TestSize.Level2) 295da853ecaSopenharmony_ci{ 296da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_ltr_frame_avc.mp4", SEEKTIMES); 297da853ecaSopenharmony_ci} 298da853ecaSopenharmony_ci 299da853ecaSopenharmony_ci/** 300da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0016 301da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_ltr_frame_hevc.mp4 302da853ecaSopenharmony_ci * @tc.desc : function test 303da853ecaSopenharmony_ci */ 304da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0016, TestSize.Level2) 305da853ecaSopenharmony_ci{ 306da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_ltr_frame_hevc.mp4", SEEKTIMES); 307da853ecaSopenharmony_ci} 308da853ecaSopenharmony_ci 309da853ecaSopenharmony_ci/** 310da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0017 311da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_one_i_frame_avc.mp4 312da853ecaSopenharmony_ci * @tc.desc : function test 313da853ecaSopenharmony_ci */ 314da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0017, TestSize.Level0) 315da853ecaSopenharmony_ci{ 316da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_one_i_frame_avc.mp4", SEEKTIMES); 317da853ecaSopenharmony_ci} 318da853ecaSopenharmony_ci 319da853ecaSopenharmony_ci/** 320da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0018 321da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_one_i_frame_hevc.mp4 322da853ecaSopenharmony_ci * @tc.desc : function test 323da853ecaSopenharmony_ci */ 324da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0018, TestSize.Level1) 325da853ecaSopenharmony_ci{ 326da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_one_i_frame_hevc.mp4", SEEKTIMES); 327da853ecaSopenharmony_ci} 328da853ecaSopenharmony_ci 329da853ecaSopenharmony_ci/** 330da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0019 331da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_one_i_frame_no_audio_avc.mp4 332da853ecaSopenharmony_ci * @tc.desc : function test 333da853ecaSopenharmony_ci */ 334da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0019, TestSize.Level2) 335da853ecaSopenharmony_ci{ 336da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_one_i_frame_no_audio_avc.mp4", SEEKTIMES); 337da853ecaSopenharmony_ci} 338da853ecaSopenharmony_ci 339da853ecaSopenharmony_ci/** 340da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0020 341da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_one_i_frame_no_audio_hevc.mp4 342da853ecaSopenharmony_ci * @tc.desc : function test 343da853ecaSopenharmony_ci */ 344da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0020, TestSize.Level2) 345da853ecaSopenharmony_ci{ 346da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_one_i_frame_no_audio_hevc.mp4", SEEKTIMES); 347da853ecaSopenharmony_ci} 348da853ecaSopenharmony_ci 349da853ecaSopenharmony_ci/** 350da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0021 351da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_sdtp_frame_avc.mp4 352da853ecaSopenharmony_ci * @tc.desc : function test 353da853ecaSopenharmony_ci */ 354da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0021, TestSize.Level2) 355da853ecaSopenharmony_ci{ 356da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_sdtp_frame_avc.mp4", SEEKTIMES); 357da853ecaSopenharmony_ci} 358da853ecaSopenharmony_ci 359da853ecaSopenharmony_ci/** 360da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0022 361da853ecaSopenharmony_ci * @tc.name : demuxer random seek, demuxer_parser_sdtp_frame_hevc.mp4 362da853ecaSopenharmony_ci * @tc.desc : function test 363da853ecaSopenharmony_ci */ 364da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0022, TestSize.Level2) 365da853ecaSopenharmony_ci{ 366da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/demuxer_parser_sdtp_frame_hevc.mp4", SEEKTIMES); 367da853ecaSopenharmony_ci} 368da853ecaSopenharmony_ci 369da853ecaSopenharmony_ci/** 370da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0023 371da853ecaSopenharmony_ci * @tc.name : demuxer random seek, double_hevc.mp4 372da853ecaSopenharmony_ci * @tc.desc : function test 373da853ecaSopenharmony_ci */ 374da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0023, TestSize.Level1) 375da853ecaSopenharmony_ci{ 376da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/double_hevc.mp4", SEEKTIMES); 377da853ecaSopenharmony_ci} 378da853ecaSopenharmony_ci 379da853ecaSopenharmony_ci/** 380da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0024 381da853ecaSopenharmony_ci * @tc.name : demuxer random seek, double_vivid.mp4 382da853ecaSopenharmony_ci * @tc.desc : function test 383da853ecaSopenharmony_ci */ 384da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0024, TestSize.Level2) 385da853ecaSopenharmony_ci{ 386da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/double_vivid.mp4", SEEKTIMES); 387da853ecaSopenharmony_ci} 388da853ecaSopenharmony_ci 389da853ecaSopenharmony_ci/** 390da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0026 391da853ecaSopenharmony_ci * @tc.name : demuxer random seek, h264_aac_640.ts 392da853ecaSopenharmony_ci * @tc.desc : function test 393da853ecaSopenharmony_ci */ 394da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0026, TestSize.Level2) 395da853ecaSopenharmony_ci{ 396da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/h264_aac_640.ts", SEEKTIMES); 397da853ecaSopenharmony_ci} 398da853ecaSopenharmony_ci 399da853ecaSopenharmony_ci/** 400da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0027 401da853ecaSopenharmony_ci * @tc.name : demuxer random seek, h264_aac_1280.ts 402da853ecaSopenharmony_ci * @tc.desc : function test 403da853ecaSopenharmony_ci */ 404da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0027, TestSize.Level2) 405da853ecaSopenharmony_ci{ 406da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/h264_aac_1280.ts", SEEKTIMES); 407da853ecaSopenharmony_ci} 408da853ecaSopenharmony_ci 409da853ecaSopenharmony_ci/** 410da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0028 411da853ecaSopenharmony_ci * @tc.name : demuxer random seek, h264_aac_1920.ts 412da853ecaSopenharmony_ci * @tc.desc : function test 413da853ecaSopenharmony_ci */ 414da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0028, TestSize.Level2) 415da853ecaSopenharmony_ci{ 416da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/h264_aac_1920.ts", SEEKTIMES); 417da853ecaSopenharmony_ci} 418da853ecaSopenharmony_ci 419da853ecaSopenharmony_ci/** 420da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0029 421da853ecaSopenharmony_ci * @tc.name : demuxer random seek, h264_mp3_3mevx_fmp4.mp4 422da853ecaSopenharmony_ci * @tc.desc : function test 423da853ecaSopenharmony_ci */ 424da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0029, TestSize.Level1) 425da853ecaSopenharmony_ci{ 426da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/h264_mp3_3mevx_fmp4.mp4", SEEKTIMES); 427da853ecaSopenharmony_ci} 428da853ecaSopenharmony_ci 429da853ecaSopenharmony_ci/** 430da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0030 431da853ecaSopenharmony_ci * @tc.name : demuxer random seek, h265_aac_1mvex_fmp4.mp4 432da853ecaSopenharmony_ci * @tc.desc : function test 433da853ecaSopenharmony_ci */ 434da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0030, TestSize.Level2) 435da853ecaSopenharmony_ci{ 436da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/h265_aac_1mvex_fmp4.mp4", SEEKTIMES); 437da853ecaSopenharmony_ci} 438da853ecaSopenharmony_ci 439da853ecaSopenharmony_ci/** 440da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0032 441da853ecaSopenharmony_ci * @tc.name : demuxer random seek, h265_mp3_640.ts 442da853ecaSopenharmony_ci * @tc.desc : function test 443da853ecaSopenharmony_ci */ 444da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0032, TestSize.Level2) 445da853ecaSopenharmony_ci{ 446da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/h265_mp3_640.ts", SEEKTIMES); 447da853ecaSopenharmony_ci} 448da853ecaSopenharmony_ci 449da853ecaSopenharmony_ci/** 450da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0033 451da853ecaSopenharmony_ci * @tc.name : demuxer random seek, h265_mp3_1280.ts 452da853ecaSopenharmony_ci * @tc.desc : function test 453da853ecaSopenharmony_ci */ 454da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0033, TestSize.Level2) 455da853ecaSopenharmony_ci{ 456da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/h265_mp3_1280.ts", SEEKTIMES); 457da853ecaSopenharmony_ci} 458da853ecaSopenharmony_ci 459da853ecaSopenharmony_ci/** 460da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0034 461da853ecaSopenharmony_ci * @tc.name : demuxer random seek, h265_mp3_1920.ts 462da853ecaSopenharmony_ci * @tc.desc : function test 463da853ecaSopenharmony_ci */ 464da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0034, TestSize.Level2) 465da853ecaSopenharmony_ci{ 466da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/h265_mp3_1920.ts", SEEKTIMES); 467da853ecaSopenharmony_ci} 468da853ecaSopenharmony_ci 469da853ecaSopenharmony_ci/** 470da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0035 471da853ecaSopenharmony_ci * @tc.name : demuxer random seek, hevc_pcm_a.flv 472da853ecaSopenharmony_ci * @tc.desc : function test 473da853ecaSopenharmony_ci */ 474da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0035, TestSize.Level2) 475da853ecaSopenharmony_ci{ 476da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/hevc_pcm_a.flv", SEEKTIMES); 477da853ecaSopenharmony_ci} 478da853ecaSopenharmony_ci 479da853ecaSopenharmony_ci/** 480da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0036 481da853ecaSopenharmony_ci * @tc.name : demuxer random seek, hevc_v.ts 482da853ecaSopenharmony_ci * @tc.desc : function test 483da853ecaSopenharmony_ci */ 484da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0036, TestSize.Level2) 485da853ecaSopenharmony_ci{ 486da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/hevc_v.ts", SEEKTIMES); 487da853ecaSopenharmony_ci} 488da853ecaSopenharmony_ci 489da853ecaSopenharmony_ci/** 490da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0037 491da853ecaSopenharmony_ci * @tc.name : demuxer random seek, hevc_v_a.ts 492da853ecaSopenharmony_ci * @tc.desc : function test 493da853ecaSopenharmony_ci */ 494da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0037, TestSize.Level2) 495da853ecaSopenharmony_ci{ 496da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/hevc_v_a.ts", SEEKTIMES); 497da853ecaSopenharmony_ci} 498da853ecaSopenharmony_ci 499da853ecaSopenharmony_ci/** 500da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0038 501da853ecaSopenharmony_ci * @tc.name : demuxer random seek, hvcc.mp4 502da853ecaSopenharmony_ci * @tc.desc : function test 503da853ecaSopenharmony_ci */ 504da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0038, TestSize.Level1) 505da853ecaSopenharmony_ci{ 506da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/hvcc.mp4", SEEKTIMES); 507da853ecaSopenharmony_ci} 508da853ecaSopenharmony_ci 509da853ecaSopenharmony_ci/** 510da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0039 511da853ecaSopenharmony_ci * @tc.name : demuxer random seek, m4a_fmp4.mp4 512da853ecaSopenharmony_ci * @tc.desc : function test 513da853ecaSopenharmony_ci */ 514da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0039, TestSize.Level2) 515da853ecaSopenharmony_ci{ 516da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/m4a_fmp4.mp4", SEEKTIMES); 517da853ecaSopenharmony_ci} 518da853ecaSopenharmony_ci 519da853ecaSopenharmony_ci/** 520da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0040 521da853ecaSopenharmony_ci * @tc.name : demuxer random seek, m4v_fmp4.mp4 522da853ecaSopenharmony_ci * @tc.desc : function test 523da853ecaSopenharmony_ci */ 524da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0040, TestSize.Level2) 525da853ecaSopenharmony_ci{ 526da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/m4v_fmp4.mp4", SEEKTIMES); 527da853ecaSopenharmony_ci} 528da853ecaSopenharmony_ci 529da853ecaSopenharmony_ci/** 530da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0041 531da853ecaSopenharmony_ci * @tc.name : demuxer random seek, mkv.mkv 532da853ecaSopenharmony_ci * @tc.desc : function test 533da853ecaSopenharmony_ci */ 534da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0041, TestSize.Level1) 535da853ecaSopenharmony_ci{ 536da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/mkv.mkv", SEEKTIMES); 537da853ecaSopenharmony_ci} 538da853ecaSopenharmony_ci 539da853ecaSopenharmony_ci/** 540da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0042 541da853ecaSopenharmony_ci * @tc.name : demuxer random seek, MP3_avcc_10sec.bin 542da853ecaSopenharmony_ci * @tc.desc : function test 543da853ecaSopenharmony_ci */ 544da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0042, TestSize.Level2) 545da853ecaSopenharmony_ci{ 546da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/MP3_avcc_10sec.bin", SEEKTIMES); 547da853ecaSopenharmony_ci} 548da853ecaSopenharmony_ci 549da853ecaSopenharmony_ci/** 550da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0043 551da853ecaSopenharmony_ci * @tc.name : demuxer random seek, MP3_OGG_48000_1.bin 552da853ecaSopenharmony_ci * @tc.desc : function test 553da853ecaSopenharmony_ci */ 554da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0043, TestSize.Level2) 555da853ecaSopenharmony_ci{ 556da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/MP3_OGG_48000_1.bin", SEEKTIMES); 557da853ecaSopenharmony_ci} 558da853ecaSopenharmony_ci 559da853ecaSopenharmony_ci/** 560da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0044 561da853ecaSopenharmony_ci * @tc.name : demuxer random seek, mpeg2.mp4 562da853ecaSopenharmony_ci * @tc.desc : function test 563da853ecaSopenharmony_ci */ 564da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0044, TestSize.Level2) 565da853ecaSopenharmony_ci{ 566da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/mpeg2.mp4", SEEKTIMES); 567da853ecaSopenharmony_ci} 568da853ecaSopenharmony_ci 569da853ecaSopenharmony_ci/** 570da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0045 571da853ecaSopenharmony_ci * @tc.name : demuxer random seek, noPermission.mp4 572da853ecaSopenharmony_ci * @tc.desc : function test 573da853ecaSopenharmony_ci */ 574da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0045, TestSize.Level2) 575da853ecaSopenharmony_ci{ 576da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/noPermission.mp4", SEEKTIMES); 577da853ecaSopenharmony_ci} 578da853ecaSopenharmony_ci 579da853ecaSopenharmony_ci/** 580da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0046 581da853ecaSopenharmony_ci * @tc.name : demuxer random seek, NoTimedmetadataAudio.mp4 582da853ecaSopenharmony_ci * @tc.desc : function test 583da853ecaSopenharmony_ci */ 584da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0046, TestSize.Level2) 585da853ecaSopenharmony_ci{ 586da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/NoTimedmetadataAudio.mp4", SEEKTIMES); 587da853ecaSopenharmony_ci} 588da853ecaSopenharmony_ci 589da853ecaSopenharmony_ci/** 590da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0047 591da853ecaSopenharmony_ci * @tc.name : demuxer random seek, single_60.mp4 592da853ecaSopenharmony_ci * @tc.desc : function test 593da853ecaSopenharmony_ci */ 594da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0047, TestSize.Level2) 595da853ecaSopenharmony_ci{ 596da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/single_60.mp4", SEEKTIMES); 597da853ecaSopenharmony_ci} 598da853ecaSopenharmony_ci 599da853ecaSopenharmony_ci/** 600da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0048 601da853ecaSopenharmony_ci * @tc.name : demuxer random seek, single_rk.mp4 602da853ecaSopenharmony_ci * @tc.desc : function test 603da853ecaSopenharmony_ci */ 604da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0048, TestSize.Level2) 605da853ecaSopenharmony_ci{ 606da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/single_rk.mp4", SEEKTIMES); 607da853ecaSopenharmony_ci} 608da853ecaSopenharmony_ci 609da853ecaSopenharmony_ci/** 610da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0054 611da853ecaSopenharmony_ci * @tc.name : demuxer random seek, test_264_B_Gop25_4sec.mp4 612da853ecaSopenharmony_ci * @tc.desc : function test 613da853ecaSopenharmony_ci */ 614da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0054, TestSize.Level2) 615da853ecaSopenharmony_ci{ 616da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/test_264_B_Gop25_4sec.mp4", SEEKTIMES); 617da853ecaSopenharmony_ci} 618da853ecaSopenharmony_ci 619da853ecaSopenharmony_ci/** 620da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0055 621da853ecaSopenharmony_ci * @tc.name : demuxer random seek, test_265_B_Gop25_4sec.mp4 622da853ecaSopenharmony_ci * @tc.desc : function test 623da853ecaSopenharmony_ci */ 624da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0055, TestSize.Level2) 625da853ecaSopenharmony_ci{ 626da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/test_265_B_Gop25_4sec.mp4", SEEKTIMES); 627da853ecaSopenharmony_ci} 628da853ecaSopenharmony_ci 629da853ecaSopenharmony_ci/** 630da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0056 631da853ecaSopenharmony_ci * @tc.name : demuxer random seek, test_video_avcc_10sec.bin 632da853ecaSopenharmony_ci * @tc.desc : function test 633da853ecaSopenharmony_ci */ 634da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0056, TestSize.Level1) 635da853ecaSopenharmony_ci{ 636da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/test_video_avcc_10sec.bin", SEEKTIMES); 637da853ecaSopenharmony_ci} 638da853ecaSopenharmony_ci 639da853ecaSopenharmony_ci/** 640da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0057 641da853ecaSopenharmony_ci * @tc.name : demuxer random seek, Timedmetadata1Track0.mp4 642da853ecaSopenharmony_ci * @tc.desc : function test 643da853ecaSopenharmony_ci */ 644da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0057, TestSize.Level2) 645da853ecaSopenharmony_ci{ 646da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/Timedmetadata1Track0.mp4", SEEKTIMES); 647da853ecaSopenharmony_ci} 648da853ecaSopenharmony_ci 649da853ecaSopenharmony_ci/** 650da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0058 651da853ecaSopenharmony_ci * @tc.name : demuxer random seek, Timedmetadata1Track1.mp4 652da853ecaSopenharmony_ci * @tc.desc : function test 653da853ecaSopenharmony_ci */ 654da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0058, TestSize.Level2) 655da853ecaSopenharmony_ci{ 656da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/Timedmetadata1Track1.mp4", SEEKTIMES); 657da853ecaSopenharmony_ci} 658da853ecaSopenharmony_ci 659da853ecaSopenharmony_ci/** 660da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0059 661da853ecaSopenharmony_ci * @tc.name : demuxer random seek, Timedmetadata1Track2.mp4 662da853ecaSopenharmony_ci * @tc.desc : function test 663da853ecaSopenharmony_ci */ 664da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0059, TestSize.Level2) 665da853ecaSopenharmony_ci{ 666da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/Timedmetadata1Track2.mp4", SEEKTIMES); 667da853ecaSopenharmony_ci} 668da853ecaSopenharmony_ci 669da853ecaSopenharmony_ci/** 670da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0060 671da853ecaSopenharmony_ci * @tc.name : demuxer random seek, Timedmetadata2Track2.mp4 672da853ecaSopenharmony_ci * @tc.desc : function test 673da853ecaSopenharmony_ci */ 674da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0060, TestSize.Level2) 675da853ecaSopenharmony_ci{ 676da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/Timedmetadata2Track2.mp4", SEEKTIMES); 677da853ecaSopenharmony_ci} 678da853ecaSopenharmony_ci 679da853ecaSopenharmony_ci/** 680da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0061 681da853ecaSopenharmony_ci * @tc.name : demuxer random seek, TimedmetadataAudio.mp4 682da853ecaSopenharmony_ci * @tc.desc : function test 683da853ecaSopenharmony_ci */ 684da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0061, TestSize.Level2) 685da853ecaSopenharmony_ci{ 686da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/TimedmetadataAudio.mp4", SEEKTIMES); 687da853ecaSopenharmony_ci} 688da853ecaSopenharmony_ci 689da853ecaSopenharmony_ci/** 690da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0062 691da853ecaSopenharmony_ci * @tc.name : demuxer random seek, TimedmetadataVideo.mp4 692da853ecaSopenharmony_ci * @tc.desc : function test 693da853ecaSopenharmony_ci */ 694da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0062, TestSize.Level2) 695da853ecaSopenharmony_ci{ 696da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/TimedmetadataVideo.mp4", SEEKTIMES); 697da853ecaSopenharmony_ci} 698da853ecaSopenharmony_ci 699da853ecaSopenharmony_ci/** 700da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0063 701da853ecaSopenharmony_ci * @tc.name : demuxer random seek, ts_video.ts 702da853ecaSopenharmony_ci * @tc.desc : function test 703da853ecaSopenharmony_ci */ 704da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0063, TestSize.Level1) 705da853ecaSopenharmony_ci{ 706da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/ts_video.ts", SEEKTIMES); 707da853ecaSopenharmony_ci} 708da853ecaSopenharmony_ci 709da853ecaSopenharmony_ci/** 710da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0064 711da853ecaSopenharmony_ci * @tc.name : demuxer random seek, video_2audio.mp4 712da853ecaSopenharmony_ci * @tc.desc : function test 713da853ecaSopenharmony_ci */ 714da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0064, TestSize.Level2) 715da853ecaSopenharmony_ci{ 716da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/video_2audio.mp4", SEEKTIMES); 717da853ecaSopenharmony_ci} 718da853ecaSopenharmony_ci 719da853ecaSopenharmony_ci/** 720da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0065 721da853ecaSopenharmony_ci * @tc.name : demuxer random seek, video_9audio.mp4 722da853ecaSopenharmony_ci * @tc.desc : function test 723da853ecaSopenharmony_ci */ 724da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0065, TestSize.Level2) 725da853ecaSopenharmony_ci{ 726da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/video_9audio.mp4", SEEKTIMES); 727da853ecaSopenharmony_ci} 728da853ecaSopenharmony_ci 729da853ecaSopenharmony_ci/** 730da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0071 731da853ecaSopenharmony_ci * @tc.name : demuxer random seek, xm.mp4 732da853ecaSopenharmony_ci * @tc.desc : function test 733da853ecaSopenharmony_ci */ 734da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0071, TestSize.Level2) 735da853ecaSopenharmony_ci{ 736da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/xm.mp4", SEEKTIMES); 737da853ecaSopenharmony_ci} 738da853ecaSopenharmony_ci 739da853ecaSopenharmony_ci/** 740da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0072 741da853ecaSopenharmony_ci * @tc.name : demuxer random seek, AAC_48000_1.aac 742da853ecaSopenharmony_ci * @tc.desc : function test 743da853ecaSopenharmony_ci */ 744da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0072, TestSize.Level2) 745da853ecaSopenharmony_ci{ 746da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/audio/AAC_48000_1.aac", SEEKTIMES); 747da853ecaSopenharmony_ci} 748da853ecaSopenharmony_ci 749da853ecaSopenharmony_ci/** 750da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0073 751da853ecaSopenharmony_ci * @tc.name : demuxer random seek, amr_nb_8000_1.amr 752da853ecaSopenharmony_ci * @tc.desc : function test 753da853ecaSopenharmony_ci */ 754da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0073, TestSize.Level2) 755da853ecaSopenharmony_ci{ 756da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/audio/amr_nb_8000_1.amr", SEEKTIMES); 757da853ecaSopenharmony_ci} 758da853ecaSopenharmony_ci 759da853ecaSopenharmony_ci/** 760da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0074 761da853ecaSopenharmony_ci * @tc.name : demuxer random seek, amr_wb_16000_1.amr 762da853ecaSopenharmony_ci * @tc.desc : function test 763da853ecaSopenharmony_ci */ 764da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0074, TestSize.Level2) 765da853ecaSopenharmony_ci{ 766da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/audio/amr_wb_16000_1.amr", SEEKTIMES); 767da853ecaSopenharmony_ci} 768da853ecaSopenharmony_ci 769da853ecaSopenharmony_ci/** 770da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0075 771da853ecaSopenharmony_ci * @tc.name : demuxer random seek, ape.ape 772da853ecaSopenharmony_ci * @tc.desc : function test 773da853ecaSopenharmony_ci */ 774da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0075, TestSize.Level2) 775da853ecaSopenharmony_ci{ 776da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/audio/ape.ape", SEEKTIMES); 777da853ecaSopenharmony_ci} 778da853ecaSopenharmony_ci 779da853ecaSopenharmony_ci/** 780da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0076 781da853ecaSopenharmony_ci * @tc.name : demuxer random seek, feff_bom.mp3 782da853ecaSopenharmony_ci * @tc.desc : function test 783da853ecaSopenharmony_ci */ 784da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0076, TestSize.Level2) 785da853ecaSopenharmony_ci{ 786da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/audio/feff_bom.mp3", SEEKTIMES); 787da853ecaSopenharmony_ci} 788da853ecaSopenharmony_ci 789da853ecaSopenharmony_ci/** 790da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0077 791da853ecaSopenharmony_ci * @tc.name : demuxer random seek, fffe_bom.mp3 792da853ecaSopenharmony_ci * @tc.desc : function test 793da853ecaSopenharmony_ci */ 794da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0077, TestSize.Level2) 795da853ecaSopenharmony_ci{ 796da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/audio/fffe_bom.mp3", SEEKTIMES); 797da853ecaSopenharmony_ci} 798da853ecaSopenharmony_ci 799da853ecaSopenharmony_ci/** 800da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0078 801da853ecaSopenharmony_ci * @tc.name : demuxer random seek, FLAC_48000_1.flac 802da853ecaSopenharmony_ci * @tc.desc : function test 803da853ecaSopenharmony_ci */ 804da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0078, TestSize.Level2) 805da853ecaSopenharmony_ci{ 806da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/audio/FLAC_48000_1.flac", SEEKTIMES); 807da853ecaSopenharmony_ci} 808da853ecaSopenharmony_ci 809da853ecaSopenharmony_ci/** 810da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0079 811da853ecaSopenharmony_ci * @tc.name : demuxer random seek, M4A_48000_1.m4a 812da853ecaSopenharmony_ci * @tc.desc : function test 813da853ecaSopenharmony_ci */ 814da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0079, TestSize.Level2) 815da853ecaSopenharmony_ci{ 816da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/audio/M4A_48000_1.m4a", SEEKTIMES); 817da853ecaSopenharmony_ci} 818da853ecaSopenharmony_ci 819da853ecaSopenharmony_ci/** 820da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0080 821da853ecaSopenharmony_ci * @tc.name : demuxer random seek, MP3_48000_1.mp3 822da853ecaSopenharmony_ci * @tc.desc : function test 823da853ecaSopenharmony_ci */ 824da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0080, TestSize.Level2) 825da853ecaSopenharmony_ci{ 826da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/audio/MP3_48000_1.mp3", SEEKTIMES); 827da853ecaSopenharmony_ci} 828da853ecaSopenharmony_ci 829da853ecaSopenharmony_ci/** 830da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0081 831da853ecaSopenharmony_ci * @tc.name : demuxer random seek, nonstandard_bom.mp3 832da853ecaSopenharmony_ci * @tc.desc : function test 833da853ecaSopenharmony_ci */ 834da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0081, TestSize.Level2) 835da853ecaSopenharmony_ci{ 836da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/audio/nonstandard_bom.mp3", SEEKTIMES); 837da853ecaSopenharmony_ci} 838da853ecaSopenharmony_ci 839da853ecaSopenharmony_ci/** 840da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0082 841da853ecaSopenharmony_ci * @tc.name : demuxer random seek, OGG_48000_1.ogg 842da853ecaSopenharmony_ci * @tc.desc : function test 843da853ecaSopenharmony_ci */ 844da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0082, TestSize.Level2) 845da853ecaSopenharmony_ci{ 846da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/audio/OGG_48000_1.ogg", SEEKTIMES); 847da853ecaSopenharmony_ci} 848da853ecaSopenharmony_ci 849da853ecaSopenharmony_ci/** 850da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0083 851da853ecaSopenharmony_ci * @tc.name : demuxer random seek, wav_48000_1.wav 852da853ecaSopenharmony_ci * @tc.desc : function test 853da853ecaSopenharmony_ci */ 854da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0083, TestSize.Level2) 855da853ecaSopenharmony_ci{ 856da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/audio/wav_48000_1.wav", SEEKTIMES); 857da853ecaSopenharmony_ci} 858da853ecaSopenharmony_ci 859da853ecaSopenharmony_ci/** 860da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0084 861da853ecaSopenharmony_ci * @tc.name : demuxer random seek, wav_audio_test_1562.wav 862da853ecaSopenharmony_ci * @tc.desc : function test 863da853ecaSopenharmony_ci */ 864da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0084, TestSize.Level2) 865da853ecaSopenharmony_ci{ 866da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/audio/wav_audio_test_1562.wav", SEEKTIMES); 867da853ecaSopenharmony_ci} 868da853ecaSopenharmony_ci 869da853ecaSopenharmony_ci/** 870da853ecaSopenharmony_ci * @tc.number : DEMUXER_RANDOM_SEEK_0085 871da853ecaSopenharmony_ci * @tc.name : demuxer random seek, wav_audio_test_202406290859.wav 872da853ecaSopenharmony_ci * @tc.desc : function test 873da853ecaSopenharmony_ci */ 874da853ecaSopenharmony_ciHWTEST_F(DemuxerRandomSeekNdkTest, DEMUXER_RANDOM_SEEK_0085, TestSize.Level2) 875da853ecaSopenharmony_ci{ 876da853ecaSopenharmony_ci CheckSeekResult("/data/test/media/audio/wav_audio_test_202406290859.wav", SEEKTIMES); 877da853ecaSopenharmony_ci}