ffmpeg library loading logic needs to be updated

Using Audacity 2.0.6 on Windows 7 SP1 x64. Wasted a lot of time trying to get it to accept ffmpeg-2.5.2-win32-shared package containing avformat-56.dll. I could browse to the DLL, select it, and click OK, but the message in the window remained “FFmpeg not found”.

Finally I tried an older version, 2.2.3 which apparently has avformat-55.dll and that worked. It appears someone hardcoded library version 55 into the logic which I believe is a mistake. Typically when a version of ffmpeg is specified by dependent software, it should be a minimum version, not the only acceptable version, because libraries such as these normally have API backware compatibility, at least within major versions.

Even if a decision was made not to allow this newer version, we should be presented with an error dialog like, “Found ffmpeg library too new. Ignoring” or something.

If you read http://manual.audacityteam.org/o/man/faq_installation_and_plug_ins.html#ffdown you can see that the supported FFmpeg version is 2.2.2.

I know that 2.2.3 should also work and the Manual for the next release of Audacity (2.1.0) will say that.

Any version of FFmpeg is accepted for export if you choose (external program) for command-line export. Dynamic library loading of FFmpeg in Audacity is constrained by changes in FFmpeg, which routinely break such loading.

If you compile Audacity from source code then you can try the attached patch which I understand allows Audacity to accept dynamic loading of FFmpeg 2.4 and may allow FFmpeg 2.5. Please let us know if you try it. As the patch refers to avutil53 I assume it could break compatibility with earlier FFmpeg if applied as is.

FFmpeg 2.4 for Audacity.patch (886 Bytes)