10.1_demo/extern/qlibquammapi/include/player/qua_decoder_inf.h

32 lines
1.2 KiB
C

/*
* Copyright (c) 2023~2025 Quaming Intelligent Technology Co., Ltd.
*
* All Rights Reserved.
* Confidential and Proprietary - Quaming Intelligent Technology Co., Ltd.
*/
#include "common/qua_type.h"
#include "avext/common/qua_mm_avcommon.h"
typedef struct qua_decoder_static_buffer {
QUA_BOOL enable;
QUA_S8 pool_id;
QUA_S8 buffer_cnt;
} qua_decoder_static_buffer_t;
QUA_VOID *qua_decoder_create(QUA_CONST_CHAR *mimetype, QUA_VOID *mime_extra);
QUA_S32 qua_decoder_prepare(QUA_VOID *dec, QUA_VOID *param);
QUA_S32 qua_decoder_start(QUA_VOID *dec);
QUA_S32 qua_decoder_stop(QUA_VOID *dec);
QUA_S32 qua_decoder_reset(QUA_VOID *dec);
QUA_S32 qua_decoder_pause(QUA_VOID *dec);
QUA_S32 qua_decoder_resume(QUA_VOID *dec);
QUA_S32 qua_decoder_set_param(QUA_VOID *dec, QUA_S32 key, QUA_VOID *value);
QUA_S32 qua_decoder_get_param(QUA_VOID *dec, QUA_S32 key, QUA_VOID *value);
QUA_S32 qua_decoder_queue_buffer(QUA_VOID *dec, qua_packet_t *packet);
QUA_S32 qua_decoder_dequeue_buffer(QUA_VOID *dec, QUA_VOID *frame);
QUA_S32 qua_decoder_release_buffer(QUA_VOID *dec, QUA_VOID *frame);
QUA_S32 qua_decoder_decode_frame(QUA_VOID *dec, qua_packet_t *packet, QUA_VOID *frame);
QUA_S32 qua_decoder_flush(QUA_VOID *dec);
QUA_S32 qua_decoder_destroy(QUA_VOID *dec);