mirror of
https://gitee.com/Vancouver2017/luban-lite-t3e-pro.git
synced 2025-12-15 19:08:54 +00:00
55 lines
1.3 KiB
C
55 lines
1.3 KiB
C
/*
|
|
* Copyright (C) 2020-2024 ArtInChip Technology Co. Ltd
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*
|
|
* Author: <jun.ma@artinchip.com>
|
|
* Desc: aic muxer
|
|
*/
|
|
|
|
#ifndef __AIC_MUXER_H__
|
|
#define __AIC_MUXER_H__
|
|
|
|
#include "mpp_dec_type.h"
|
|
#include "aic_middle_media_common.h"
|
|
#include "aic_stream.h"
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
struct aic_muxer {
|
|
|
|
s32 (*destroy)(struct aic_muxer *muxer);
|
|
|
|
s32 (*init)(struct aic_muxer *muxer,struct aic_av_media_info *info);
|
|
|
|
s32 (*write_header)(struct aic_muxer *muxer);
|
|
|
|
s32 (*write_packet)(struct aic_muxer *muxer, struct aic_av_packet *packet);
|
|
|
|
s32 (*write_trailer)(struct aic_muxer *muxer);
|
|
|
|
};
|
|
|
|
#define aic_muxer_destroy(muxer)\
|
|
((struct aic_muxer*)muxer)->destroy(muxer)
|
|
|
|
#define aic_muxer_init(muxer,info)\
|
|
((struct aic_muxer*)muxer)->init(muxer,info)
|
|
|
|
#define aic_muxer_write_header(muxer)\
|
|
((struct aic_muxer*)muxer)->write_header(muxer)
|
|
|
|
#define aic_muxer_write_packet(muxer,packet)\
|
|
((struct aic_muxer*)muxer)->write_packet(muxer,packet)
|
|
|
|
#define aic_muxer_write_trailer(muxer)\
|
|
((struct aic_muxer*)muxer)->write_trailer(muxer)
|
|
|
|
s32 aic_muxer_create(unsigned char *uri, struct aic_muxer **muxer, enum aic_muxer_type type);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* End of #ifdef __cplusplus */
|
|
#endif
|