After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 694937 - Allow compiling libav with ffmpeg
Allow compiling libav with ffmpeg
Status: RESOLVED WONTFIX
Product: GStreamer
Classification: Platform
Component: gst-libav
git master
Other All
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-03-01 15:17 UTC by Dirk Van Haerenborgh
Modified: 2013-07-24 17:11 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
add ffmpeg as gst-libs module (8.47 KB, patch)
2013-03-01 15:17 UTC, Dirk Van Haerenborgh
none Details | Review
support ffmpeg, but fetch ondemand (9.98 KB, patch)
2013-03-27 11:23 UTC, Dirk Van Haerenborgh
rejected Details | Review

Description Dirk Van Haerenborgh 2013-03-01 15:17:16 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'
Comment 1 Tim-Philipp Müller 2013-03-01 15:24:05 UTC
I'm not particularly keen on supporting that, even less for the reason you provide.
Comment 2 Dirk Van Haerenborgh 2013-03-01 15:37:58 UTC
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.
Comment 3 Olivier Crête 2013-03-25 22:16:11 UTC
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 ?
Comment 4 Dirk Van Haerenborgh 2013-03-27 11:23:58 UTC
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.
Comment 5 Tristan Matthews 2013-04-12 15:27:30 UTC
(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.
Comment 6 Edward Hervey 2013-07-23 12:26:30 UTC
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.
Comment 7 Tristan Matthews 2013-07-24 15:33:30 UTC
(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.
Comment 8 Edward Hervey 2013-07-24 15:42:08 UTC
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.
Comment 9 Tristan Matthews 2013-07-24 17:11:24 UTC
(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.