mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-06 01:26:49 +08:00
[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:
@@ -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);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
|
@@ -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");
|
||||||
|
Reference in New Issue
Block a user