mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-06 17:46:50 +08:00
[mpp_packet]: used interal free when buffer alloc by mpppacket self
git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@528 6e48237b-75ef-9749-8fc9-41990f28c85a
This commit is contained in:
@@ -288,7 +288,6 @@ static MPP_RET try_proc_dec_task(Mpp *mpp, DecTask *task)
|
||||
if (!task->status.curr_task_rdy) {
|
||||
parser_prepare(dec->parser, dec->mpp_pkt_in, task_dec);
|
||||
if (0 == mpp_packet_get_length(dec->mpp_pkt_in)) {
|
||||
mpp_free(mpp_packet_get_data(dec->mpp_pkt_in));
|
||||
mpp_packet_deinit(&dec->mpp_pkt_in);
|
||||
dec->mpp_pkt_in = NULL;
|
||||
}
|
||||
|
@@ -335,7 +335,6 @@ MPP_RET Mpp::reset()
|
||||
if (flags & MPP_PACKET_FLAG_EXTRA_DATA) { //avoid first packet is extara data was flushed & dec can work
|
||||
put_packet(mpkt);
|
||||
}
|
||||
mpp_free(mpp_packet_get_data(mpkt));
|
||||
mpp_packet_deinit(&mpkt);
|
||||
mpkt = NULL;
|
||||
}
|
||||
|
@@ -94,6 +94,7 @@ MPP_RET mpp_packet_copy_init(MppPacket *packet, const MppPacket src)
|
||||
memcpy(p, src, sizeof(*p));
|
||||
p->data = p->pos = data;
|
||||
p->size = p->length = size;
|
||||
p->flag |= MPP_PACKET_FLAG_INTERNAL;
|
||||
if (size) {
|
||||
memcpy(data, ((MppPacketImpl *)src)->data, size);
|
||||
}
|
||||
@@ -115,6 +116,9 @@ MPP_RET mpp_packet_deinit(MppPacket *packet)
|
||||
|
||||
MppPacketImpl *p = (MppPacketImpl *)(*packet);
|
||||
check_mpp_packet_name(p);
|
||||
if (p->flag & MPP_PACKET_FLAG_INTERNAL) {
|
||||
mpp_free(p->data);
|
||||
}
|
||||
mpp_free(p);
|
||||
*packet = NULL;
|
||||
return MPP_OK;
|
||||
|
@@ -22,6 +22,7 @@
|
||||
|
||||
#define MPP_PACKET_FLAG_EOS (0x00000001)
|
||||
#define MPP_PACKET_FLAG_EXTRA_DATA (0x00000002)
|
||||
#define MPP_PACKET_FLAG_INTERNAL (0x00000004)
|
||||
|
||||
/*
|
||||
* mpp_packet_imp structure
|
||||
|
Reference in New Issue
Block a user