lavfi/frei0r: allow for Windows style paths

Update path handling against the latest Frei0r specification changes.

Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
This commit is contained in:
rogerdpack 2012-10-10 17:28:55 -06:00 committed by Stefano Sabatini
parent 7691860c73
commit c1804dc4ce
3 changed files with 12 additions and 6 deletions

View File

@ -2213,10 +2213,11 @@ The filter supports the syntax:
@var{filter_name} is the name to the frei0r effect to load. If the @var{filter_name} is the name to the frei0r effect to load. If the
environment variable @env{FREI0R_PATH} is defined, the frei0r effect environment variable @env{FREI0R_PATH} is defined, the frei0r effect
is searched in each one of the directories specified by the colon is searched in each one of the directories specified by the colon (or
separated list in @env{FREIOR_PATH}, otherwise in the standard frei0r semicolon on Windows platforms) separated list in @env{FREIOR_PATH},
paths, which are in this order: @file{HOME/.frei0r-1/lib/}, otherwise in the standard frei0r paths, which are in this order:
@file{/usr/local/lib/frei0r-1/}, @file{/usr/lib/frei0r-1/}. @file{HOME/.frei0r-1/lib/}, @file{/usr/local/lib/frei0r-1/},
@file{/usr/lib/frei0r-1/}.
@var{param1}, @var{param2}, ... , @var{paramN} specify the parameters @var{param1}, @var{param2}, ... , @var{paramN} specify the parameters
for the frei0r effect. for the frei0r effect.

View File

@ -30,7 +30,7 @@
#define LIBAVFILTER_VERSION_MAJOR 3 #define LIBAVFILTER_VERSION_MAJOR 3
#define LIBAVFILTER_VERSION_MINOR 20 #define LIBAVFILTER_VERSION_MINOR 20
#define LIBAVFILTER_VERSION_MICRO 108 #define LIBAVFILTER_VERSION_MICRO 109
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
LIBAVFILTER_VERSION_MINOR, \ LIBAVFILTER_VERSION_MINOR, \

View File

@ -224,8 +224,13 @@ static av_cold int frei0r_init(AVFilterContext *ctx,
/* see: http://frei0r.dyne.org/codedoc/html/group__pluglocations.html */ /* see: http://frei0r.dyne.org/codedoc/html/group__pluglocations.html */
if ((path = av_strdup(getenv("FREI0R_PATH")))) { if ((path = av_strdup(getenv("FREI0R_PATH")))) {
#ifdef _WIN32
const char *separator = ";";
#else
const char *separator = ":";
#endif
char *p, *ptr = NULL; char *p, *ptr = NULL;
for (p = path; p = av_strtok(p, ":", &ptr); p = NULL) for (p = path; p = av_strtok(p, separator, &ptr); p = NULL)
if (frei0r->dl_handle = load_path(ctx, p, dl_name)) if (frei0r->dl_handle = load_path(ctx, p, dl_name))
break; break;
av_free(path); av_free(path);