Skip to content

avfilter has a dependency on postproc which is gone in ffmpeg 8.0 #334

@iejeecee

Description

@iejeecee

In FFmpeg.AutoGen.Bindings.DynamicallyLoaded.FunctionResolverBase there is this dictionary

    public static readonly Dictionary<string, string[]> LibraryDependenciesMap =
        new()
        {
            { "avcodec", new[] { "avutil", "swresample" } },
            { "avdevice", new[] { "avcodec", "avfilter", "avformat", "avutil" } },
            { "avfilter", new[] { "avcodec", "avformat", "avutil", "postproc", "swresample", "swscale" } },
            { "avformat", new[] { "avcodec", "avutil" } },
            { "avutil", new string[0] },
            { "postproc", new[] { "avutil" } },
            { "swresample", new[] { "avutil" } },
            { "swscale", new[] { "avutil" } }
        };

Whenever you use a ffmpeg function that requires loading avfilter.dll you will get a exception because it depends on postproc.dll, which is not in ffmpeg 8.0 anymore, as it has become obsolete or depreciated (I think).

E.g. you can make the FFmpeg.AutoGen.Example crash by adding a call to ffmpeg.avdevice_register_all() for example.

Removing "postproc" as a dependency for avfilter from the dictionary will probably fix it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions