use av_strdup()
[ffmpeg.git] / vhook / imlib2.c
index 3e11d9c..64b1bae 100644 (file)
@@ -45,7 +45,6 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <fcntl.h>
-#include <getopt.h>
 #include <stdarg.h>
 #include <string.h>
 #include <unistd.h>
@@ -73,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[])
 {
@@ -100,10 +112,10 @@ int Configure(void **ctxp, int argc, char *argv[])
                 font = optarg;
                 break;
             case 't':
-                ci->text = strdup(optarg);
+                ci->text = av_strdup(optarg);
                 break;
             case 'f':
-                ci->file = strdup(optarg);
+                ci->file = av_strdup(optarg);
                 break;
             case 'x':
                 ci->x = atoi(optarg);
@@ -198,9 +210,9 @@ void Process(void *ctx, AVPicture *picture, enum PixelFormat pix_fmt, int width,
     imlib_context_set_image(image);
     data = imlib_image_get_data();
 
-    if (pix_fmt != PIX_FMT_BGRA32) {
-        avpicture_fill(&picture1, (UINT8 *) data, PIX_FMT_BGRA32, width, height);
-        if (img_convert(&picture1, PIX_FMT_BGRA32, 
+    if (pix_fmt != PIX_FMT_RGBA32) {
+        avpicture_fill(&picture1, (UINT8 *) data, PIX_FMT_RGBA32, width, height);
+        if (img_convert(&picture1, PIX_FMT_RGBA32, 
                         picture, pix_fmt, width, height) < 0) {
             goto done;
         }
@@ -252,9 +264,9 @@ void Process(void *ctx, AVPicture *picture, enum PixelFormat pix_fmt, int width,
         }
     }
 
-    if (pix_fmt != PIX_FMT_BGRA32) {
+    if (pix_fmt != PIX_FMT_RGBA32) {
         if (img_convert(picture, pix_fmt, 
-                        &picture1, PIX_FMT_BGRA32, width, height) < 0) {
+                        &picture1, PIX_FMT_RGBA32, width, height) < 0) {
         }
     }
 
@@ -262,6 +274,3 @@ done:
     ;
 }
 
-/* To ensure correct typing */
-FrameHookConfigureFn ConfigureFn = Configure;
-FrameHookProcessFn ProcessFn = Process;