[mpp_pacet]: rename mpp_packet_copy to mpp_packet_copy_init

[mpp_dec]: put_packet will transfer pointer rather than implement

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@306 6e48237b-75ef-9749-8fc9-41990f28c85a
This commit is contained in:
ChenHengming
2015-09-24 23:48:31 +00:00
parent 5c602b7193
commit 7a5a04ccd1
4 changed files with 11 additions and 8 deletions

View File

@@ -30,10 +30,11 @@ extern "C" {
* MppPacket interface * MppPacket interface
* *
* mpp_packet_init = mpp_packet_new + mpp_packet_set_data + mpp_packet_set_size * mpp_packet_init = mpp_packet_new + mpp_packet_set_data + mpp_packet_set_size
* mpp_packet_copy_init = mpp_packet_init + memcpy
*/ */
MPP_RET mpp_packet_new(MppPacket *packet); MPP_RET mpp_packet_new(MppPacket *packet);
MPP_RET mpp_packet_init(MppPacket *packet, void *data, size_t size); MPP_RET mpp_packet_init(MppPacket *packet, void *data, size_t size);
MPP_RET mpp_packet_copy(MppPacket *packet, const MppPacket src); MPP_RET mpp_packet_copy_init(MppPacket *packet, const MppPacket src);
MPP_RET mpp_packet_deinit(MppPacket *packet); MPP_RET mpp_packet_deinit(MppPacket *packet);
/* /*

View File

@@ -34,7 +34,7 @@ void *mpp_dec_parser_thread(void *data)
MppDec *dec = mpp->mDec; MppDec *dec = mpp->mDec;
MppBufSlots slots = dec->slots; MppBufSlots slots = dec->slots;
HalTaskGroup tasks = dec->tasks; HalTaskGroup tasks = dec->tasks;
MppPacketImpl packet; MppPacket packet = NULL;
/* /*
* parser thread need to wait at cases below: * parser thread need to wait at cases below:
@@ -106,9 +106,9 @@ void *mpp_dec_parser_thread(void *data)
*/ */
if (!task_ready) { if (!task_ready) {
hal_task_init(&task_local, MPP_CTX_DEC); hal_task_init(&task_local, MPP_CTX_DEC);
parser_prepare(dec->parser, (MppPacket)&packet, task_dec); parser_prepare(dec->parser, packet, task_dec);
if (0 == packet.length) { if (0 == mpp_packet_get_length(packet)) {
mpp_packet_reset(&packet); mpp_packet_deinit(&packet);
packet_ready = 0; packet_ready = 0;
} }
} }

View File

@@ -56,7 +56,7 @@ Mpp::Mpp(MppCtxType type, MppCodingType coding)
{ {
switch (mType) { switch (mType) {
case MPP_CTX_DEC : { case MPP_CTX_DEC : {
mPackets = new mpp_list((node_destructor)NULL); mPackets = new mpp_list((node_destructor)mpp_packet_deinit);
mFrames = new mpp_list((node_destructor)mpp_frame_deinit); mFrames = new mpp_list((node_destructor)mpp_frame_deinit);
mTasks = new mpp_list((node_destructor)NULL); mTasks = new mpp_list((node_destructor)NULL);
@@ -156,7 +156,9 @@ MPP_RET Mpp::put_packet(MppPacket packet)
{ {
Mutex::Autolock autoLock(mPackets->mutex()); Mutex::Autolock autoLock(mPackets->mutex());
if (mPackets->list_size() < 4) { if (mPackets->list_size() < 4) {
mPackets->add_at_tail(packet, sizeof(MppPacketImpl)); MppPacket pkt;
mpp_packet_copy_init(&pkt, packet);
mPackets->add_at_tail(&pkt, sizeof(pkt));
mPacketPutCount++; mPacketPutCount++;
mThreadCodec->signal(); mThreadCodec->signal();
return MPP_OK; return MPP_OK;

View File

@@ -72,7 +72,7 @@ MPP_RET mpp_packet_init(MppPacket *packet, void *data, size_t size)
return MPP_OK; return MPP_OK;
} }
MPP_RET mpp_packet_copy(MppPacket *packet, const MppPacket src) MPP_RET mpp_packet_copy_init(MppPacket *packet, const MppPacket src)
{ {
if (NULL == packet || NULL == src) { if (NULL == packet || NULL == src) {
mpp_err_f("found NULL input\n"); mpp_err_f("found NULL input\n");