[vlc-devel] [PATCH v2 06/14] picture: allow NULL gc callback
Steve Lhomme
robux4 at ycbcr.xyz
Fri Aug 14 14:01:41 CEST 2020
No need to use a dummy one if we don't have to.
---
src/misc/picture.c | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/src/misc/picture.c b/src/misc/picture.c
index 92e5087f648..8d3d4f80be4 100644
--- a/src/misc/picture.c
+++ b/src/misc/picture.c
@@ -51,15 +51,6 @@ static void PictureDestroyContext( picture_t *p_picture )
}
}
-/**
- * Destroys a picture allocated by picture_NewFromResource() but without
- * a custom destruction callback.
- */
-static void picture_DestroyDummy( picture_t *p_picture )
-{
- (void) p_picture;
-}
-
/**
* Destroys a picture allocated with picture_NewFromFormat().
*/
@@ -226,7 +217,7 @@ picture_t *picture_NewFromResource( const video_format_t *p_fmt, const picture_r
}
priv->gc = (picture_gc_t) {
- p_resource->pf_destroy ? p_resource->pf_destroy : picture_DestroyDummy,
+ p_resource->pf_destroy,
p_resource->p_sys,
};
@@ -271,7 +262,7 @@ picture_t *picture_NewFromFormat(const video_format_t *restrict fmt)
if (pic->i_planes == 0) {
pic->p_sys = NULL;
// we allocated a picture_priv_buffer_t for nothing
- priv->gc = (picture_gc_t) { picture_DestroyDummy, NULL };
+ priv->gc = (picture_gc_t) { NULL, NULL };
return pic;
}
@@ -340,8 +331,8 @@ void picture_Destroy(picture_t *picture)
PictureDestroyContext(picture);
picture_priv_t *priv = container_of(picture, picture_priv_t, picture);
- assert(priv->gc.destroy != NULL);
- priv->gc.destroy(picture);
+ if (priv->gc.destroy != NULL)
+ priv->gc.destroy(picture);
free(priv);
}
--
2.26.2
More information about the vlc-devel
mailing list