aboutsummaryrefslogtreecommitdiffstats
path: root/vhook
diff options
context:
space:
mode:
authorPhilip Gladstone <philipjsg@users.sourceforge.net>2002-11-30 17:17:58 +0000
committerPhilip Gladstone <philipjsg@users.sourceforge.net>2002-11-30 17:17:58 +0000
commit6c11d48cabf127d254620a110e1deaa952b7f8f7 (patch)
treea747ddcea7d13a5d7e37456725bf73e2701e9c0f /vhook
parent042f24652e09afe9bc7d865fa0af29855ea9dae9 (diff)
downloadffmpeg-6c11d48cabf127d254620a110e1deaa952b7f8f7.tar.gz
Added a release function to free up the context. Also removed the dummy
declarations at the bottom of the file. This type checking is now handled by the header file. Originally committed as revision 1295 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'vhook')
-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;