I tried to do some research around this. These two commits should explain the reason of the breakage:
https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/afeefb306e89b3ea3eb8ac8227996dc79589b669
https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/f4098bbc3b10926f618cf89e24780c9e6ae9b8b5
The patch in this wine causing the issue is:
063a29bc8ba05a97152b2f9a97ad7ab12007e1e7
For now simply reverting it probably the best solution.
Instead of reverting, you can also build from the release/4.4 branch to a dedicated location and add e.g. FFMPEG_CFLAGS="-I/usr/include/ffmpeg4.4" FFMPEG_LIBS="-L/usr/lib/ffmpeg4.4 -lavcodec -lavformat -lavutil" to the configure arguments (change libdir for 32-bit). Then make sure the library is accessible at runtime by copying the libavcodec.so.58 etc. symlinks to /usr/lib (or equivalent system libdir) or using LD_LIBRARY_PATH/rpath.
I don't think this is something that will be fixed any time soon, they are choosing to use an old ffmpeg submodule (which probably requires using a similarly old gstreamer to build gst-libav) for Proton builds and probably do not see a reason to update it.
Sure of course one can also build against FFmpeg 4.4. howeer I wanted to
avoid the resulting dependency changes in my packing. Simply reverting
patch was easier.
FWIW this Wine version is absolutely untested when it comes to building outside the Proton SDK container using Proton build scripts. It's also not something we have resources to actively support.
The offending file libavcodec/pcm_byte_order_reverse_bsf.c is a purely downstream change and probably will have to be redone if we ever have to compile against a newer version.
Currently we are bound to an "old" ffmpeg version that is provided with Steam.
Arek Hiler @.***> writes:
FWIW this Wine version is absolutely untested when it comes to
building outside the Proton SDK container using Proton build
scripts. It's also not something we have resources to actively
support.
No problem. I don't think the bug report was asking for support but just
reporting the bug.
Maybe the information provided can help to port this downstrem change to
newer FFmpeg when you will update the component.
Nothing extracted yet.