summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vhook/fish.c8
-rw-r--r--vhook/imlib2.c16
-rw-r--r--vhook/null.c11
3 files changed, 26 insertions, 9 deletions
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;