GNOME Bugzilla – Bug 654037
gst-ffmpeg enables GPL parts in ffmpeg/libav
Last modified: 2011-10-05 08:25:11 UTC
Created attachment 191353 [details] [review] Patch fixing the issue When building gst-ffmpeg, the built bundled ffmpeg is built with --enable-gpl with no option for disabling this. The attached patch adds an --enable-lgpl configure option, which removes --enable-gpl --enable-postproc from the configure line of the embedded ffmpeg/libav, and disables building the libpostproc subdirectory.
*** This bug has been marked as a duplicate of bug 532779 ***
Review of attachment 191353 [details] [review]: In addition to the comment about LGPL, this patch should also check dynamically how libav (whether included or system-wide) was built in order to modify the license field of the plugin details. It's a bit late to include this one in the release ::: configure.ac @@ +207,3 @@ +AC_ARG_ENABLE(lgpl, + [AC_HELP_STRING([--enable-lgpl], [build a LGPL licensed gst-ffmpeg])]) +AM_CONDITIONAL(LGPL, test "x$enable_lgpl" = "xyes") LGPL is too generic of a name. Something like GST_FFMPEG_ENABLE_LGPL would be better.
(In reply to comment #2) > Review of attachment 191353 [details] [review]: > > In addition to the comment about LGPL, this patch should also check dynamically > how libav (whether included or system-wide) was built in order to modify the > license field of the plugin details. Do you mean dynamically as in runtime, via e.g. avcodec_license()? As far as I can see, the license is compiled in into the binary by GST_PLUGIN_DEFINE() - how would I update this from e.g. the plugin_init function? (This can't be decided at compile time, since iirc the ffmpeg headers don't provide info about how it was configured - unless we just pass an extra define if --enable-gpl was used.) > It's a bit late to include this one in the release No problem, as long as it gets fixed eventually. > ::: configure.ac > @@ +207,3 @@ > +AC_ARG_ENABLE(lgpl, > + [AC_HELP_STRING([--enable-lgpl], [build a LGPL licensed > gst-ffmpeg])]) > +AM_CONDITIONAL(LGPL, test "x$enable_lgpl" = "xyes") > > LGPL is too generic of a name. Something like GST_FFMPEG_ENABLE_LGPL would be > better. Changed into GST_FFMPEG_ENABLE_LGPL locally, I'll resend it later.
Created attachment 198312 [details] [review] Updated patch Updated the patch according to the comments. Since it doesn't seem to be possible to change what license the plugin advertises at runtime, I changed it to be hardcoded depending on what configure flags were used at build time, which seems to be the most that can be done at the moment.