mirror of
https://github.com/apache/nuttx.git
synced 2026-05-28 11:56:10 +08:00
drivers/video: Skip all action if video_framebuff_realloc_container doesn't change the container size
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
committed by
Petro Karashchenko
parent
aa20b1e8bd
commit
ae3cadf03c
@@ -110,34 +110,31 @@ void video_framebuff_uninit(video_framebuff_t *fbuf)
|
|||||||
|
|
||||||
int video_framebuff_realloc_container(video_framebuff_t *fbuf, int sz)
|
int video_framebuff_realloc_container(video_framebuff_t *fbuf, int sz)
|
||||||
{
|
{
|
||||||
if (fbuf->vbuf_alloced == NULL || fbuf->container_size != sz)
|
if (fbuf->container_size == sz)
|
||||||
{
|
{
|
||||||
if (fbuf->container_size != sz)
|
return OK;
|
||||||
{
|
}
|
||||||
if (fbuf->vbuf_alloced != NULL)
|
|
||||||
{
|
|
||||||
kmm_free(fbuf->vbuf_alloced);
|
|
||||||
}
|
|
||||||
|
|
||||||
fbuf->vbuf_alloced = NULL;
|
if (fbuf->vbuf_alloced != NULL)
|
||||||
fbuf->container_size = 0;
|
{
|
||||||
}
|
kmm_free(fbuf->vbuf_alloced);
|
||||||
|
fbuf->vbuf_alloced = NULL;
|
||||||
|
fbuf->container_size = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (sz > 0)
|
if (sz > 0)
|
||||||
|
{
|
||||||
|
fbuf->vbuf_alloced =
|
||||||
|
(vbuf_container_t *)kmm_malloc(sizeof(vbuf_container_t) * sz);
|
||||||
|
if (fbuf->vbuf_alloced == NULL)
|
||||||
{
|
{
|
||||||
fbuf->vbuf_alloced
|
return -ENOMEM;
|
||||||
= (vbuf_container_t *)kmm_malloc(sizeof(vbuf_container_t)*sz);
|
|
||||||
if (fbuf->vbuf_alloced == NULL)
|
|
||||||
{
|
|
||||||
return -ENOMEM;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fbuf->container_size = sz;
|
fbuf->container_size = sz;
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup_container(fbuf);
|
cleanup_container(fbuf);
|
||||||
|
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user