GNOME Bugzilla – Bug 694937
Allow compiling libav with ffmpeg
Last modified: 2013-07-24 17:11:24 UTC
Created attachment 237716 [details] [review] add ffmpeg as gst-libs module Since the huffyuv encoder of libav has bugs that are already solved in ffmpeg, a possible solution is to let gst-libav use ffmpeg instead of libav. The attached patch adds ffmpeg as a git submodule, and allows gst-libav to compile against ffmpeg when autogen is called with '--with-ffmpeg'
I'm not particularly keen on supporting that, even less for the reason you provide.
It does not have to be supported, I suppose? Since using a system wide libav installation is not supported either, what about even bigger warnings when opting to use ffmpeg? Having two near identical projects with both having different bugs, an option to choose between them would (to me) be a win, even if it is not officially supported.
You probably shouldn't add a git submodule for ffmpeg unconditionally, it will force everyone to download both. Maybe it makes sense to only allow compiling against an already installed version of ffmpeg ? Or to have some script/makefile to fetch a private ffmpeg on demand ?
Created attachment 239944 [details] [review] support ffmpeg, but fetch ondemand Adding ffmpeg as a submodule was indeed a bad idea. This patch will only fetch it when --with-fmpeg is specified, with a big warning message.
(In reply to comment #4) > Created an attachment (id=239944) [details] [review] > support ffmpeg, but fetch ondemand > > Adding ffmpeg as a submodule was indeed a bad idea. This patch will only fetch > it when --with-fmpeg is specified, with a big warning message. Aside from the trailing whitespace errors in the patch, I would definitely like to see this applied. I've tested and it works as expected.
This bug doesn't make much sense. You can already compile against ffmpeg just by using ... the system-wide libav* libraries (yes, they are named libavformat/libavcodec/libavutils ... but are provided by both ffmpeg AND libav). Just use --with-system-libav . Closing bug.
(In reply to comment #6) > This bug doesn't make much sense. > > You can already compile against ffmpeg just by using ... the system-wide > libav* libraries (yes, they are named libavformat/libavcodec/libavutils ... but > are provided by both ffmpeg AND libav). > > Just use --with-system-libav . Closing bug. The distinction is that this patch allows you to clone an ffmpeg repo specifically for gstreamer, specifically this part: git clone -b release/1.2 git://source.ffmpeg.org/ffmpeg.git rather than wiping out your existing system install, unless I'm missing something. This is useful for finding regressions between libav and ffmpeg, IMHO.
You can build/install libav/ffmpeg to any directory you want and then use PKG_CONFIG_PATH to pick the one you want when configure gst-libav.
(In reply to comment #8) > You can build/install libav/ffmpeg to any directory you want and then use > PKG_CONFIG_PATH to pick the one you want when configure gst-libav. Ah...good to know.