/* * Copyright (c) 2025 Quaming Intelligent Technology Co., Ltd. * * All Rights Reserved. * Confidential and Proprietary - Quaming Intelligent Technology Co., Ltd. */ #ifndef __QUA_SIMPLE_EXTRACTOR_H_ #define __QUA_SIMPLE_EXTRACTOR_H_ #include "common/qua_type.h" #include "avext/common/qua_mm_metaformat.h" #include "avext/common/qua_mm_avcommon.h" #ifdef __cplusplus extern "C" { #endif extern QUA_VOID* qua_simple_extractor_new(QUA_S32 fd); extern QUA_SIZE_T qua_simple_extractor_trackCount(QUA_VOID* ex); extern QUA_S32 qua_simple_extractor_getAudioTrackIndex(QUA_VOID* ex); extern QUA_S32 qua_simple_extractor_getVideoTrackIndex(QUA_VOID* ex); extern QUA_S32 qua_simple_extractor_metaData(QUA_VOID* ex, qua_metaformat_t** meta); extern QUA_S32 qua_simple_extractor_trackMetaData(QUA_VOID* ex, QUA_SIZE_T trackIndex, qua_metaformat_t** trackMeta); extern QUA_SSIZE_T qua_simple_extractor_readSampleData(QUA_VOID* ex, QUA_SIZE_T trackIndex, qua_packet_t* quaPacket); extern QUA_S32 qua_simple_extractor_seekTo(QUA_VOID* ex, QUA_U64 timeUs, seek_mode_t mode); extern QUA_BOOL qua_simple_extractor_advance(QUA_VOID* ex); extern QUA_S32 qua_simple_extractor_delete(QUA_VOID* ex); #ifdef __cplusplus } // extern "C" #endif #endif // __QUA_SIMPLE_EXTRACTOR_H_