diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 1b2cd21645..f2a8ae0001 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -143,6 +143,17 @@ void av_free_static(void) av_freep(&array_static); } +/** + * Call av_free_static automatically before it's too late + */ + +static void do_free() __attribute__ ((destructor)); + +static void do_free() +{ + av_free_static(); +} + /** * Frees memory and sets the pointer to NULL. * @param arg pointer to the pointer which should be freed