Browse Source

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
tags/v0.5
Philip Gladstone 22 years ago
parent
commit
6c11d48cab
3 changed files with 26 additions and 9 deletions
  1. +5
    -3
      vhook/fish.c
  2. +13
    -3
      vhook/imlib2.c
  3. +8
    -3
      vhook/null.c

+ 5
- 3
vhook/fish.c View File

@@ -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;

+ 13
- 3
vhook/imlib2.c View File

@@ -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;

+ 8
- 3
vhook/null.c View File

@@ -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;

Loading…
Cancel
Save