/* * Copyright (c) Hisilicon Technologies Co., Ltd. 2012-2019. All rights reserved. * Description: API of subt output module * Author: Hisilicon * Create: 2012-03-12 */ #ifndef SUBTITLE_DATA_H #define SUBTITLE_DATA_H #include "td_type.h" #ifdef __cplusplus extern "C" { #endif #define SUBT_MAX_PES_PACKET_LEN (64 * 1024) /* * @brief: Initialize this module * * @retval ::TD_SUCCESS - upon successful. * @retval ::TD_FAILURE - failed. */ td_s32 SUBTDataRecvInit(td_void); /* * @brief: Destroy this module * * @retval ::TD_SUCCESS - upon successful. * @retval ::TD_FAILURE - failed. */ td_s32 SUBTDataRecvDeInit(td_void); /* * @brief: Create the data receiving module. * * @param[in] pageID - page ID * @param[in] ancillaryID - ancillary page ID * @param[out] dataRecv - this module handle. * * @retval ::TD_SUCCESS - upon successful. * @retval ::TD_FAILURE - failed. */ td_s32 SUBTDataRecvCreate(td_u16 pageID, td_u16 ancillaryID, td_void **dataRecv); /* * @brief:Destroy data receiving moudle. * * @param[in] dataRecv - this module handle * @param[out] None. * * @retval ::TD_SUCCESS - upon successful * @retval ::TD_FAILURE - failed. */ td_s32 SUBTDataRecvDestroy(td_void *dataRecv); /* * @brief:Reset data receiving moudle. * * @param[in] dataRecv - this module handle * @param[in] isRecvFlag - whether recv data or not * @param[out] None. * * @retval ::TD_SUCCESS - upon successful * @retval ::TD_FAILURE - failed to reset. */ td_s32 SUBTDataRecvReset(td_void *dataRecv, td_bool isRecvFlag); /* * @brief:updata page id and ancillary id. * * @param[in] dataRecv - this module handle * @param[in] pageID - page id * @param[in] ancillaryID - ancillary id * @param[out] None. * * @retval ::TD_SUCCESS - upon successful * @retval ::TD_FAILURE - failed to updata page id. */ td_s32 SUBTDataRecvUpdata(td_void *dataRecv, td_u16 pageID, td_u16 ancillaryID); /* * @brief:bind parsing module. * * @param[in] dataRecv - this module handle * @param[in] dataParse - the handle of data parsing module * @param[out] None. * * @retval ::TD_SUCCESS - upon successful. * @retval ::TD_FAILURE - failed to bind parsing module. */ td_s32 SUBTDataRecvBindParsing(td_void *dataRecv, td_void *dataParse); /* * @brief:unbind parsing module. * * @param[in] dataRecv - this module handle * @param[out] None. * * @retval ::TD_SUCCESS - upon successful. * @retval ::TD_FAILURE - failed to unbind. */ td_s32 SUBTDataRecvUnbindParsing(td_void *dataRecv); /* * @brief:redo the operation with cache data. * * @param[in] dataRecv - this module handle * @param[out] None. * * @retval ::TD_SUCCESS - upon successful. * @retval ::TD_FAILURE - failed to redo. */ td_s32 SUBTDataRecvRedo(td_void *dataRecv); /* * @brief:inject data. * * @param[in] dataRecv - this module handle * @param[in] data - the pes packet data for subtitle * @param[in] dataSize - pes data len * @param[out] None. * * @retval ::TD_SUCCESS - upon successful, have finished parsing pes data. * @retval ::TD_FAILURE - cannot finish pes data parsing. */ td_s32 SUBTDataRecvInject(td_void *dataRecv, const td_u8 *data, td_u32 dataSize); #ifdef __cplusplus } #endif #endif