]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/framehook.c
simplify
[ffmpeg] / libavformat / framehook.c
index c85296160bf53d25aa7aa0cf1d1aad8af36c40d6..494b30b5b14b99e8082b843280e602482fc94303 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Video processing hooks
- * Copyright (c) 2000, 2001 Fabrice Bellard.
+ * Copyright (c) 2000, 2001 Fabrice Bellard
  *
  * This file is part of FFmpeg.
  *
 #include "avformat.h"
 #include "framehook.h"
 
-#ifdef CONFIG_HAVE_DLFCN
+#if HAVE_DLFCN_H
 #include <dlfcn.h>
 #endif
 
 
-typedef struct _FrameHookEntry {
-    struct _FrameHookEntry *next;
+typedef struct FrameHookEntry {
+    struct FrameHookEntry *next;
     FrameHookConfigureFn Configure;
     FrameHookProcessFn Process;
     FrameHookReleaseFn Release;
@@ -41,7 +41,6 @@ static FrameHookEntry *first_hook;
 /* Returns 0 on OK */
 int frame_hook_add(int argc, char *argv[])
 {
-#ifdef CONFIG_VHOOK
     void *loaded;
     FrameHookEntry *fhe, **fhep;
 
@@ -57,7 +56,7 @@ int frame_hook_add(int argc, char *argv[])
 
     fhe = av_mallocz(sizeof(*fhe));
     if (!fhe) {
-        return errno;
+        return AVERROR(ENOMEM);
     }
 
     fhe->Configure = dlsym(loaded, "Configure");
@@ -66,18 +65,18 @@ int frame_hook_add(int argc, char *argv[])
 
     if (!fhe->Process) {
         av_log(NULL, AV_LOG_ERROR, "Failed to find Process entrypoint in %s\n", argv[0]);
-        return -1;
+        return AVERROR(ENOENT);
     }
 
     if (!fhe->Configure && argc > 1) {
         av_log(NULL, AV_LOG_ERROR, "Failed to find Configure entrypoint in %s\n", argv[0]);
-        return -1;
+        return AVERROR(ENOENT);
     }
 
     if (argc > 1 || fhe->Configure) {
         if (fhe->Configure(&fhe->ctx, argc, argv)) {
             av_log(NULL, AV_LOG_ERROR, "Failed to Configure %s\n", argv[0]);
-            return -1;
+            return AVERROR(EINVAL);
         }
     }
 
@@ -87,17 +86,12 @@ int frame_hook_add(int argc, char *argv[])
     *fhep = fhe;
 
     return 0;
-#else
-    av_log(NULL, AV_LOG_ERROR, "Video hooking not compiled into this version\n");
-    return 1;
-#endif
 }
 
-void frame_hook_process(AVPicture *pict, enum PixelFormat pix_fmt, int width, int height)
+void frame_hook_process(AVPicture *pict, enum PixelFormat pix_fmt, int width, int height, int64_t pts)
 {
     if (first_hook) {
         FrameHookEntry *fhe;
-        int64_t pts = av_gettime();
 
         for (fhe = first_hook; fhe; fhe = fhe->next) {
             fhe->Process(fhe->ctx, pict, pix_fmt, width, height, pts);