diff --git a/vhook/fish.c b/vhook/fish.c index 86ae1a474b..2de265feb1 100644 --- a/vhook/fish.c +++ b/vhook/fish.c @@ -82,6 +82,11 @@ static void dorange(const char *s, int *first, int *second, int maxval) *second = maxval; } +void Release(void *ctx) +{ + if (ctx) + av_free(ctx); +} int Configure(void **ctxp, int argc, char *argv[]) { @@ -325,6 +330,3 @@ void Process(void *ctx, AVPicture *picture, enum PixelFormat pix_fmt, int width, } } -/* To ensure correct typing */ -FrameHookConfigureFn ConfigureFn = Configure; -FrameHookProcessFn ProcessFn = Process; diff --git a/vhook/imlib2.c b/vhook/imlib2.c index fcc09e17f3..576b45d004 100644 --- a/vhook/imlib2.c +++ b/vhook/imlib2.c @@ -72,6 +72,19 @@ typedef struct _CachedImage { int height; } CachedImage; +void Release(void *ctx) +{ + ContextInfo *ci; + ci = (ContextInfo *) ctx; + + if (ci->cache) { + imlib_context_set_image(ci->cache->image); + imlib_free_image(); + av_free(ci->cache); + } + if (ctx) + av_free(ctx); +} int Configure(void **ctxp, int argc, char *argv[]) { @@ -261,6 +274,3 @@ done: ; } -/* To ensure correct typing */ -FrameHookConfigureFn ConfigureFn = Configure; -FrameHookProcessFn ProcessFn = Process; diff --git a/vhook/null.c b/vhook/null.c index 1fcb04b1c6..da35d6e845 100644 --- a/vhook/null.c +++ b/vhook/null.c @@ -24,6 +24,14 @@ typedef struct { int dummy; } ContextInfo; +void Release(void *ctx) +{ + ContextInfo *ci; + ci = (ContextInfo *) ctx; + + if (ctx) + av_free(ctx); +} int Configure(void **ctxp, int argc, char *argv[]) { @@ -68,6 +76,3 @@ void Process(void *ctx, AVPicture *picture, enum PixelFormat pix_fmt, int width, av_free(buf); } -/* To ensure correct typing */ -FrameHookConfigureFn ConfigureFn = Configure; -FrameHookProcessFn ProcessFn = Process;