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

39 lines
1.7 KiB
C

/*
* Copyright (c) 2023~2024 Quaming Intelligent Technology Co., Ltd.
*
* All Rights Reserved.
* Confidential and Proprietary - Quaming Intelligent Technology Co., Ltd.
*/
#ifndef __QUA_MM_PLAYER_H__
#define __QUA_MM_PLAYER_H__
#include "common/qua_type.h"
#include "player/qua_mm_player_common.h"
QUA_VOID* qua_mm_player_create(QUA_CONST_CHAR* name);
QUA_S32 qua_mm_player_set_data_source(QUA_VOID* player, QUA_CONST_CHAR* url);
QUA_S32 qua_mm_player_set_fd_source(QUA_VOID* player, QUA_S32 fd_type, QUA_S32 fd);
QUA_S32 qua_mm_player_set_loop(QUA_VOID* player, QUA_BOOL loop);
QUA_S32 qua_mm_player_prepare(QUA_VOID* player);
QUA_S32 qua_mm_player_set_parameter(QUA_VOID* player, QUA_S32 key, QUA_VOID* value);
QUA_S32 qua_mm_player_get_parameter(QUA_VOID* player, QUA_S32 key, QUA_VOID* value);
QUA_S32 qua_mm_player_start(QUA_VOID* player);
QUA_S32 qua_mm_player_pause(QUA_VOID* player);
QUA_S32 qua_mm_player_resume(QUA_VOID* player);
QUA_S32 qua_mm_player_stop(QUA_VOID* player);
QUA_S32 qua_mm_player_reset(QUA_VOID* player);
QUA_S32 qua_mm_player_seek(QUA_VOID* player, QUA_U64 timeUs);
QUA_S64 qua_mm_player_get_durationUs(QUA_VOID* player);
QUA_S32 qua_mm_player_get_file_meta(QUA_VOID* player, QUA_VOID** meta);
QUA_U64 qua_mm_player_get_current_position(QUA_VOID* player);
QUA_S32 qua_mm_player_set_volume(QUA_VOID* player, QUA_S32 volume);
QUA_S32 qua_mm_player_set_callback(QUA_VOID* player, CallBack cb, QUA_VOID* user);
QUA_S32 qua_mm_player_destroy(QUA_VOID* player);
QUA_S32 qua_mm_player_get_status(QUA_VOID* player, QUA_S32* status);
// async api
QUA_S32 qua_mm_player_stop_async(QUA_VOID* player);
QUA_S32 qua_mm_player_destroy_async(QUA_VOID* player);
#endif // __QUA_MM_PLAYER_H__