[FFmpeg-devel] frei0r patches

Roger Pack rogerdpack2 at gmail.com
Fri Oct 12 15:33:04 CEST 2012


>> based on  http://piksel.org/frei0r/1.2/spec/1.2/spec/group__pluglocations.html
>
> From the linked document:
>
> |FREI0R_PATH Environment Variable
>
> |If the environment variable FREI0R_PATH is defined, then it shall be
> |considered a colon separated list of directories which replaces the
> |default list.  For example:
> |
> |FREI0R_PATH=/home/foo/frei0r-plugins:/usr/lib/frei0r-1:/etc/frei0r
>
> BTW, the new site location should be:
> http://frei0r.dyne.org/
>
> but it has apparently some problems (and there is no reference to
> frei0r API 1.2).

What problems does it have?  I am in touch with them I could forward
one the message :)

> So the question is, how ":"/";" makes any difference?

basically, since FREI0R_PATH

looks like this

/home/foo/frei0r-plugins:/usr/lib/frei0r-1:/etc/frei0r
with the current code, ex looking for the "blur" filter, it searches
for a file named
/home/foo/frei0r-pluginsblur.so

or its equivalent in windows.  So that's what patch 2 tries to fix.

Also, in windows, FREI0R_PATH might contain full paths, like C:\some\where

so, basically, you can't use a delimiter of a colon, as it conflicts
with the drive letter.  So you must use something else (java uses a
';' in windows, the windows PATH environment variable uses a ';' so I
assume it's a standard, though the linked to file only mentions rules
for linux, so it's not explicitly stated anywhere).


>> +        for (p = path; p = av_strtok(p, separator, &ptr); p = NULL) {
>> +            char with_trailing_slash[1024];
>> +            snprintf(with_trailing_slash, sizeof(with_trailing_slash), "%s/", p);
>
> If path is long >=1024 chars, then the path is cut (you should rather
> av_strdup).

The "load_file" method was already truncating at 1024, so I assumed it
was expected.  Maybe they could both be fixed in a separate
commit...or I could do it now if you prefer.

-roger-


More information about the ffmpeg-devel mailing list