diff --git a/ffmpeg.c b/ffmpeg.c index 9defc3cf3b..2e76f384ea 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -2667,5 +2667,6 @@ int main(int argc, char **argv) for(i=0;i last_static) + array_static = realloc(array_static, l); + array_static[last_static++] = (char**) location; + *location = ptr; + } + return ptr; +} +/* free all static arrays and reset pointers to 0 */ +void av_free_static() +{ + if (array_static) + { + unsigned i; + for (i = 0; i < last_static; i++) + { + free(*array_static[i]); + *array_static[i] = NULL; + } + free(array_static); + array_static = 0; + } + last_static = 0; +} + /* cannot call it directly because of 'void **' casting is not automatic */ void __av_freep(void **ptr) {