[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:
ChenSiyong
2016-01-14 07:42:11 +00:00
parent ecb5caf3e4
commit 0b48769422
4 changed files with 10 additions and 7 deletions

View File

@@ -307,7 +307,7 @@ MPP_RET Mpp::reset()
MppPacket mpkt = NULL;
RK_U32 flags = 0;
mPackets->lock();
if(mPackets->list_size()){
if (mPackets->list_size()) {
mPackets->del_at_head(&mpkt, sizeof(mpkt));
}
mPackets->flush();
@@ -329,13 +329,12 @@ MPP_RET Mpp::reset()
mpp_enc_reset(mEnc);
}
mThreadCodec->unlock(THREAD_RESET);
if(mpkt != NULL){
if (mpkt != NULL) {
flags = mpp_packet_get_flag(mpkt);
mpp_log("flags = %d",flags);
if(flags&MPP_PACKET_FLAG_EXTRA_DATA){ //avoid first packet is extara data was flushed & dec can work
mpp_log("flags = %d", flags);
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;
}