[SCM] libav/experimental: vf_frei0r: refactor library loading from env variable

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Aug 10 16:01:47 UTC 2014


The following commit has been merged in the experimental branch:
commit 61b323ce7c7cdc101eadfd7de2203922b8a39e8d
Author: Vittorio Giovara <vittorio.giovara at gmail.com>
Date:   Thu Feb 27 12:29:37 2014 +0100

    vf_frei0r: refactor library loading from env variable
    
    strtok_r is not needed any more, so remove it from configure.

diff --git a/configure b/configure
index b143335..1954c54 100755
--- a/configure
+++ b/configure
@@ -1410,7 +1410,6 @@ HAVE_LIST="
     soundcard_h
     strerror_r
     strptime
-    strtok_r
     struct_addrinfo
     struct_group_source_req
     struct_ip_mreq_source
@@ -2018,9 +2017,9 @@ boxblur_filter_deps="gpl"
 cropdetect_filter_deps="gpl"
 delogo_filter_deps="gpl"
 drawtext_filter_deps="libfreetype"
-frei0r_filter_deps="frei0r dlopen strtok_r"
+frei0r_filter_deps="frei0r dlopen"
 frei0r_filter_extralibs='$ldl'
-frei0r_src_filter_deps="frei0r dlopen strtok_r"
+frei0r_src_filter_deps="frei0r dlopen"
 frei0r_src_filter_extralibs='$ldl'
 hqdn3d_filter_deps="gpl"
 interlace_filter_deps="gpl"
@@ -3855,7 +3854,6 @@ check_func_headers malloc.h _aligned_malloc     && enable aligned_malloc
 check_func  setrlimit
 check_func  strerror_r
 check_func  strptime
-check_func  strtok_r
 check_func  sched_getaffinity
 check_builtin sync_val_compare_and_swap "" "int *ptr; int oldval, newval; __sync_val_compare_and_swap(ptr, oldval, newval)"
 check_builtin machine_rw_barrier mbarrier.h "__machine_rw_barrier()"
diff --git a/libavfilter/vf_frei0r.c b/libavfilter/vf_frei0r.c
index fde6e1a..c969967 100644
--- a/libavfilter/vf_frei0r.c
+++ b/libavfilter/vf_frei0r.c
@@ -232,12 +232,18 @@ static av_cold int frei0r_init(AVFilterContext *ctx,
     }
 
     /* see: http://piksel.org/frei0r/1.2/spec/1.2/spec/group__pluglocations.html */
-    if ((path = av_strdup(getenv("FREI0R_PATH")))) {
-        char *p, *ptr = NULL;
-        for (p = path; p = strtok_r(p, ":", &ptr); p = NULL)
-            if (s->dl_handle = load_path(ctx, p, dl_name))
-                break;
-        av_free(path);
+    if (path = getenv("FREI0R_PATH")) {
+        while(*path) {
+            char *ptr = av_get_token((const char **)&path, ":");
+            if (!ptr)
+                return AVERROR(ENOMEM);
+            s->dl_handle = load_path(ctx, ptr, dl_name);
+            av_freep(&ptr);
+            if (s->dl_handle)
+                break;              /* found */
+            if (*path)
+                path++              /* skip ':' */
+        }
     }
     if (!s->dl_handle && (path = getenv("HOME"))) {
         char prefix[1024];

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list