diff --git a/inc/mpp_packet.h b/inc/mpp_packet.h index 72006dbd..8df8818a 100644 --- a/inc/mpp_packet.h +++ b/inc/mpp_packet.h @@ -31,9 +31,9 @@ extern "C" { * * mpp_packet_init = mpp_packet_new + mpp_packet_set_data + mpp_packet_set_size */ -MPP_RET mpp_packet_new(MppPacket *packet); MPP_RET mpp_packet_init(MppPacket *packet, void *data, size_t size); MPP_RET mpp_packet_deinit(MppPacket *packet); +MPP_RET mpp_packet_reset(MppPacket packet); void mpp_packet_set_data(MppPacket packet, void *data); diff --git a/mpp/mpp_packet.cpp b/mpp/mpp_packet.cpp index c1dde9c5..4afe8220 100644 --- a/mpp/mpp_packet.cpp +++ b/mpp/mpp_packet.cpp @@ -16,6 +16,8 @@ #define MODULE_TAG "mpp_packet" +#include + #include "mpp_log.h" #include "mpp_mem.h" #include "mpp_packet.h" @@ -52,7 +54,7 @@ MPP_RET mpp_packet_init(MppPacket *packet, void *data, size_t size) MPP_RET mpp_packet_deinit(MppPacket *packet) { - if (NULL == packet || NULL == packet) { + if (NULL == packet || NULL == *packet) { mpp_err_f("found NULL input\n"); return MPP_ERR_NULL_PTR; } @@ -61,6 +63,18 @@ MPP_RET mpp_packet_deinit(MppPacket *packet) return MPP_OK; } +MPP_RET mpp_packet_reset(MppPacket packet) +{ + if (NULL == packet) { + mpp_err_f("found NULL input\n"); + return MPP_ERR_NULL_PTR; + } + + MppPacketImpl *p = (MppPacketImpl *)packet; + memset(p, 0, sizeof(*p)); + return MPP_OK; +} + MPP_RET mpp_packet_set_eos(MppPacket packet) { if (NULL == packet) {