trying to compile a program against ffmpeg, I encountered that there seem to be two versions of that package installed in parallel:
$ pacman -Qs ffmpeg
local/ffmpeg 2:5.0-7
Complete solution to record, convert and stream audio and video
local/ffmpeg4.4 4.4.1-5
Complete solution to record, convert and stream audio and video
I am just wondering why there seem to be no conflicts at that point.
But when I want to compile a program written for ffmpeg 4.4, how do I direct the build process to use that package instead of 5.0?
Example: I wanted to compile chromium against the system ffmpeg. However, it seems that it is using the 5.0 includes by default, resulting in errors like
error: no member named 'channel_layout' in 'AVFrame'
This is because of a recent change, channel_layout is deprecated and was replaced by ch_layout. Unfortunately, they are of different types (while channel_layout was uint64, ch_layout is a more complex struct).