[mpp_buffer]: fix legacy group runtime error on mpi test

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@780 6e48237b-75ef-9749-8fc9-41990f28c85a
This commit is contained in:
ChenHengming
2016-05-19 08:21:21 +00:00
parent 50277780fc
commit e9c4a0470e

View File

@@ -117,17 +117,23 @@ static MppBufferGroupImpl *search_group_by_id_no_lock(struct list_head *list, RK
MPP_RET deinit_group_no_lock(MppBufferGroupImpl *group) MPP_RET deinit_group_no_lock(MppBufferGroupImpl *group)
{ {
MppBufferGroupImpl *legacy = mpp_buffer_legacy_group();
mpp_alloctor_put(&group->allocator); mpp_alloctor_put(&group->allocator);
list_del_init(&group->list_group); list_del_init(&group->list_group);
mpp_free(group); mpp_free(group);
service.group_count--; service.group_count--;
/* if only legacy group left dump the legacy group */
if (service.group_count == 1) { if (group == legacy) {
MppBufferGroupImpl *legacy = mpp_buffer_legacy_group(); service.mLegacyGroup = NULL;
if (legacy->count) { } else {
mpp_log("found legacy group has buffer remain, start dumping\n"); /* if only legacy group left dump the legacy group */
mpp_buffer_group_dump(legacy); if (service.group_count == 1) {
abort(); if (legacy->count) {
mpp_log("found legacy group has buffer remain, start dumping\n");
mpp_buffer_group_dump(legacy);
//abort();
}
} }
} }
return MPP_OK; return MPP_OK;
@@ -532,7 +538,7 @@ MppBufferService::~MppBufferService()
if (mLegacyGroup) if (mLegacyGroup)
mpp_buffer_group_deinit(mLegacyGroup); mpp_buffer_group_deinit(mLegacyGroup);
// then remove the reset group // then remove the remaining group
if (!list_empty(&mListGroup)) { if (!list_empty(&mListGroup)) {
MppBufferGroupImpl *pos, *n; MppBufferGroupImpl *pos, *n;
list_for_each_entry_safe(pos, n, &mListGroup, MppBufferGroupImpl, list_group) { list_for_each_entry_safe(pos, n, &mListGroup, MppBufferGroupImpl, list_group) {