[mpp]: when mpp deinit only release internal frame buffer group

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@378 6e48237b-75ef-9749-8fc9-41990f28c85a
This commit is contained in:
ChenHengming
2015-10-13 19:39:51 +00:00
parent df3995f9bf
commit 005c1029db
3 changed files with 29 additions and 1 deletions

View File

@@ -214,6 +214,9 @@ MPP_RET mpp_buffer_group_get(const char *tag, MppBufferMode mode, MppBufferGroup
MPP_RET mpp_buffer_group_put(MppBufferGroup group);
MPP_RET mpp_buffer_group_clear(MppBufferGroup group);
RK_S32 mpp_buffer_group_unused(MppBufferGroup group);
MppBufferMode mpp_buffer_group_mode(MppBufferGroup group);
MppBufferType mpp_buffer_group_type(MppBufferGroup group);
/*
* size : 0 - no limit, other - max buffer size
* count : 0 - no limit, other - max buffer count

View File

@@ -152,7 +152,10 @@ void Mpp::clear()
mPacketGroup = NULL;
}
if (mFrameGroup) {
mpp_buffer_group_put(mFrameGroup);
MppBufferMode mode = mpp_buffer_group_mode(mFrameGroup);
if (MPP_BUFFER_INTERNAL == mode) {
mpp_buffer_group_put(mFrameGroup);
}
mFrameGroup = NULL;
}
}

View File

@@ -205,6 +205,28 @@ RK_S32 mpp_buffer_group_unused(MppBufferGroup group)
return p->count_unused;
}
MppBufferMode mpp_buffer_group_mode(MppBufferGroup group)
{
if (NULL == group) {
mpp_err_f("input invalid group %p\n", group);
return MPP_BUFFER_MODE_BUTT;
}
MppBufferGroupImpl *p = (MppBufferGroupImpl *)group;
return p->mode;
}
MppBufferType mpp_buffer_group_type(MppBufferGroup group)
{
if (NULL == group) {
mpp_err_f("input invalid group %p\n", group);
return MPP_BUFFER_TYPE_BUTT;
}
MppBufferGroupImpl *p = (MppBufferGroupImpl *)group;
return p->type;
}
MPP_RET mpp_buffer_group_limit_config(MppBufferGroup group, size_t size, RK_S32 count)
{
if (NULL == group) {