From a31103d3f045beff9fedbb64643bcb33ed2d521f Mon Sep 17 00:00:00 2001 From: ChenHengming Date: Fri, 15 Jul 2016 09:36:11 +0000 Subject: [PATCH] [mpp_meta]: fix compile error of mpp_meta.cpp git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@1033 6e48237b-75ef-9749-8fc9-41990f28c85a --- mpp/base/CMakeLists.txt | 1 + mpp/base/inc/mpp_task_impl.h | 2 +- mpp/base/mpp_meta.cpp | 31 +++++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/mpp/base/CMakeLists.txt b/mpp/base/CMakeLists.txt index c84eb1f8..f83a4843 100644 --- a/mpp/base/CMakeLists.txt +++ b/mpp/base/CMakeLists.txt @@ -9,6 +9,7 @@ add_library(mpp_base STATIC mpp_buffer.cpp mpp_packet.cpp mpp_frame.cpp + mpp_task_impl.cpp mpp_task.cpp mpp_meta.cpp mpp_bitread.c diff --git a/mpp/base/inc/mpp_task_impl.h b/mpp/base/inc/mpp_task_impl.h index fc816b6f..6fe60670 100644 --- a/mpp/base/inc/mpp_task_impl.h +++ b/mpp/base/inc/mpp_task_impl.h @@ -18,7 +18,7 @@ #define __MPP_TASK_IMPL_H__ #include "mpp_list.h" -#include "mpp_meta.h" +#include "mpp_task.h" /* * mpp task status transaction diff --git a/mpp/base/mpp_meta.cpp b/mpp/base/mpp_meta.cpp index ab045b59..c66c44bd 100644 --- a/mpp/base/mpp_meta.cpp +++ b/mpp/base/mpp_meta.cpp @@ -116,6 +116,37 @@ public: void put_node(MppMetaNode *node); }; +MppMetaService::MppMetaService() + : meta_id(0), + meta_count(0), + node_count(0) +{ + INIT_LIST_HEAD(&mlist_meta); + INIT_LIST_HEAD(&mlist_node); +} + +MppMetaService::~MppMetaService() +{ + mpp_assert(list_empty(&mlist_meta)); + mpp_assert(list_empty(&mlist_node)); + + while (!list_empty(&mlist_meta)) { + MppMetaImpl *pos, *n; + list_for_each_entry_safe(pos, n, &mlist_meta, MppMetaImpl, list_meta) { + put_meta(pos); + } + } + + mpp_assert(list_empty(&mlist_node)); + + while (!list_empty(&mlist_node)) { + MppMetaNode *pos, *n; + list_for_each_entry_safe(pos, n, &mlist_node, MppMetaNode, list_node) { + put_node(pos); + } + } +} + RK_S32 MppMetaService::get_index_of_key(MppMetaKey key, MppMetaType type) { RK_S32 i = 0;